|
@@ -86,9 +86,7 @@ class HeroProc {
|
|
|
|
|
|
$user = $req->userInfo->game; # user引用
|
|
|
$cHeros = $user->heros->collectHeros;
|
|
|
- if (!$cHeros) {
|
|
|
- $cHeros = ObjectInit();
|
|
|
- }
|
|
|
+ my_default_Obj($cHeros);
|
|
|
my_Assert(CommUtil::isPropertyExists($cHeros, $huid), ErrCode::hero_no); # 1.检查是否存在要解锁的英雄
|
|
|
# # 2.判断英雄的该技能能否升级....
|
|
|
$targetHero = new UserHeroModel($cHeros->$huid); # 直接类型识别
|
|
@@ -114,32 +112,17 @@ class HeroProc {
|
|
|
* @param req $req
|
|
|
*/
|
|
|
static function OnekeyUpgradeSkillLevel($req) {
|
|
|
- $user = $req->userInfo->game; # user引用
|
|
|
- $huid = $req->paras[0]; # 英雄的UID
|
|
|
- $mainSkillId = $req->paras[1]; # 主技能Id
|
|
|
- $subSkillId = $req->paras[2]; # 要升级的子技能ID
|
|
|
- $targetSubSkillId = $req->paras[3]; # 升级到的子技能Id
|
|
|
- $costGold = $req->paras[4]; # 要升级的消耗金币
|
|
|
-# # 1.检查是否存在要升级的英雄
|
|
|
+ list($huid, $mainSkillId, $subSkillId, $targetSubSkillId, $costGold) = $req->paras; # 提取参数: 英雄的UID, 主技能ID, 要升级的子技能ID, 升级到的子技能ID, 升级要消耗的金币
|
|
|
+
|
|
|
+ $user = $req->userInfo->game; # user引用#
|
|
|
$collectHeros = $user->heros->collectHeros;
|
|
|
- if (!$collectHeros) {
|
|
|
- $collectHeros = ObjectInit();
|
|
|
- }
|
|
|
- if (!CommUtil::isPropertyExists($collectHeros, $huid)) {
|
|
|
- return Resp::err(ErrCode::hero_no);
|
|
|
- }
|
|
|
+ my_default_Obj($collectHeros); # 防御变量为空
|
|
|
+ my_Assert(CommUtil::isPropertyExists($collectHeros, $huid), ErrCode::hero_no); # 1.检查是否存在要升级的英雄
|
|
|
# # 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, "子技能id错误");
|
|
|
- }
|
|
|
-
|
|
|
+ $targteHeroSkills = $targetHero->subSkills; # 取出这个英雄的技能数据
|
|
|
+ my_Assert(CommUtil::isPropertyExists($targteHeroSkills, $mainSkillId), "玩家数据结构有问题."); # 主技能Id.
|
|
|
+ my_Assert(CommUtil::isInArray($targteHeroSkills->$mainSkillId, $subSkillId), "子技能id错误"); # 子技能id
|
|
|
// if (!$targetHero->IsSkillUpdateAble($mainSkillId, $subSkillId)) { # 3.判断技能等级能否在继续升级了
|
|
|
// return Resp::err(ErrCode::hero_upgradeSkill_maxLevel);
|
|
|
// }
|
|
@@ -147,13 +130,11 @@ class HeroProc {
|
|
|
// if (null == $sm) {
|
|
|
// return \Resp::err(ErrCode::err_const_no, '找不到子技能配置数据');
|
|
|
// }
|
|
|
- if (!UserGameModel::Consume_Gold($user, $costGold)) { # 5. 扣除金币消耗
|
|
|
- return Resp::err(ErrCode::notenough_gold_msg);
|
|
|
- }
|
|
|
+ my_Assert(UserGameModel::Consume_Gold($user, $costGold), ErrCode::notenough_gold_msg); # 5. 扣除金币消耗
|
|
|
unset($targteHeroSkills->$mainSkillId, $subSkillId); # 替换技能
|
|
|
array_push($targteHeroSkills->$mainSkillId, $targetSubSkillId);
|
|
|
$targetHero->subSkills = $targteHeroSkills;
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok($targetHero);
|
|
|
}
|
|
|
|
|
@@ -162,44 +143,26 @@ class HeroProc {
|
|
|
* @param req $req
|
|
|
*/
|
|
|
static function UpgradeSkillLevel($req) {
|
|
|
+ list($huid, $mainSkillId, $subSkillId) = $req->paras; # 提取参数: 英雄的UID, 主技能Id, 要升级的子技能Id
|
|
|
$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.判断英雄的该技能能否升级....
|
|
|
+ my_default_Obj($collectHeros); # 防御变量为空
|
|
|
+ my_Assert(CommUtil::isPropertyExists($collectHeros, $huid), ErrCode::hero_no); # 1.检查是否存在要升级的英雄
|
|
|
$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, "子技能id错误");
|
|
|
- }
|
|
|
- if (!$targetHero->IsSkillUpdateAble($mainSkillId, $subSkillId)) { # 3.判断技能等级能否在继续升级了
|
|
|
- return Resp::err(ErrCode::hero_upgradeSkill_maxLevel);
|
|
|
- }
|
|
|
+ $targteHeroSkills = $targetHero->subSkills; # 取出这个英雄的技能数据
|
|
|
+ my_Assert(CommUtil::isPropertyExists($targteHeroSkills, $mainSkillId), "玩家数据结构有问题."); # 主技能Id.
|
|
|
+ my_Assert(CommUtil::isInArray($targteHeroSkills->$mainSkillId, $subSkillId), "子技能id错误"); # 子技能id
|
|
|
+ my_Assert($targetHero->IsSkillUpdateAble($mainSkillId, $subSkillId), ErrCode::hero_upgradeSkill_maxLevel); # 3.判断技能等级能否在继续升级了
|
|
|
|
|
|
$sm = GameConfig::subSkill_getItem($subSkillId); # 4.取出该技能升级消耗的常量数据
|
|
|
- if (null == $sm) {
|
|
|
- return Resp::err(ErrCode::err_const_no, '找不到子技能配置数据');
|
|
|
- }
|
|
|
- if (!UserGameModel::Consume_Gold($user, $sm->upgradeCost)) { # 5. 扣除金币消耗
|
|
|
- return Resp::err(ErrCode::notenough_gold_msg);
|
|
|
- }
|
|
|
+ my_Assert(null != $sm, ErrCode::err_const_no); # 找不到子技能配置数据
|
|
|
+ my_Assert(UserGameModel::Consume_Gold($user, $sm->upgradeCost), ErrCode::notenough_gold_msg); # 5. 扣除金币消耗
|
|
|
+
|
|
|
unset($targteHeroSkills->$mainSkillId, $subSkillId); # 替换技能
|
|
|
array_push($targteHeroSkills->$mainSkillId, $sm->nextLevel_Id);
|
|
|
$targetHero->subSkills = $targteHeroSkills;
|
|
|
- UserProc::updateUserInfo(); # 回写数据
|
|
|
+ UserProc::updateUserInfo(); # 回写数据
|
|
|
return Resp::ok($targetHero);
|
|
|
}
|
|
|
|
|
@@ -1346,9 +1309,7 @@ class HeroProc {
|
|
|
static function GetHero($req) {
|
|
|
$heroModelId = $req->paras[0]; // 英雄的模板ID
|
|
|
$heroCfg = GameConfig::hero_getItem($heroModelId); //1.检查是否存在这个英雄的模板
|
|
|
- if (!$heroCfg) {
|
|
|
- return Resp::err(ErrCode::hero_const_no_err);
|
|
|
- }
|
|
|
+ my_Assert(null != $heroCfg, ErrCode::hero_const_no_err);
|
|
|
$hero = self::AddHeroTFromStore($req, $heroModelId);
|
|
|
UserProc::updateUserInfo();
|
|
|
$result = array('result' => "succeed", 'heros' => $hero); # 4. 设置返回值
|
|
@@ -1566,13 +1527,11 @@ class HeroProc {
|
|
|
$heroUID = $req->paras[0]; # 玩家英雄实例编号
|
|
|
$lockstate = $req->paras[1]; # 玩家英雄锁定状态
|
|
|
$collectHeros = $gamedata->heros->collectHeros;
|
|
|
- if (!$collectHeros) {
|
|
|
- $collectHeros = ObjectInit();
|
|
|
- }
|
|
|
+ my_default_Obj($collectHeros); # 默认值
|
|
|
if (!CommUtil::isPropertyExists($collectHeros, $heroUID)) {
|
|
|
Err(ErrCode::hero_no);
|
|
|
}
|
|
|
- isEditor() and $hero = new UserHeroModel;
|
|
|
+// isEditor() and $hero = new UserHeroModel;
|
|
|
$hero = $collectHeros->$heroUID; # 1. 获取这个英雄的实例数据是
|
|
|
$hero->isLocked = $lockstate; # 2. 修改英雄状态
|
|
|
UserProc::updateUserInfo(); # 3. 保存玩家数据
|