Пример #1
0
 public static function build($assoc)
 {
     $model = parent::build($assoc);
     // Search for existing properties
     $request = new \Data\Request();
     $request->Filter[] = new \Data\Filter("object_id", $model->object_id);
     $props = GameObjectPropertyModel::find($request);
     $properties = array();
     foreach ($props as $property) {
         $properties[$property->property] = $property;
     }
     $model->properties = self::setProperties($model, $model->properties, $properties);
     // Search for existing ownerships
     $model->ownerships = GameObjectOwnershipModel::find($request);
     return $model;
 }
Пример #2
0
 public function own($action)
 {
     $this->check($this->victim, "victim");
     $request = new \Data\Request();
     $request->Filter[] = new \Data\Filter("subject_id", $this->victim->object_id);
     $ownership = \GameObject\Model\GameObjectOwnershipModel::findOne($request);
     if ($ownership) {
         if ($ownership->object_id === $this->actor->object_id) {
             return ["success" => true];
         } else {
             return ["success" => false, "error" => "Object is already owned"];
         }
     } else {
         $ownership = \GameObject\Model\GameObjectOwnershipModel::build(["object_id" => $this->actor->object_id, "subject_id" => $this->victim->object_id]);
         $ownership->save();
         return ["success" => true];
     }
 }