Exemplo n.º 1
0
    private void __OnPlayer(NetworkMessage message)
    {
        if (__client != null)
        {
            __client.UnregisterHandler((short)MahjongNetworkMessageType.Player);
        }

        NameMessage nameMessage = message == null ? null : message.ReadMessage <NameMessage>();

        if (nameMessage == null)
        {
            return;
        }

        if (string.IsNullOrEmpty(nameMessage.name))
        {
            if (__nameMessage == null && __roomMessage == null)
            {
                __coroutine = StartCoroutine(__LoadScene(menuSceneBuildIndex, null, __coroutine));
            }
            else if (__client != null)
            {
                if (__nameMessage != null)
                {
                    __client.RegisterHandler((short)MahjongNetworkMessageType.Room, __OnRoom);
                    __client.Send((short)MahjongNetworkMessageType.Room, __nameMessage);

                    __nameMessage = null;
                    __roomMessage = null;
                }
                else if (__roomMessage != null)
                {
                    __client.RegisterHandler((short)MahjongNetworkMessageType.Room, __OnRoom);
                    __client.Send((short)MahjongNetworkMessageType.Create, __roomMessage);

                    __roomMessage = null;
                }
            }
        }
        else
        {
            JoinRoom(nameMessage.name);
        }
    }
Exemplo n.º 2
0
    public void CreateRoom(Mahjong.ShuffleType shuffleType, MahjongRoomType roomType)
    {
        if (__client == null)
        {
            return;
        }

        if (__client.isConnected)
        {
            __client.RegisterHandler((short)MahjongNetworkMessageType.Room, __OnRoom);
            __client.Send((short)MahjongNetworkMessageType.Create, new MahjongRoomMessage(shuffleType, roomType));

            __roomMessage = null;
        }
        else if (__nameMessage == null && __roomMessage == null)
        {
            __roomMessage = new MahjongRoomMessage(shuffleType, roomType);

            Create();
        }
    }
Exemplo n.º 3
0
    private void __OnCreate(NetworkMessage message)
    {
        NetworkConnection connection = message == null ? null : message.conn;

        if (connection == null)
        {
            return;
        }

        MahjongRoomMessage roomMessage = message.ReadMessage <MahjongRoomMessage>();
        string             name        = nextRoomIndex.ToString("D6");

        if (CreateRoom(name, roomMessage.shuffleType, roomMessage.roomType) == -1)
        {
            SendErrorMessage(connection.connectionId, MahjongErrorType.RoomCreatedFail);
        }
        else
        {
            Send(connection.connectionId, (short)MahjongNetworkMessageType.Room, new NameMessage(name));
        }
    }