Skip to content

Commit

Permalink
NetworkClient - moved RegisterMessageHandlers down
Browse files Browse the repository at this point in the history
  • Loading branch information
MrGadget1024 committed Jan 3, 2023
1 parent 273f910 commit 34f6df2
Showing 1 changed file with 35 additions and 35 deletions.
70 changes: 35 additions & 35 deletions Assets/Mirror/Core/NetworkClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,41 +145,6 @@ static void RemoveTransportHandlers()
Transport.active.OnClientError -= OnTransportError;
}

internal static void RegisterMessageHandlers(bool hostMode)
{
// host mode client / remote client react to some messages differently.
// but we still need to add handlers for all of them to avoid
// 'message id not found' errors.
if (hostMode)
{
RegisterHandler<ObjectDestroyMessage>(OnHostClientObjectDestroy);
RegisterHandler<ObjectHideMessage>(OnHostClientObjectHide);
RegisterHandler<NetworkPongMessage>(_ => { }, false);
RegisterHandler<SpawnMessage>(OnHostClientSpawn);
// host mode doesn't need spawning
RegisterHandler<ObjectSpawnStartedMessage>(_ => { });
// host mode doesn't need spawning
RegisterHandler<ObjectSpawnFinishedMessage>(_ => { });
// host mode doesn't need state updates
RegisterHandler<EntityStateMessage>(_ => { });
}
else
{
RegisterHandler<ObjectDestroyMessage>(OnObjectDestroy);
RegisterHandler<ObjectHideMessage>(OnObjectHide);
RegisterHandler<NetworkPongMessage>(NetworkTime.OnClientPong, false);
RegisterHandler<SpawnMessage>(OnSpawn);
RegisterHandler<ObjectSpawnStartedMessage>(OnObjectSpawnStarted);
RegisterHandler<ObjectSpawnFinishedMessage>(OnObjectSpawnFinished);
RegisterHandler<EntityStateMessage>(OnEntityStateMessage);
}

// These handlers are the same for host and remote clients
RegisterHandler<TimeSnapshotMessage>(OnTimeSnapshotMessage);
RegisterHandler<ChangeOwnerMessage>(OnChangeOwner);
RegisterHandler<RpcBufferMessage>(OnRPCBufferMessage);
}

// connect /////////////////////////////////////////////////////////////
// initialize is called before every connect
static void Initialize(bool hostMode)
Expand Down Expand Up @@ -461,6 +426,41 @@ public static void Send<T>(T message, int channelId = Channels.Reliable)
}

// message handlers ////////////////////////////////////////////////////
internal static void RegisterMessageHandlers(bool hostMode)
{
// host mode client / remote client react to some messages differently.
// but we still need to add handlers for all of them to avoid
// 'message id not found' errors.
if (hostMode)
{
RegisterHandler<ObjectDestroyMessage>(OnHostClientObjectDestroy);
RegisterHandler<ObjectHideMessage>(OnHostClientObjectHide);
RegisterHandler<NetworkPongMessage>(_ => { }, false);
RegisterHandler<SpawnMessage>(OnHostClientSpawn);
// host mode doesn't need spawning
RegisterHandler<ObjectSpawnStartedMessage>(_ => { });
// host mode doesn't need spawning
RegisterHandler<ObjectSpawnFinishedMessage>(_ => { });
// host mode doesn't need state updates
RegisterHandler<EntityStateMessage>(_ => { });
}
else
{
RegisterHandler<ObjectDestroyMessage>(OnObjectDestroy);
RegisterHandler<ObjectHideMessage>(OnObjectHide);
RegisterHandler<NetworkPongMessage>(NetworkTime.OnClientPong, false);
RegisterHandler<SpawnMessage>(OnSpawn);
RegisterHandler<ObjectSpawnStartedMessage>(OnObjectSpawnStarted);
RegisterHandler<ObjectSpawnFinishedMessage>(OnObjectSpawnFinished);
RegisterHandler<EntityStateMessage>(OnEntityStateMessage);
}

// These handlers are the same for host and remote clients
RegisterHandler<TimeSnapshotMessage>(OnTimeSnapshotMessage);
RegisterHandler<ChangeOwnerMessage>(OnChangeOwner);
RegisterHandler<RpcBufferMessage>(OnRPCBufferMessage);
}

/// <summary>Register a handler for a message type T. Most should require authentication.</summary>
public static void RegisterHandler<T>(Action<T> handler, bool requireAuthentication = true)
where T : struct, NetworkMessage
Expand Down

0 comments on commit 34f6df2

Please sign in to comment.