|
@@ -73,10 +73,6 @@ namespace GFGGame
|
|
|
for (int i = 0; i < response.targets.Count; i++)
|
|
|
{
|
|
|
ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
|
|
|
- if (response.targets[i].Type == ArenaFightTargetType.PLAYER)
|
|
|
- {
|
|
|
- await ReqArenaFightAttr(response.targets[i].RoleInfo.RoleId, ArenaDataManager.Instance.Targets[i].RoleDressupList);
|
|
|
- }
|
|
|
}
|
|
|
PromptController.Instance.ShowFloatTextPrompt("刷新成功");
|
|
|
return true;
|
|
@@ -109,11 +105,11 @@ namespace GFGGame
|
|
|
}
|
|
|
|
|
|
//购买挑战次数
|
|
|
- public static async ETTask ReqBuyArenaFightTimes(int times)
|
|
|
+ public static async ETTask ReqBuyArenaFightTimes()
|
|
|
{
|
|
|
|
|
|
S2C_BuyArenaFightTimes response = null;
|
|
|
- response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes() { Times = times });
|
|
|
+ response = (S2C_BuyArenaFightTimes)await MessageHelper.SendToServer(new C2S_BuyArenaFightTimes() { });
|
|
|
if (response != null)
|
|
|
{
|
|
|
if (response.Error == ErrorCode.ERR_Success)
|
|
@@ -124,40 +120,53 @@ namespace GFGGame
|
|
|
}
|
|
|
|
|
|
//挑战
|
|
|
- public static async ETTask ReqArenaFight(bool _isWin, int type, int roleId)
|
|
|
+ public static async ETTask ReqArenaFight(bool isWin, int type, long targetRoleId, int selfFightPower, int targetFightPower, List<int> myScore, List<int> targetScore)
|
|
|
{
|
|
|
|
|
|
S2C_ArenaFight response = null;
|
|
|
- response = (S2C_ArenaFight)await MessageHelper.SendToServer(new C2S_ArenaFight() { Grade = ArenaDataManager.Instance.Grade, RankInGrade = ArenaDataManager.Instance.Rank, Type = type, RoleId = roleId, isWin = _isWin });
|
|
|
+ response = (S2C_ArenaFight)await MessageHelper.SendToServer(new C2S_ArenaFight()
|
|
|
+ {
|
|
|
+ RoleId = RoleDataManager.roleId,
|
|
|
+ Grade = ArenaDataManager.Instance.Grade,
|
|
|
+ RankInGrade = ArenaDataManager.Instance.Rank,
|
|
|
+ Type = type,
|
|
|
+ TargetRoleId = targetRoleId,
|
|
|
+ IsWin = isWin,
|
|
|
+ SelfFightPower = selfFightPower,
|
|
|
+ TargetFightPower = targetFightPower
|
|
|
+ });
|
|
|
if (response != null && response.targets != null)
|
|
|
{
|
|
|
- if (response.Error != ErrorCode.ERR_Success)
|
|
|
- {
|
|
|
- PromptController.Instance.ShowFloatTextPrompt("该玩家排名已经发生变化,请重新选择");
|
|
|
- }
|
|
|
- if (response.Grade > ArenaDataManager.Instance.Grade)
|
|
|
+
|
|
|
+
|
|
|
+ ArenaDataManager.Instance.Targets.Clear();
|
|
|
+ for (int i = 0; i < response.targets.Count; i++)
|
|
|
{
|
|
|
- ViewManager.Show<ArenaDanUpView>(new object[] { ArenaDataManager.Instance.Grade, response.Grade, response.RewardId });
|
|
|
+ ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
|
|
|
}
|
|
|
- else if (response.RankInGrade > ArenaDataManager.Instance.Rank)
|
|
|
+ if (response.Error != ErrorCode.ERR_Success)
|
|
|
{
|
|
|
- ViewManager.Show<ArenaRankUpView>(new object[] { ArenaDataManager.Instance.Rank, response.RankInGrade });
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("该玩家排名已经发生变化,请重新选择");
|
|
|
+ return;
|
|
|
}
|
|
|
-
|
|
|
ArenaDataManager.Instance.Grade = response.Grade;
|
|
|
ArenaDataManager.Instance.Rank = response.RankInGrade;
|
|
|
ArenaDataManager.Instance.TryUpdateHighest();
|
|
|
|
|
|
- ArenaDataManager.Instance.Targets.Clear();
|
|
|
- for (int i = 0; i < response.targets.Count; i++)
|
|
|
- {
|
|
|
- ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.targets[i]));
|
|
|
- }
|
|
|
+ // if (response.Grade > ArenaDataManager.Instance.Grade)
|
|
|
+ // {
|
|
|
+ // ViewManager.Show<ArenaDanUpView>(new object[] { ArenaDataManager.Instance.Grade, response.Grade, response.RewardId });
|
|
|
+ // }
|
|
|
+ // else if (response.RankInGrade > ArenaDataManager.Instance.Rank)
|
|
|
+ // {
|
|
|
+ // ViewManager.Show<ArenaRankUpView>(new object[] { ArenaDataManager.Instance.Rank, response.RankInGrade });
|
|
|
+ // }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取排行榜
|
|
|
- public static async ETTask ReqArenaRank(int rankType, int startIndex, int endIndex)
|
|
|
+ public static async ETTask<bool> ReqArenaRank(int rankType, int startIndex, int endIndex)
|
|
|
{
|
|
|
S2C_ArenaRank response = null;
|
|
|
response = (S2C_ArenaRank)await MessageHelper.SendToServer(new C2S_ArenaRank() { RankType = rankType, StartIndex = startIndex, EndIndex = endIndex });
|
|
@@ -165,17 +174,20 @@ namespace GFGGame
|
|
|
{
|
|
|
if (response.Error == ErrorCode.ERR_Success)
|
|
|
{
|
|
|
- if (startIndex == 0)
|
|
|
+ if (!ArenaDataManager.Instance.rankDatasDic.ContainsKey(rankType))
|
|
|
{
|
|
|
- ArenaDataManager.Instance.rankDatas.Clear();
|
|
|
+ ArenaDataManager.Instance.rankDatasDic[rankType] = new List<ArenaTargetData>();
|
|
|
}
|
|
|
+ List<ArenaTargetData> rankDatas = ArenaDataManager.Instance.rankDatasDic[rankType];
|
|
|
for (int i = 0; i < response.ranks.Count; i++)
|
|
|
{
|
|
|
- ArenaDataManager.Instance.Targets.Add(GetArenaTargetData(response.ranks[i]));
|
|
|
+ rankDatas.Add(GetArenaTargetData(response.ranks[i]));
|
|
|
}
|
|
|
ArenaDataManager.Instance.SelfData = GetArenaTargetData(response.self);
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
//获取竞技场历史记录
|
|
@@ -224,8 +236,23 @@ namespace GFGGame
|
|
|
arenaTarget.IsChallenge = arenaHistory.IsChallenge;
|
|
|
arenaTarget.FightTime = arenaHistory.FightTime;
|
|
|
arenaTarget.Type = arenaHistory.Type;
|
|
|
- arenaTarget.RoleInfo = DataChangeUtil.Instance.GetOtherRoleInfoData(arenaHistory.RoleInfo);
|
|
|
|
|
|
+ if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
|
|
|
+ {
|
|
|
+ arenaTarget.RoleInfo.roleId = arenaHistory.RoleInfo.RoleId;
|
|
|
+ arenaTarget.RoleInfo.roleName = arenaHistory.RoleInfo.RoleName;
|
|
|
+ arenaTarget.RoleInfo.roleLv = arenaHistory.RoleInfo.RoleLvl;
|
|
|
+ arenaTarget.RoleInfo.roleHead = arenaHistory.RoleInfo.HeadItemId;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ArenaRobotCfg robotCfg = ArenaRobotCfgArray.Instance.GetCfg(arenaHistory.RobotDressupInfo.RobotId);
|
|
|
+
|
|
|
+ arenaTarget.RoleInfo.roleId = 0;
|
|
|
+ arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
|
|
|
+ arenaTarget.RoleInfo.roleLv = robotCfg.level;
|
|
|
+ arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
|
|
|
+ }
|
|
|
for (int i = 0; i < ArenaDataManager.Instance.ThemeList.Count; i++)
|
|
|
{
|
|
|
if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
|
|
@@ -255,8 +282,22 @@ namespace GFGGame
|
|
|
arenaTarget.Grade = arenaTargetProto.Grade;
|
|
|
arenaTarget.RankInGrade = arenaTargetProto.RankInGrade;
|
|
|
arenaTarget.Type = arenaTargetProto.Type;
|
|
|
- arenaTarget.RoleInfo = DataChangeUtil.Instance.GetOtherRoleInfoData(arenaTargetProto.RoleInfo);
|
|
|
+ if (arenaTarget.Type == ArenaFightTargetType.PLAYER)
|
|
|
+ {
|
|
|
+ arenaTarget.RoleInfo.roleId = arenaTargetProto.RoleInfo.RoleId;
|
|
|
+ arenaTarget.RoleInfo.roleName = arenaTargetProto.RoleInfo.RoleName;
|
|
|
+ arenaTarget.RoleInfo.roleLv = arenaTargetProto.RoleInfo.RoleLvl;
|
|
|
+ arenaTarget.RoleInfo.roleHead = arenaTargetProto.RoleInfo.HeadItemId;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ArenaRobotCfg robotCfg = ArenaRobotCfgArray.Instance.GetCfg(arenaTargetProto.RobotDressupInfo.RobotId);
|
|
|
|
|
|
+ arenaTarget.RoleInfo.roleId = 0;
|
|
|
+ arenaTarget.RoleInfo.roleName = robotCfg.gradeName;
|
|
|
+ arenaTarget.RoleInfo.roleLv = robotCfg.level;
|
|
|
+ arenaTarget.RoleInfo.roleHeadRes = robotCfg.targetRes;
|
|
|
+ }
|
|
|
arenaTarget.RoleDressupList.Clear();
|
|
|
arenaTarget.RobotDressupList.Clear();
|
|
|
|
|
@@ -276,13 +317,13 @@ namespace GFGGame
|
|
|
return arenaTarget;
|
|
|
}
|
|
|
|
|
|
- private static FightRoleData GetFightRoleData(ArenaDressupProto dressupProto, OtherRoleInfoData roleInfoData, int index)
|
|
|
+ private static FightRoleData GetFightRoleData(ArenaDressupProto dressupProto, OtherRoleInfoData roleInfo, int index)
|
|
|
{
|
|
|
FightRoleData roleData = new FightRoleData();
|
|
|
- roleData.name = roleInfoData.roleName;
|
|
|
- roleData.headId = roleInfoData.roleHead;
|
|
|
- roleData.headBorderId = roleInfoData.roleHeadBorder;
|
|
|
- roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfoData.roleLv).baseScore;
|
|
|
+ roleData.name = roleInfo.roleName;
|
|
|
+ roleData.headId = roleInfo.roleHead;
|
|
|
+
|
|
|
+ roleData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfo.roleLv).baseScore;
|
|
|
roleData.cardId = dressupProto.CardId;
|
|
|
roleData.itemList = dressupProto.EquipIds;
|
|
|
if (index == 0) roleData.tags = new string[1] { ArenaDataManager.Instance.Tag };
|