protected GameScreenBase([NotNull] IUnityContainer container) { if (container == null) { throw new ArgumentNullException("container"); } _container = container; _regionManager = _container.Resolve <IRegionManager>(); _playerOrderService = _container.Resolve <IPlayerOrderService>(); AppContext = _container.Resolve <IAppContext>(); }
public GameClient( [NotNull] ISupremacyCallback clientCallback, [NotNull] IPlayerOrderService playerOrderService) //[NotNull] IPlayerTarget1Service playerTarget1Service, //[NotNull] IPlayerTarget2Service playerTarget2Service) { if (clientCallback == null) { throw new ArgumentNullException("clientCallback"); } if (playerOrderService == null) { throw new ArgumentNullException("playerOrderService"); } _clientLock = new object(); _eventLock = new object(); _playerOrderService = playerOrderService; _clientCallback = clientCallback; _scheduler = Scheduler.ClientEventLoop; ((GameClientCallback)_clientCallback).Client = this; _sendChatMessageCommand = new DelegateCommand <ChatMessage>(ExecuteSendChatMessageCommand) { IsActive = true }; _sendCombatOrdersCommand = new DelegateCommand <CombatOrders>(ExecuteSendCombatOrdersCommand) { IsActive = true }; _sendCombatTarget1Command = new DelegateCommand <CombatTargetPrimaries>(ExecuteSendCombatTarget1Command) { IsActive = true }; _sendCombatTarget2Command = new DelegateCommand <CombatTargetSecondaries>(ExecuteSendCombatTarget2Command) { IsActive = true }; _sendInvasionOrdersCommand = new DelegateCommand <InvasionOrders>(ExecuteSendInvasionOrdersCommand) { IsActive = true }; _endInvasionCommand = new DelegateCommand <object>(ExecuteEndInvasionCommand) { IsActive = true }; _saveGameCommand = new DelegateCommand <string>(ExecuteSaveGameCommand) { IsActive = false }; _assignPlayerSlotCommand = new DelegateCommand <Pair <int, int> >(ExecuteAssignPlayerSlotCommand) { IsActive = true }; _clearPlayerSlotCommand = new DelegateCommand <int>(ExecuteClearPlayerSlotCmmand) { IsActive = true }; _closePlayerSlotCommand = new DelegateCommand <int>(ExecuteClosePlayerSlotCmmand) { IsActive = true }; _startMultiplayerGameCommand = new DelegateCommand <object>(ExecuteStartMultiplayerGameCommand) { IsActive = true }; _sendUpdatedGameOptionsCommand = new DelegateCommand <GameOptions>(ExecuteSendUpdatedGameOptionsCommand) { IsActive = true }; }