|
@@ -76,48 +76,36 @@ class HeroProc {
|
|
|
// <editor-fold defaultstate="collapsed" desc="技能升级与解锁">
|
|
|
|
|
|
/**
|
|
|
- * [6324] 英雄技能解锁
|
|
|
+ * [6324] 英雄技能解锁
|
|
|
+ * @version 2020.1.13 至今未进行对接, 再次整理版
|
|
|
+ * 2019.12.10 加班弄完第一版
|
|
|
* @param req $req
|
|
|
*/
|
|
|
static function UnlockSkill($req) {
|
|
|
- $user = $req->userInfo->game; # user引用
|
|
|
- $huid = $req->paras[0]; # 英雄的UID
|
|
|
- $mainSkillId = $req->paras[1]; # 主技能Id
|
|
|
- $subSkillId = $req->paras[2]; # 要升级的子技能ID
|
|
|
-// $costGold = $req->paras[3]; # 要升级的消耗金币
|
|
|
-# # 1.检查是否存在要解锁的英雄
|
|
|
- $collectHeros = $user->heros->collectHeros;
|
|
|
- if (!$collectHeros) {
|
|
|
- $collectHeros = ObjectInit();
|
|
|
- }
|
|
|
- if (!CommUtil::isPropertyExists($collectHeros, $huid)) {
|
|
|
- return Resp::err(ErrCode::hero_no);
|
|
|
- }
|
|
|
-# # 2.判断英雄的该技能能否升级....
|
|
|
-// isEditor() and $targetHero = new UserHeroModel();
|
|
|
- $targetHero = new UserHeroModel($collectHeros->$huid);
|
|
|
-# # 取出这个英雄的技能数据
|
|
|
- $targteHeroSkills = $targetHero->subSkills;
|
|
|
- if (!CommUtil::isPropertyExists($targteHeroSkills, $mainSkillId)) { # 主技能Id.
|
|
|
- return Resp::err(ErrCode::err_unknownn, "玩家数据结构问题");
|
|
|
- }
|
|
|
- if (CommUtil::isInArray($targteHeroSkills->$mainSkillId, $subSkillId)) { # 子技能已经解锁
|
|
|
- return Resp::err(ErrCode::err_unknownn, "子技能已解锁");
|
|
|
- }
|
|
|
+ list($huid, $mainSkillId, $subSkillId) = $req->paras; # 提取参数: 英雄的UID, 主技能Id, 要升级的子技能ID
|
|
|
+
|
|
|
+ $user = $req->userInfo->game; # user引用
|
|
|
+ $cHeros = $user->heros->collectHeros;
|
|
|
+ if (!$cHeros) {
|
|
|
+ $cHeros = ObjectInit();
|
|
|
+ }
|
|
|
+ my_Assert(CommUtil::isPropertyExists($cHeros, $huid), ErrCode::hero_no); # 1.检查是否存在要解锁的英雄
|
|
|
+# # 2.判断英雄的该技能能否升级....
|
|
|
+ $targetHero = new UserHeroModel($cHeros->$huid); # 直接类型识别
|
|
|
+ $targteHeroSkills = $targetHero->subSkills; # 取出这个英雄的技能数据
|
|
|
+ my_Assert(CommUtil::isPropertyExists($targteHeroSkills, $mainSkillId), "玩家数据存在问题");
|
|
|
+ my_Assert(!CommUtil::isInArray($targteHeroSkills->$mainSkillId, $subSkillId), "子技能已解锁"); # 子技能已经解锁
|
|
|
// if (!$targetHero->IsSkillUnlockAble($mainSkillId, $subSkillId)) { # 3.判断技能是否处于待解锁状态
|
|
|
// return Resp::err(ErrCode::hero_upgradeSkill_maxLevel);
|
|
|
// }
|
|
|
|
|
|
$sm = GameConfig::subSkill_getItem($subSkillId); # 4.取出该技能升级消耗的常量数据
|
|
|
- if (null == $sm) {
|
|
|
- return Resp::err(ErrCode::err_const_no, '找不到子技能配置数据');
|
|
|
- }
|
|
|
- if (!UserGameModel::Consume_Gold($user, $sm->unlockCost)) { # 5. 扣除金币消耗
|
|
|
- return Resp::err(ErrCode::notenough_gold_msg);
|
|
|
- }
|
|
|
+ my_Assert(null != $sm, ErrCode::err_const_no); # 找不到子技能配置数据
|
|
|
+ my_Assert(UserGameModel::Consume_Gold($user, $sm->unlockCost), # # 5. 扣除金币消耗
|
|
|
+ ErrCode::notenough_gold_msg);
|
|
|
array_push($targteHeroSkills->$mainSkillId, $subSkillId); # 添加技能
|
|
|
$targetHero->subSkills = $targteHeroSkills;
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok($targetHero);
|
|
|
}
|
|
|
|