public static void RegisterController(Controller controller) { if (NetworkServer.active && playersConnID == null) { playersConnID = new Dictionary <int, Controller> (); } if (NetworkServer.active) { playersConnID.Add(controller.connectionToClient.connectionId, controller); controller.cachedID = controller.connectionToClient.connectionId; } data = controller.data; if (players == null) { players = new List <PlayerData> (); } if (controller.playbackMode) { return; } //Disallow duplicates, should probably throw an error if (controller.gmIndex != -1 && players.Count > controller.gmIndex && players[controller.gmIndex].controller == controller) { return; } players.Add(new PlayerData(controller, tick)); controller.gmIndex = players.Count - 1; players [controller.gmIndex].startTick = tick; Debug.Assert(controller == players[controller.gmIndex].controller, "Controllers don't match!"); }
public static void RegisterController(Controller controller) { if (NetworkServer.active && playersConnID == null) { playersConnID = new Dictionary <int, Controller> (); } if (NetworkServer.active) { playersConnID.Add(controller.connectionToClient.connectionId, controller); } data = controller.data; if (players == null) { players = new List <PlayerData> (); } if (controller.playbackMode) { return; } players.Add(new PlayerData(controller, tick)); controller.gmIndex = players.Count - 1; players [controller.gmIndex].startTick = tick; }