*/ public $subSkills; /** * * @var object */ public $equip; /** * 当前主线的好感度进度 * @var object * @deprecated since version 0 */ public $curMainFavor; /** * 所有的已经拥有的好感度进度 * @var array * @deprecated since version 0 */ public $favors; /** * * 构造函数 */ public function __construct() { $this->level = 1; $this->xp = 0; $this->maxXp = 0; $this->strengthLevel = 0; $this->curBloodId = 0; $this->curStar = 0; $this->isLocked = false; $this->curMainFavor = 'E'; $this->favors = ArrayInit(); $this->favors[] = 'E'; $this->grade = "D"; //-----------初始化技能的默认数据 $temp = ObjectInit(); $temp->normalSkill = JsonUtil::decode('{"level":1}'); $temp->manuSkill1 = JsonUtil::decode('{"level":1}'); $temp->manuSkill2 = JsonUtil::decode('{"level":1}'); $temp->manuSkill3 = JsonUtil::decode('{"level":1}'); $temp->passiveSkill = JsonUtil::decode('{"level":1}'); $temp->captainSkill = JsonUtil::decode('{"level":1}'); $this->skills = $temp; $this->subSkills = ObjectInit(); //----初始化装备的默认数据 $this->equip = ObjectInit(); $tempEq = ObjectInit(); $tempEq->weapon = JsonUtil::decode('{"itemuid":0}'); $tempEq->armor = JsonUtil::decode('{"itemuid":0}'); $tempEq->ring = JsonUtil::decode('{"itemuid":0}'); $this->equip = $tempEq; } /** * 判断技能是否可升级 * @param type $mainSkillId * @param type $subSkillId Description * @return type */ public function IsSkillUpdateAble($mainSkillId, $subSkillId) { $sarr = array("D" => 1, "C" => 2, "B" => 3, "A" => 4, "S" => 5); $isOk = false; if (CommUtil::isPropertyExists($this->subSkills, $mainSkillId)) { if (CommUtil::isPropertyExists($this->subSkills->$mainSkillId, $subSkillId)) { $sm = GameConfig::subSkill_getItem($subSkillId); switch ($sm->upgradeConditionType) { case 1: // 角色等级 $isOk = $this->level >= int($sm->upgradeParameter); break; case 2: // 角色品阶 $cur = (array_key_exists($this->grade, $sarr) ? $sarr[$this->grade] : 0); $require = (array_key_exists($sm->upgradeParameter, $sarr) ? $sarr[$sm->upgradeParameter] : 0); $isOk = $cur >= $require; break; default: break; } } } return $isOk; } /** * 判断技能是否可解锁 * @param type $mainSkillId * @param type $subSkillId Description * @return type */ public function IsSkillUnlockAble($mainSkillId, $subSkillId) { $sarr = array("D" => 1, "C" => 2, "B" => 3, "A" => 4, "S" => 5); $isOk = false; if (CommUtil::isPropertyExists($this->subSkills, $mainSkillId)) { if (CommUtil::isPropertyExists($this->subSkills->$mainSkillId, $subSkillId)) { $sm = GameConfig::subSkill_getItem($subSkillId); switch ($sm->unlockConditionType) { case 1: // 角色等级 $isOk = $this->level >= int($sm->unlockParameter); break; case 2: // 角色品阶 $cur = (array_key_exists($this->grade, $sarr) ? $sarr[$this->grade] : 0); $require = (array_key_exists($sm->unlockParameter, $sarr) ? $sarr[$sm->unlockParameter] : 0); $isOk = $cur >= $require; break; default: break; } } } return $isOk; } }