public static function getInstance()
 {
     if (!isset(self::$Instance)) {
         self::$Instance = new self();
     }
     return self::$Instance;
 }
 public function __construct($player_id)
 {
     PlayerData::getInstance()->setId($player_id);
     $this->name = PlayerData::getInstance()->getName();
     $this->paramaters = PlayerData::getInstance()->getParam();
     $this->hp = $this->paramaters['hp'];
     $this->atk = $this->paramaters['atk'];
     $this->def = $this->paramaters['def'];
     $this->mp = $this->paramaters['mp'];
     $this->actions = PlayerData::getInstance()->getAction();
 }
Esempio n. 3
0
 /**
  * 赋予经验值
  * @param $intExp
  * @return bool
  */
 public function appendExp($intExp)
 {
     // 取得用户数据实例
     $objPlayerData = PlayerData::find($this->id);
     // 总计经验值取得
     $intTotalExp = $objPlayerData->exp + $intExp;
     // 新等级检索 TODO Index
     $objNewLevel = PlayerLevel::where('exp', '<=', $intTotalExp)->orderBy('level', 'DESC')->first();
     // 经验值赋予
     $objPlayerData->exp = $intTotalExp;
     // 是否升级
     $isLevelUp = false;
     // 是否升级
     if ($objNewLevel->level > $objPlayerData->level) {
         $objPlayerData->level = $objNewLevel->level;
         $isLevelUp = $objPlayerData->level;
     }
     // 保存 TODO Transaction
     if ($objPlayerData->save()) {
         return $isLevelUp;
     } else {
         return false;
     }
 }