/// <summary> /// Invokes the event over the network. /// </summary> public void invoke() { if (hasNetworkAuthority) { networkIdentity.sendMessage(MessageFactory.createNetworkEventMessage(networkIdentity, !NetworkIdentity.isServer)); } OnEventInvoked.Invoke(); }
private static void processNetworkEventMessage(byte[] msg, bool clientMessage) { short netID = ObjectSerializer.deserializeShort(ref msg); if (NetworkEntityManager.Instance.findComponent(netID, out NetworkedEvent networkedEvent)) { networkedEvent.OnEventInvoked.Invoke(); //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[] networkEventMsg = MessageFactory.createNetworkEventMessage(networkedEvent.networkIdentity); ServerBehaviour.Instance.sendMessage(networkEventMsg, clientID, true); //Forward to all clients but the sender } } }