Пример #1
0
        private static void HandleSnowPileSync(SnowPileSync sync)
        {
            if (sync == null)
            {
                throw new WrongPacketTypeException();
            }
            Debug.Log("Received snow pile sync");
            GameObject snowPile = GameObject.Instantiate(Prefabs.Instance.SnowPilePrefab);

            World.Instance.AddObject(snowPile, sync.ObjectID);
            snowPile.transform.position = new Vector2(sync.PosX, sync.PosY);
        }
Пример #2
0
        private void Drop()
        {
            GameObject pile = GameObject.Instantiate(Prefabs.Instance.SnowPilePrefab);

            pile.transform.position = new Vector2(transform.position.x, transform.position.y);

            int id = World.Instance.AddObject(pile);

            pile.GetComponent <SnowPile>().Initialize(id);
            Carrying = false;

            SnowPileSync sync = new SnowPileSync()
            {
                ObjectID = id,
                PosX     = transform.position.x,
                PosY     = transform.position.y,
            };

            Socket.Instance.SendPacket(sync, Packets.SnowPileSync);
        }
Пример #3
0
        public static void ReadMessage(byte[] message)
        {
            Envelope envelope = SerializationHandler.Deserialize <Envelope>(message);

            if (envelope == null)
            {
                throw new NotAnEnvelopeException();
            }
            switch (envelope.PacketType)
            {
            case Packets.None:
                Debug.Log("None");
                break;

            case Packets.String:
                string stringVal = SerializationHandler.Deserialize <string>(envelope.Packet);
                Debug.Log(stringVal);
                break;

            case Packets.AckLogin:
                AckLogin ackLogin = SerializationHandler.Deserialize <AckLogin>(envelope.Packet);
                HandleAckLogin(ackLogin);
                break;

            case Packets.AckJoinTeam:
                AckJoinTeam ackJoinTeam = SerializationHandler.Deserialize <AckJoinTeam>(envelope.Packet);
                HandleAckJoinTeam(ackJoinTeam);
                break;

            case Packets.DestroyObject:
                DestroyObject destroyObject = SerializationHandler.Deserialize <DestroyObject>(envelope.Packet);
                HandleDestroyObject(destroyObject);
                break;

            case Packets.PlayerSync:
                PlayerSync playerSync = SerializationHandler.Deserialize <PlayerSync>(envelope.Packet);
                HandlePlayerSync(playerSync);
                break;

            case Packets.SnowballSync:
                SnowballSync snowballSync = SerializationHandler.Deserialize <SnowballSync>(envelope.Packet);
                HandleSnowballSync(snowballSync);
                break;

            case Packets.SnowPileSync:
                SnowPileSync snowPileSync = SerializationHandler.Deserialize <SnowPileSync>(envelope.Packet);
                HandleSnowPileSync(snowPileSync);
                break;

            case Packets.LeaderboardData:
                LeaderboardDataEntry leaderboardDataResponse = SerializationHandler.Deserialize <LeaderboardDataEntry>(envelope.Packet);
                HandleLeaderboardDataEntry(leaderboardDataResponse);
                break;

            case Packets.EndLeaderboardResponse:
                HandleEndLeaderboardResponse();
                break;

            case Packets.AckConnection:
                HandleAckConnection();
                break;

            default:
                break;
            }
        }