Beispiel #1
0
    private void UpdateGameTimeRemaining()
    {
        GameTimeUpdate time = new GameTimeUpdate();

        time.Time = (int)TrainingRoomMain.timeLeft.TotalSeconds;
        string jsonPackage = JsonUtility.ToJson(time);

        byte[] message      = Encoding.ASCII.GetBytes(jsonPackage);
        var    finalMessage = MessageFactory.AddTypeAndLengthToArray(message, (byte)NetworkMessageType.gameTimeUpdate);

        foreach (TcpClient c in connectedClients)
        {
            SendMessage(c, finalMessage);
        }
    }
Beispiel #2
0
    private void SetupEvents()
    {
        EventManager.healthPickupEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.healthPickup;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                                   );

        EventManager.ammoPickupEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.ammoPickup;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                                 );

        EventManager.snitchPickupEvent.AddListener(x =>
        {
            PlayerId id        = new PlayerId();
            id.Id              = x.gameObject.GetInstanceID();
            string jsonPackage = JsonUtility.ToJson(id);


            byte[] message   = Encoding.ASCII.GetBytes(jsonPackage);
            var finalMessage = MessageFactory.AddTypeAndLengthToArray(message, (byte)NetworkMessageType.snitchPickup);

            foreach (TcpClient c in connectedClients)
            {
                SendMessage(c, finalMessage);
            }
        });

        EventManager.destroyedEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.destroyed;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                                );

        EventManager.hitDetectedEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.hitDetected;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                                  );
        EventManager.successfulHitEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.successfulHit;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                                    );

        EventManager.killEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.kill;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }
                                           );

        EventManager.goalEvent.AddListener(x =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.enteredGoal;
            message[1]     = 0;
            var client     = GetClientForTank(x);

            if (client != null)
            {
                SendMessage(client, message);
            }
        }



                                           );



        EventManager.snitchAppearedEvent.AddListener(() =>
        {
            byte[] message = new byte[2];
            message[0]     = (byte)NetworkMessageType.snitchAppeared;
            message[1]     = 0;

            foreach (TcpClient c in connectedClients)
            {
                SendMessage(c, message);
            }
        });
    }