public ChickenRankData ApplyChickenRank(ulong charId) { if (ChickenManager.mDbData == null) { ChickenManager.mDbData = new List <DBChickenData>(); } ChickenRankData result = new ChickenRankData(); for (int i = 0; i < ChickenManager.mDbData.Count; i++) { var db = new ChickenData(); db.Score = ChickenManager.mDbData[i].Score; db.FightValue = ChickenManager.mDbData[i].FightValue; db.Guid = ChickenManager.mDbData[i].Guid; db.Level = ChickenManager.mDbData[i].Level; db.Name = ChickenManager.mDbData[i].Name; db.Profession = ChickenManager.mDbData[i].Profession; db.Rank = ChickenManager.mDbData[i].Rank; result.RankList.Add(db); } var idx = ChickenManager.mDbData.FindIndex(o => { return(o.Guid == charId); }); if (idx != -1) { result.MyRank = new ChickenData(); result.MyRank.Score = ChickenManager.mDbData[idx].Score; result.MyRank.FightValue = ChickenManager.mDbData[idx].FightValue; result.MyRank.Guid = ChickenManager.mDbData[idx].Guid; result.MyRank.Level = ChickenManager.mDbData[idx].Level; result.MyRank.Name = ChickenManager.mDbData[idx].Name; result.MyRank.Profession = ChickenManager.mDbData[idx].Profession; result.MyRank.Rank = ChickenManager.mDbData[idx].Rank; } return(result); }
private IEnumerator SendSyncBatteryGuidMsg(Coroutine co) { ChickenRankData data = new ChickenRankData(); for (int i = 0; i < _playerList.Count; i++) { ChickenData dataItem = new ChickenData(); var player = FindPlayer(_playerList[i].objId); dataItem.Score = _playerList[i].point; dataItem.FightValue = player.Attr.GetFightPoint(); dataItem.Guid = _playerList[i].objId; dataItem.Level = player.GetLevel(); dataItem.Name = _playerList[i].name; dataItem.Profession = player.TypeId; dataItem.Rank = i + 1; data.RankList.Add(dataItem); } var notifyMsg = SceneServer.Instance.ActivityAgent.SSSyncChickenScore(0, data); yield return(notifyMsg.SendAndWaitUntilDone(co)); }
public void SaveChickenScore(ChickenRankData rankData) { if (ChickenManager.mDbData == null) { ChickenManager.mDbData = new List <DBChickenData>(); } for (int i = 0; i < rankData.RankList.Count; i++) { var idx = ChickenManager.mDbData.FindIndex(o => { return(o.Guid == rankData.RankList[i].Guid); }); DBChickenData db = null; if (idx >= 0) { db = ChickenManager.mDbData[idx]; db.Score += rankData.RankList[i].Score; db.FightValue = rankData.RankList[i].FightValue; } if (db == null) { db = new DBChickenData(); db.Score = rankData.RankList[i].Score; db.FightValue = rankData.RankList[i].FightValue; db.Guid = rankData.RankList[i].Guid; db.Level = rankData.RankList[i].Level; db.Name = rankData.RankList[i].Name; db.Profession = rankData.RankList[i].Profession; db.Rank = rankData.RankList[i].Rank; ChickenManager.mDbData.Add(db); } } ChickenManager.mDbData.Sort((DBChickenData rankA, DBChickenData rankB) => { return(rankA.Score > rankB.Score ? -1 : 1); }); var rank = 1; foreach (var unit in ChickenManager.mDbData) { unit.Rank = rank++; } ChickenManager.bDirty = true; }
public static void SaveChickenScore(ChickenRankData rankData) { mImpl.SaveChickenScore(rankData); }