Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 public static void SaveChickenScore(ChickenRankData rankData)
 {
     mImpl.SaveChickenScore(rankData);
 }