$name = $params["self"]["name"]; $region = $params["self"]["region"]; $actor = \GameObject\Model\GameObjectModel::findByNameRegionGame($name, array($region)); if ($params["other"]) { $name = $params["other"]["name"]; $region = $params["other"]["region"]; $victim = \GameObject\Model\GameObjectModel::findByNameRegionGame($name, array($region)); } $action = $params["action"]; $result = \GameObject\Controller\GameObjectController::act($actor, $victim, $action); if ($result["success"]) { sendResponse(["result" => $result, "self" => $actor->read(), "other" => $victim ? $victim->read() : "{}"]); } else { sendResponse($result); } } } else { if ($_SERVER["REQUEST_METHOD"] == "PUT") { _log("\t" . json_encode($params)); $name = $params["name"]; $region = $params["region"]; $obj = \GameObject\Model\GameObjectModel::findByNameRegionGame($name, array($region)); if ($obj) { sendResponse($obj->update($params)->read()); } else { $obj = \GameObject\Model\GameObjectModel::build($params); sendResponse($obj->save()->read()); } } } }