public override void NetworkCreateObject(NetWorker networker, int identity, uint id, FrameStream frame, Action <NetworkObject> callback) { if (networker.IsServer) { if (frame.Sender != null && frame.Sender != networker.Me) { if (!ValidateCreateRequest(networker, identity, id, frame)) { return; } } } bool availableCallback = false; NetworkObject obj = null; MainThreadManager.Run(() => { switch (identity) { case ChatManagerNetworkObject.IDENTITY: availableCallback = true; obj = new ChatManagerNetworkObject(networker, id, frame); break; case CubeForgeGameNetworkObject.IDENTITY: availableCallback = true; obj = new CubeForgeGameNetworkObject(networker, id, frame); break; case ExampleProximityPlayerNetworkObject.IDENTITY: availableCallback = true; obj = new ExampleProximityPlayerNetworkObject(networker, id, frame); break; case NetworkCameraNetworkObject.IDENTITY: availableCallback = true; obj = new NetworkCameraNetworkObject(networker, id, frame); break; case TestNetworkObject.IDENTITY: availableCallback = true; obj = new TestNetworkObject(networker, id, frame); break; case BritainPlayerNetworkObject.IDENTITY: availableCallback = true; obj = new BritainPlayerNetworkObject(networker, id, frame); break; } if (!availableCallback) { base.NetworkCreateObject(networker, identity, id, frame, callback); } else if (callback != null) { callback(obj); } }); }
public override void NetworkCreateObject(NetWorker networker, int identity, uint id, FrameStream frame, Action <NetworkObject> callback) { if (networker.IsServer) { if (frame.Sender != null && frame.Sender != networker.Me) { if (!ValidateCreateRequest(networker, identity, id, frame)) { return; } } } bool availableCallback = false; NetworkObject obj = null; MainThreadManager.Run(() => { switch (identity) { case ChatManagerNetworkObject.IDENTITY: availableCallback = true; obj = new ChatManagerNetworkObject(networker, id, frame); break; case DungeonGeneratorNetworkObject.IDENTITY: availableCallback = true; obj = new DungeonGeneratorNetworkObject(networker, id, frame); break; case GameManagerNetworkObject.IDENTITY: availableCallback = true; obj = new GameManagerNetworkObject(networker, id, frame); break; case GameNetworkManagerNetworkObject.IDENTITY: availableCallback = true; obj = new GameNetworkManagerNetworkObject(networker, id, frame); break; case PlayerControllerNetworkObject.IDENTITY: availableCallback = true; obj = new PlayerControllerNetworkObject(networker, id, frame); break; case SpellManagerNetworkObject.IDENTITY: availableCallback = true; obj = new SpellManagerNetworkObject(networker, id, frame); break; case SpellSpawnPointNetworkObject.IDENTITY: availableCallback = true; obj = new SpellSpawnPointNetworkObject(networker, id, frame); break; case TestNetworkObject.IDENTITY: availableCallback = true; obj = new TestNetworkObject(networker, id, frame); break; } if (!availableCallback) { base.NetworkCreateObject(networker, identity, id, frame, callback); } else if (callback != null) { callback(obj); } }); }