Example #1
0
        private static void processNetworkAuthorityMessage(byte[] msg, bool clientMessage)
        {
            short netID = ObjectSerializer.deserializeShort(ref msg);

            if (NetworkEntityManager.Instance.findComponent(netID, out NetworkIdentity netIdentity))
            {
                NetworkAuthority networkAuthority = ObjectSerializer.deserializeByte(ref msg) == 1 ? NetworkAuthority.CLIENT : NetworkAuthority.SERVER;
                netIdentity.networkAuthority = networkAuthority;

                //Message was sent from a client, now being processed on the server
                if (clientMessage && ServerBehaviour.Instance)
                {
                    short  clientID            = ObjectSerializer.deserializeShort(ref msg);   //Client who sent the message
                    byte[] networkAuthorityMsg = MessageFactory.createNetworkAuthorityMessage(netIdentity, networkAuthority);
                    ServerBehaviour.Instance.sendMessage(networkAuthorityMsg, clientID, true); //Forward to all clients but the sender
                }
            }
        }