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); } } }
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()); }
public int UpdateRecord(int level, int minute, int second) { return(recordData.UpdateRecord(level, minute, second)); }
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>()); } } }