コード例 #1
0
        public void Dead(GCPlayerCmd cmd)
        {
            var pa = ObjectManager.objectManager.GetPlayer(cmd.DamageInfo.Attacker);
            var pb = ObjectManager.objectManager.GetPlayer(cmd.DamageInfo.Enemy);

            Log.Sys("DeadMsg: " + pa + " pb " + pb);
            if (pa != null && pb != null)
            {
                var aname    = pa.GetComponent <NpcAttribute>().userName;
                var bname    = pb.GetComponent <NpcAttribute>().userName;
                var killInfo = string.Format("[ff1010]{0}[-]击杀了[10ff10]{1}[-],获得了[ff1010]{2}[-]杀", aname, bname,
                                             cmd.AvatarInfo.ContinueKilled);
                Util.ShowMsg(killInfo);
                if (cmd.AvatarInfo.ContinueKilled > 0)
                {
                    PlayerKillSound(cmd.AvatarInfo.ContinueKilled);
                }

                var myId = NetMatchScene.Instance.myId;
                if (cmd.DamageInfo.Attacker == myId)
                {
                    var js = new JSONClass();
                    js.Add("totalKill", new JSONData(1));

                    if (cmd.AvatarInfo.ContinueKilled == 3)
                    {
                        js.Add("threeKill", new JSONData(1));
                    }
                    else if (cmd.AvatarInfo.ContinueKilled == 4)
                    {
                        js.Add("fourKill", new JSONData(1));
                    }
                    else if (cmd.AvatarInfo.ContinueKilled == 5)
                    {
                        js.Add("fiveKill", new JSONData(1));
                    }
                    RecordData.UpdateRecord(js);
                }
                else if (cmd.DamageInfo.Enemy == myId)
                {
                    var js = new JSONClass();
                    js.Add("dieNum", new JSONData(1));
                    RecordData.UpdateRecord(js);
                }
            }
        }
コード例 #2
0
ファイル: GameOver.cs プロジェクト: Xnovae/MobaClient
        private void UpdateFrame()
        {
            var score = ScoreManager.Instance.score;

            while (cells.Count < score.Count)
            {
                var g = Object.Instantiate(cell) as GameObject;
                g.transform.parent = cell.transform.parent;
                Util.InitGameObject(g);
                cells.Add(g);
                g.SetActive(false);
            }
            foreach (var c in cells)
            {
                c.SetActive(false);
            }
            var keys = score.Keys.ToList();

            keys.Sort((a, b) =>
            {
                var ad = score[a];
                var bd = score[b];
                if (ad.killed > bd.killed)
                {
                    return(-1);
                }
                if (ad.killed < bd.killed)
                {
                    return(1);
                }
                return(0);
            });

            var ord = 0;

            for (var i = 0; i < keys.Count; i++)
            {
                var k = keys[i];
                //var player = ObjectManager.objectManager.GetPlayer(k);
                var un   = ScoreManager.Instance.GetCacheName(k);
                var myId = NetMatchScene.Instance.myId;
                //var un = player.GetComponent<NpcAttribute>().userName;
                if (!string.IsNullOrEmpty(un))
                {
                    var g = cells[i];
                    g.SetActive(true);
                    g.GetComponent <GameOverCell>()
                    .SetData(ord + 1, un, score[k].killed, score[k].serverId, score[k].killCount, score[k].deadCount, score[k].assistCount);
                    ord++;
                    if (ord == 1)
                    {
                        if (k != myId)
                        {
                            GetName("Title2").SetActive(true);
                            GetName("Title1").SetActive(false);
                        }
                        else//MVP 场次
                        {
                            var js = new JSONClass();
                            js.Add("mvp", new JSONData(1));
                            RecordData.UpdateRecord(js);
                        }
                    }
                }
            }
            StartCoroutine(WaitReset());
        }
コード例 #3
0
 public int UpdateRecord(int level, int minute, int second)
 {
     return(recordData.UpdateRecord(level, minute, second));
 }
コード例 #4
0
ファイル: NetMatchScene.cs プロジェクト: Xnovae/MobaClient
        void MsgHandler(KBEngine.Packet packet)
        {
            var proto = packet.protoBody as GCPlayerCmd;

            Log.Net("ReceiveMsg: " + proto + " pid " + packet.flowId);
            var cmds = proto.Result.Split(' ');
            var c0   = cmds [0];

            if (c0 == "Add")
            {
                roomInfo.PlayersList.Add(proto.AvatarInfo);
                Util.ShowMsg("玩家:" + proto.AvatarInfo.Name + " 加入游戏,当前人数:" + matchRoom.GetPlayerNum());
            }
            else if (c0 == "Update")
            {
                foreach (var p in roomInfo.PlayersList)
                {
                    if (p.Id == proto.AvatarInfo.Id)
                    {
                        matchRoom.SyncAvatarInfo(proto.AvatarInfo, p);
                        break;
                    }
                }
            }
            else if (c0 == "Remove")
            {
                foreach (var p in roomInfo.PlayersList)
                {
                    if (p.Id == proto.AvatarInfo.Id)
                    {
                        roomInfo.PlayersList.Remove(p);
                        break;
                    }
                }
                Util.ShowMsg("玩家:" + proto.AvatarInfo.Name + " 离开游戏,当前人数:" + matchRoom.GetPlayerNum());
            }
            else if (c0 == "StartGame")
            {
                //进入Map5场景开始游戏
                //将网络状态数据保留
                //等待所有玩家进入场景成功
                //EnterSuc
                //然后将所有玩家状态重新刷新一遍
                Util.ShowMsg("玩家足够开始游戏:" + matchRoom.GetPlayerNum());
                Log.Net("StartGame");
                if (roomState != RoomState.InGame)
                {
                    roomState = RoomState.InGame;
                    WorldManager.worldManager.WorldChangeScene((int)LevelDefine.Battle, false);
                    GameObject.Destroy(GetComponent <NetworkLatency>());
                    var js = new JSONClass();
                    js.Add("total", new JSONData(1));
                    RecordData.UpdateRecord(js);
                }
            }
            else if (c0 == "SelectHero")
            {
                Util.ShowMsg("开始选择英雄");
                if (roomState == RoomState.InMatch)
                {
                    roomState = RoomState.SelectHero;
                    WorldManager.worldManager.WorldChangeScene((int)LevelDefine.SelectHero, false);
                    GameObject.Destroy(GetComponent <NetworkLatency>());
                }
            }
        }