示例#1
0
        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>();
        }
示例#2
0
        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
            };
        }