123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- using System;
- using System.Collections.Generic;
- using ET;
- namespace GFGGame
- {
- public class NoticeFieldWorkChange : AMHandler<SC_RankChange>
- {
- protected override async ETTask Run(Session session, SC_RankChange message)
- {
- await ETTask.CompletedTask;
- }
- }
- public static class FieldWorkSproxy
- {
- //获取爬塔信息
- public static async ETTask ReqFieldWorkInfos()
- {
- S2C_GetGetCimbingTowerInfo response = null;
- response = (S2C_GetGetCimbingTowerInfo)await MessageHelper.SendToServer(new C2S_GetCimbingTowerInfo());
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- FieldWorkDataManager.Instance.Tag = response.WeekTags ;
- FieldWorkDataManager.Instance.DressupList.Clear();
- FieldWorkDataManager.Instance.HistoryDressupList = response.WeekUserItems;
- FieldWorkDataManager.Instance.CardAbrasionInfoList = response.CardAbrasionInfoList;
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Clear();
- foreach (var item in response.CimbingTowerLevelInfoList)
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Add(item.LevelId,item);
- }
- AddDressup(response.EquipAIds, 0, 0);
- AddDressup(response.EquipBIds, 0, 1);
- AddDressup(response.EquipCIds, 0, 2);
- }
- }
- }
- public static void AddDressup(List<int> itemList,int scoreType,int i)
- {
- FightData roleData = GetFightRoleData(itemList, FieldWorkDataManager.Instance.roleInfo, scoreType);
- roleData.leagueSkillScore = FieldWorkDataManager.Instance.GetAllSkillScore(scoreType);
- FightDataManager.Instance.SetItemScoreList(roleData);
- ArenaDataManager.Instance.SetMineFightAttr(roleData, scoreType);
- ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
- FieldWorkDataManager.Instance.DressupList.Add(roleData);
- }
- //更换搭配
- public static async ETTask<bool> ReqChangeFieldWorkDressup()
- {
- List<List<int>> dress = new List<List<int>>();
- dress = FieldWorkDataManager.Instance.GetDressAndCard();
- S2C_CimbingTowerSaveCollocation response = null;
- response = (S2C_CimbingTowerSaveCollocation)await MessageHelper.SendToServer(new C2S_CimbingTowerSaveCollocation()
- {
- EquipAIds = dress[0],
- EquipBIds = dress[1],
- EquipCIds = dress[2],
- }) ;
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- return true;
- }
- }
- return false;
- }
- //更换单个搭配
- public static async ETTask<bool> ReqChangeFieldWorkDressupOne(int index,int cardId ,List<int> dressList)
- {
- List<int> dress = new List<int>();
- dress = dressList;
- dress.Add(cardId);
- List<List<int>> dressAll = new List<List<int>>();
- dressAll = FieldWorkDataManager.Instance.GetDressAndCard();
- dressAll[index] = dress;
- S2C_CimbingTowerSaveCollocation response = null;
- response = (S2C_CimbingTowerSaveCollocation)await MessageHelper.SendToServer(new C2S_CimbingTowerSaveCollocation()
- {
- EquipAIds = dressAll[0],
- EquipBIds = dressAll[1],
- EquipCIds = dressAll[2],
- });
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- return true;
- }
- }
- return false;
- }
- //关卡挑战
- public static async ETTask<bool> ReqFieldWorkFight(int levelId)
- {
- List<List<int>> dress = new List<List<int>>();
- dress = FieldWorkDataManager.Instance.GetDressAndCard();
- S2C_CimbingTowerFightLevel response = null;
- response = (S2C_CimbingTowerFightLevel)await MessageHelper.SendToServer(new C2S_CimbingTowerFightLevel()
- {
- LevelId = levelId,
- FightScoreList = FieldWorkDataManager.Instance.myScore,
- EquipAIds = dress[0],
- EquipBIds = dress[1],
- EquipCIds = dress[2],
- }) ;
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- FieldWorkDataManager.Instance.HistoryDressupList = response.WeekUserItems;
- FieldWorkDataManager.Instance.CardAbrasionInfoList = response.CardAbrasionInfoList;
- if(response.CimbingTowerLevelInfo.IsPass)
- {
- if (FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.ContainsKey(response.CimbingTowerLevelInfo.LevelId))
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList[response.CimbingTowerLevelInfo.LevelId] = response.CimbingTowerLevelInfo;
- }
- else
- {
- PromptController.Instance.ShowFloatTextPrompt("已通过,自动清除搭配!");
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Add(response.CimbingTowerLevelInfo.LevelId, response.CimbingTowerLevelInfo);
- }
- int limit = CimbingTowerCfgArray.Instance.dataArray[0].UseLimit;
- bool isDelete = false;
- for(int i=0;i<FieldWorkDataManager.Instance.DressupList.Count;i++)
- {
- FieldWorkDataManager.Instance.DressupList[i].itemList.Clear();
- //foreach(var item in FieldWorkDataManager.Instance.CardAbrasionInfoList)
- //{
- // if(item.Card == FieldWorkDataManager.Instance.DressupList[i].cardId)
- // {
- // if(item.UseNum >= limit)
- // {
- FieldWorkDataManager.Instance.DressupList[i].cardId = 0;
- isDelete = true;
- // }
- //}
- //}
- }
- //if(isDelete)
- //{
- // PromptController.Instance.ShowFloatTextPrompt("词牌磨损率过高已自动解除佩戴!");
- //}
- FieldWorkDataManager.Instance.BonusList = response.BonusList;
- EventAgent.DispatchEvent(ConstMessage.FieldWork_StateCHANGE);
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- return false;
- }
- //一键跳过
- public static async ETTask<bool> ReqFieldWorkOneClickPass()
- {
- S2C_CimbingTowerOneClickPass response = null;
- response = (S2C_CimbingTowerOneClickPass)await MessageHelper.SendToServer(new C2S_CimbingTowerOneClickPass(){ });
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Clear();
- foreach (var item in response.CimbingTowerLevelInfoList)
- {
- if (FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.ContainsKey(item.LevelId))
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList[item.LevelId] = item;
- }
- else
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Add(item.LevelId, item);
- }
- }
- BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
- EventAgent.DispatchEvent(ConstMessage.FieldWork_StateCHANGE);
- return true;
- }
- }
- return false;
- }
- //重置
- public static async ETTask<bool> ReqFieldWorkReset()
- {
- S2C_CimbingTowerResetLevel response = null;
- response = (S2C_CimbingTowerResetLevel)await MessageHelper.SendToServer(new C2S_CimbingTowerResetLevel(){});
- if (response != null)
- {
- if (response.Error == ErrorCode.ERR_Success)
- {
- FieldWorkDataManager.Instance.HistoryDressupList.Clear();
- FieldWorkDataManager.Instance.CardAbrasionInfoList = response.CardAbrasionInfoList;
- foreach (var item in response.CimbingTowerLevelInfoList)
- {
- if (FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.ContainsKey(item.LevelId))
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList[item.LevelId] = item;
- }
- else
- {
- FieldWorkDataManager.Instance.CimbingTowerLevelInfoList.Add(item.LevelId, item);
- }
- }
- for (int i = 0; i < FieldWorkDataManager.Instance.DressupList.Count; i++)
- {
- FieldWorkDataManager.Instance.DressupList[i].itemList.Clear();
- FieldWorkDataManager.Instance.DressupList[i].cardId = 0;
- }
- EventAgent.DispatchEvent(ConstMessage.FieldWork_StateCHANGE);
- return true;
- }
- }
- return false;
- }
- private static FightData GetFightRoleData(List<int> dressupProto, OtherRoleInfoData roleInfo, int scoreType)
- {
- FightData fightData = new FightData();
- fightData.name = roleInfo.roleName;
- fightData.scoreType = scoreType;
- fightData.baseScore = RoleLevelCfgArray.Instance.GetCfg(roleInfo.roleLv).baseScore;
- fightData.tags = FieldWorkDataManager.Instance.Tag.ToArray();
- fightData.type = FightTargetType.PLAYER;
- fightData.headId = roleInfo.headId;
- List<int> dressList = new List<int>();
- foreach(var item in dressupProto)
- {
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(item);
- if(itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
- {
- dressList.Add(item);
- }
- else if(itemCfg != null && itemCfg.itemType == ConstItemType.CARD)
- {
- fightData.cardId = item;
- }
- }
- fightData.itemList = dressList;
- return fightData;
- }
- }
- }
|