public static void BroadcastMoveHandler(PacketSession session, IPacket packet) { BroadcastMove pkt = packet as BroadcastMove; ServerSession serverSession = session as ServerSession; Debug.Log($"BroadcastMoveHandler {pkt}"); PlayerManager.Instance.Move(pkt); }
public override void FromData(byte[] data) { var jsonString = System.Text.Encoding.Default.GetString(data); BroadcastMove jsonData = JsonUtility.FromJson <BroadcastMove>(jsonString); this.playerID = jsonData.playerID; this.x = jsonData.x; this.y = jsonData.y; }
void OnBroadcastMove(NotificationArg arg) { BroadcastMove data = arg.GetValue <BroadcastMove>(); if (players.ContainsKey(data.playerID)) { var p = players[data.playerID]; p.GetComponent <Player>().MoveTo(data.x, data.y); } }
public void Move(ClientSession session, Move packet) { // 좌표를 바꾸어주고 session.PosX = packet.posX; session.PosY = packet.posY; session.PosZ = packet.posZ; // 모두에게 알린다. BroadcastMove move = new BroadcastMove(); move.playerId = session.SessionId; move.position.posX = session.PosX; move.position.posY = session.PosY; move.position.posZ = session.PosZ; Broadcast(move.Write()); }
public void Move(BroadcastMove packet) { Debug.Log("Move1"); if (_myPlayer.PlayerId == packet.playerId) { Debug.Log("Move2 Self"); _myPlayer.transform.position = new Vector3(packet.position.posX, packet.position.posY, packet.position.posZ); } else { Debug.Log("Move2 Other"); Player player = null; if (_players.TryGetValue(packet.playerId, out player)) { player.transform.position = new Vector3(packet.position.posX, packet.position.posY, packet.position.posZ); } } }
private void HandleMessage(Message msg) { var msgID = (MsgID)msg.MessageID; switch (msgID) { case MsgID.Response_Join: { ResponseJoin data = new ResponseJoin(); data.FromMessage(msg); NotificationCenter.Instance.PushEvent(NotificationType.Network_OnResponseJoin, data); break; } case MsgID.Broadcast_Move: { BroadcastMove data = new BroadcastMove(); data.FromMessage(msg); NotificationCenter.Instance.PushEvent(NotificationType.Network_OnBroadcastMove, data); break; } case MsgID.Broadcast_Join: { BroadcastJoin data = new BroadcastJoin(); data.FromMessage(msg); NotificationCenter.Instance.PushEvent(NotificationType.Network_OnBroadcastJoin, data); break; } case MsgID.Broadcast_Leave: { BroadcastLeave data = new BroadcastLeave(); data.FromMessage(msg); NotificationCenter.Instance.PushEvent(NotificationType.Network_OnBroadcastLeave, data); break; } } }
public static void BroadcastMoveHandler(PacketSession session, IPacket packet) { BroadcastMove pkt = packet as BroadcastMove; ServerSession serverSession = session as ServerSession; }