private IEnumerator ApplyRankCoroutine() { using (new BlockingLayerHelper(0)) { var msg = NetManager.Instance.ApplyChickenRankData(ObjManager.Instance.MyPlayer.GetObjId()); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { DataModel.PlayerRankList.Clear(); if (msg.Response.RankList != null) { for (int i = 0; i < msg.Response.RankList.Count; i++) { FieldMissionPlayerRankDataModel item = new FieldMissionPlayerRankDataModel(); item.Id = msg.Response.RankList[i].Guid; item.Idx = msg.Response.RankList[i].Rank.ToString(); item.Fight = msg.Response.RankList[i].FightValue; item.Score = msg.Response.RankList[i].Score; item.Role = msg.Response.RankList[i].Profession; item.Level = msg.Response.RankList[i].Level; item.Name = msg.Response.RankList[i].Name; DataModel.PlayerRankList.Add(item); } } if (msg.Response.MyRank != null) { MissionDataModel.Id = msg.Response.MyRank.Guid; MissionDataModel.Idx = msg.Response.MyRank.Rank.ToString(); MissionDataModel.Fight = msg.Response.MyRank.FightValue; MissionDataModel.Score = msg.Response.MyRank.Score; MissionDataModel.Role = msg.Response.MyRank.Profession; MissionDataModel.Level = msg.Response.MyRank.Level; MissionDataModel.Name = msg.Response.MyRank.Name; } else { // MissionDataModel.Id = msg.Response.MyRank.Guid; // MissionDataModel.Idx = msg.Response.MyRank.Rank.ToString(); MissionDataModel.Fight = PlayerDataManager.Instance.PlayerDataModel.Attributes.FightValue; MissionDataModel.Score = 0; MissionDataModel.Role = PlayerDataManager.Instance.PlayerDataModel.CharacterBase.RoleId; MissionDataModel.Level = PlayerDataManager.Instance.GetLevel(); MissionDataModel.Name = PlayerDataManager.Instance.GetName(); } } else { GameUtils.ShowNetErrorHint(msg.ErrorCode); Logger.Error(".....ApplyRankCoroutine.......{0}.", msg.ErrorCode); } } else { Logger.Error(".....ApplyRankCoroutine.......{0}.", msg.State); } } }
public void CleanUp() { DataModel = new ChickenFightDataModel(); MissionDataModel = new FieldMissionPlayerRankDataModel(); }
private void OnRecvTask(DBActiveTask msg) { DataModel.AllianceData.Clear(); DataModel.PlayerData.Clear(); DataModel.AllianceRankData.Clear(); DataModel.PlayerRankData.Clear(); DataModel.Idx = -1; DataModel.AllianceIdx = -1; { DataModel.myRank.Name = PlayerDataManager.Instance.GetName(); DataModel.myRank.Level = PlayerDataManager.Instance.GetLevel(); DataModel.myRank.Fight = PlayerDataManager.Instance.PlayerDataModel.Attributes.FightValue; DataModel.myRank.Score = PlayerDataManager.Instance.GetExData(949); DataModel.myRank.Role = PlayerDataManager.Instance.GetRoleId(); DataModel.myRank.Idx = GameUtils.GetDictionaryText(100000640); } { DataModel.myAllianceRank.Idx = GameUtils.GetDictionaryText(100000640); //DataModel.myAllianceRank.AllianceId = m.AllianceId; //DataModel.myAllianceRank.Fight = m.Fight; //DataModel.myAllianceRank.Level = m.Level; //DataModel.myAllianceRank.Flags = m.Flags; //DataModel.myAllianceRank.Name = m.Name; //DataModel.myAllianceRank.Score = m.Score; } foreach (var id in msg.pTaskIDs) {//玩家任务 var tb = Table.GetObjectTable(id); if (tb == null) { continue; } FieldMissionBaseDataModel tmp = new FieldMissionBaseDataModel(); tmp.Id = id; tmp.ExIdx = tb.ExData; tmp.Count = PlayerDataManager.Instance.GetExData(tb.ExData); tmp.MaxCount = tb.NeedCount; tmp.Flag = tb.IsGet; if (PlayerDataManager.Instance.GetFlag(tb.IsGet) == true) {//已领取 tmp.Stat = 2; } else { tmp.Stat = tmp.Count >= tmp.MaxCount ? 1 : 0; } for (int i = 0; i < tb.Reward.Length && i < tb.RewardNum.Length && i < tmp.Rewards.Count; i++) { tmp.Rewards[i].ItemId = tb.Reward[i]; tmp.Rewards[i].Count = tb.RewardNum[i]; } DataModel.PlayerData.Add(tmp); } foreach (var id in msg.aTaskIDs) {//战盟任务 var tb = Table.GetObjectTable(id); if (tb == null) { continue; } FieldMissionBaseDataModel tmp = new FieldMissionBaseDataModel(); tmp.Id = id; tmp.ExIdx = tb.ExData; tmp.Flag = tb.IsGet; tmp.MaxCount = tb.NeedCount; for (int i = 0; i < tb.Reward.Length && i < tb.RewardNum.Length && i < tmp.Rewards.Count; i++) { tmp.Rewards[i].ItemId = tb.Reward[i]; tmp.Rewards[i].Count = tb.RewardNum[i]; } DataModel.AllianceData.Add(tmp); } List <FieldMissionAllianceRankDataModel> l = new List <FieldMissionAllianceRankDataModel>(); foreach (var v in msg.AllianceTaskList) {//战盟任务信息 FieldMissionAllianceRankDataModel tmp = new FieldMissionAllianceRankDataModel(); tmp.AllianceId = v.Key; tmp.Name = v.Value.Name; tmp.Score = v.Value.Score; tmp.Fight = v.Value.Fight; tmp.Flags = v.Value.Flags; tmp.Level = v.Value.Level; if (tmp.AllianceId == PlayerDataManager.Instance.GetExData(eExdataDefine.e282)) { var info = v.Value; for (int i = 0; i < DataModel.AllianceData.Count; i++) { var m = DataModel.AllianceData[i]; if (info.TaskList.ContainsKey(m.Id)) { m.Count = info.TaskList[m.Id].Count; if (PlayerDataManager.Instance.GetFlag(m.Flag) == true) {//已领取 m.Stat = 2; } else { m.Stat = info.TaskList[m.Id].Count >= info.TaskList[m.Id].Need ? 1 : 0; } } } } l.Add(tmp); } l.Sort((a, b) => { if (b.Flags > a.Flags) { return(1); } if (b.Flags < a.Flags) { return(-1); } return(b.Score - a.Score); }); for (int i = 0; i < l.Count; i++) { var m = l[i]; m.Idx = (i + 1).ToString(); if (m.AllianceId == PlayerDataManager.Instance.GetExData(eExdataDefine.e282)) { DataModel.AllianceIdx = i; DataModel.myAllianceRank.AllianceId = m.AllianceId; DataModel.myAllianceRank.Fight = m.Fight; DataModel.myAllianceRank.Level = m.Level; DataModel.myAllianceRank.Idx = m.Idx; DataModel.myAllianceRank.Flags = m.Flags; DataModel.myAllianceRank.Name = m.Name; DataModel.myAllianceRank.Score = m.Score; } DataModel.AllianceRankData.Add(m); } for (int i = 0; i < msg.PlayerTaskList.Count; i++) {//玩家积分排行 var v = msg.PlayerTaskList[i]; FieldMissionPlayerRankDataModel data = new FieldMissionPlayerRankDataModel(); data.Id = v.guid; data.Role = v.role; data.Name = v.name; data.Score = v.score; data.Idx = (i + 1).ToString(); data.Level = v.level; data.Fight = v.fight; if (data.Id == PlayerDataManager.Instance.CharacterGuid) { DataModel.Idx = i + 1; DataModel.myRank.Idx = (i + 1).ToString(); } DataModel.PlayerRankData.Add(data); } CheckNotic(); }