/// <summary> /// 玩家状态变更 /// </summary> void OnGetPlayerList(byte[] p) { if (playerListProto == null) { playerListProto = new ProtoPlayerList(); } Util.DeSerializeProto <ProtoPlayerList>(p, playerListProto); if (Connection.GetInstance().differentUdpPort&& playerListProto != null) { ProtoPlayerInfo selfInfo = model.GetPlayerInfo(); int selfID = 255; selfID = selfInfo == null ? selfID : selfInfo.id; for (int i = 0; i < playerListProto.players.Length; i++) { ProtoPlayerInfo info = playerListProto.players[i]; if (selfID != info.id) { Connection.GetInstance().AddBroadCastPort(info.id); } } } Debug.Log("刷新玩家信息"); }
/// <summary> /// 同步玩家信息 /// </summary> void SyncPlayerList() { if (playerInfos.Count > 0) { if (playerListProto == null) { playerListProto = new ProtoPlayerList(); } playerListProto.players = new ProtoPlayerInfo[playerInfos.Count]; foreach (var key in playerInfos) { playerListProto.players[(int)key.Key] = key.Value; } Broadcast(ProtoIDCfg.S_PLAYERS, playerListProto); } }
public void SetPlayerList(ProtoPlayerList playerList) { this.playerList = playerList.players; Debug.Log("更新玩家列表"); }