Exemple #1
0
            public void InstantiatePawn(Pawn.Server_PawnData data)
            {
                Pawn targetPawn = null;

                for (int i = 0; i < prefabsPawn.Count; i++)
                {
                    if (prefabsPawn[i].pawnType == data.pawnType)
                    {
                        targetPawn = prefabsPawn[i];
                        break;
                    }
                }
                if (targetPawn != null)
                {
                    Pawn newPawn = Instantiate(targetPawn);
                    newPawn.serverData = data;
                    newPawn.SetPosition(data.position, data.rotation, data.scale);

                    pawns.Add(data.server_Ref, newPawn);
                    if (playersList.TryGetValue(data.ID_Handler, out PlayerHandle handler))
                    {
                        handler.AssignedPawn(newPawn);
                    }
                    else
                    {
                        Debug.LogError("Handler not created : " + data.ID_Handler);
                    }
                }
                else
                {
                    Debug.LogError("Pawn type not listed");
                }
            }
    public void CreateCharacter(int connectionID, int id_Character, int id_Token)
    {
        Content_Lobby character = null;

        for (int i = 0; i < sessionData.Content_Lobby.characters.Count; i++)
        {
            if (sessionData.Content_Lobby.characters[i].ID_Character == id_Character)
            {
                character = sessionData.Content_Lobby.characters[i];
            }
        }
        if (character != null)
        {
            Pawn.Server_PawnData data = new Pawn.Server_PawnData();
            data.ID_Handler = connectionID;

            data.position = CastCenterCamera();
            data.rotation = Vector3.zero;
            data.scale    = Vector3.one;

            data.pawnType = Pawn.PawnPackets.P_Player;

            PlayerController.PlayerController_Data dataToParse = new PlayerController.PlayerController_Data();
            dataToParse.id_Character = character.ID_Character;
            dataToParse.id_Token     = character.ID_Token;

            dataToParse.className = character.Class;
            dataToParse.raceName  = character.Race;

            data.classParsed = JsonUtility.ToJson(dataToParse);

            DataSender.SendNewPawn(data);
        }
    }
Exemple #3
0
            public static void SendPawnDestruct(Pawn.Server_PawnData data)
            {
                ByteBuffer bufer = new ByteBuffer();

                bufer.WriteInteger((int)ServerPackets.S_DELETE_PAWN);
                bufer.WriteGuid(data.server_Ref);
                ClientTCP.SendData(bufer.ToArray());
                bufer.Dispose();
            }
Exemple #4
0
            public static void SendAssignPawn(Pawn.Server_PawnData data, int connectionID)
            {
                ByteBuffer bufer = new ByteBuffer();

                bufer.WriteInteger((int)ServerPackets.S_ASSIGN_PAWN);
                bufer.WriteGuid(data.server_Ref);
                bufer.WriteInteger(connectionID);
                ClientTCP.SendData(bufer.ToArray());
                bufer.Dispose();
            }
Exemple #5
0
            public static void SendPawnDestination(Pawn.Server_PawnData data)
            {
                ByteBuffer bufer = new ByteBuffer();

                bufer.WriteInteger((int)ServerPackets.S_MOVE_PAWN);

                bufer.WriteGuid(data.server_Ref);
//                bufer.WriteInteger(data.ID_Handler);

                bufer.WriteVector3(data.position);
                bufer.WriteVector3(data.rotation);
                bufer.WriteVector3(data.scale);
                ClientTCP.SendData(bufer.ToArray());
                bufer.Dispose();
            }
Exemple #6
0
            public static void SendNewPawn(Pawn.Server_PawnData data)
            {
                ByteBuffer bufer = new ByteBuffer();

                bufer.WriteInteger((int)ServerPackets.S_NEW_PAWN);
                bufer.WriteInteger(data.ID_Handler);

                bufer.WriteVector3(data.position);
                bufer.WriteVector3(data.rotation);
                bufer.WriteVector3(data.scale);

                bufer.WriteInteger((int)data.pawnType);
                bufer.WriteString(data.classParsed);

                ClientTCP.SendData(bufer.ToArray());
                bufer.Dispose();
            }
    public void CreateItem(int connectionID, int id_Token)
    {
        Pawn.Server_PawnData data = new Pawn.Server_PawnData();
        data.ID_Handler = connectionID;

        data.position = CastCenterCamera();
        data.rotation = Vector3.zero;
        data.scale    = Vector3.one;

        data.pawnType = Pawn.PawnPackets.P_Items;

        ItemPawn.ItemPawn_Data dataToParse = new ItemPawn.ItemPawn_Data();
        dataToParse.id_Token = id_Token;

        data.classParsed = JsonUtility.ToJson(dataToParse);

        DataSender.SendNewPawn(data);
    }
Exemple #8
0
            public static void HandleNewPawn(byte[] data)
            {
                Pawn.Server_PawnData dataPawn = new Pawn.Server_PawnData();

                ByteBuffer buffer = new ByteBuffer();

                buffer.WriteBytes(data);
                int packetID = buffer.ReadInteger();

                dataPawn.server_Ref = buffer.ReadGuid();
                dataPawn.ID_Handler = buffer.ReadInteger();

                dataPawn.position = buffer.ReadVector3();
                dataPawn.rotation = buffer.ReadVector3();
                dataPawn.scale    = buffer.ReadVector3();

                dataPawn.pawnType    = (Pawn.PawnPackets)buffer.ReadInteger();
                dataPawn.classParsed = buffer.ReadString();

                buffer.Dispose();

                NetworkManager.instance.InstantiatePawn(dataPawn);
            }