protected NetworkWorker networkWorker; // The worker thread used to send and receive data #endregion Fields #region Constructors /// <summary> /// Create a new NetworkBase. /// </summary> /// <param name="startingState">The state to start the network state machine in.</param> protected NetworkBase(NetworkStateMachine.NetworkState startingState) { networkStateMachine = new NetworkStateMachine(startingState); RegisterStateMachineTransitions(); continueRunning = true; gameDataUpdater = null; // Set this to null initially networkThread = new Thread(NetworkMain); networkThread.IsBackground = true; return; }
/// <summary> /// Register a delegate to handle updates to the game. /// </summary> /// <param name="gameDataUpdater">A delegate function to call when game data is received over the network.</param> public void RegisterGameDataUpdater(GameDataUpdater gameDataUpdater) { this.gameDataUpdater = gameDataUpdater; return; }