Beispiel #1
0
        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!");
        }
Beispiel #2
0
        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;
        }