コード例 #1
0
    public override void OnReceivedBroadcast(string fromAddress, string data)
    {
        Debug.Log("fromAddress" + fromAddress);
        Debug.Log("data" + data);

        OnServerFound?.Invoke(fromAddress, data);
    }
コード例 #2
0
ファイル: TileMapClient.cs プロジェクト: vanBassum/TileMap
        void ProcessCommand(TileBaseCmd command)
        {
            switch (command)
            {
            case TileCMD_GetServername cmd:

                lock (Servers)
                {
                    TileServer server = Servers.FirstOrDefault(a => a.ID == cmd.SID);
                    if (server != null)
                    {
                        if (server.Name != cmd.Servername)
                        {
                            server.Name = cmd.Servername;
                            OnServerFound?.Invoke(this, server);
                        }
                    }
                }
                break;

            case TileCMD_GetMapInfo cmd:
                OnMapInfoRecieved?.Invoke(this, cmd.MapInfo);
                break;

            case TileCMD_UpdatePlayerInfo cmd:
                lock (Players)
                {
                    PlayerInfo pi = Players.FirstOrDefault(p => p.ID == cmd.Playerinfo.ID);
                    if (pi == null)
                    {
                        Players.Add(pi = new PlayerInfo()
                        {
                            ID = cmd.Playerinfo.ID
                        });
                    }
                    pi.Populate(cmd.Playerinfo);
                }
                break;
            }
        }