Exemplo n.º 1
0
        private OpenContainerTask CreateTask(IActor actor, IStaticObject staticObject)
        {
            var openMethod = new HandOpenContainerMethod();

            var taskContext = new ActorTaskContext(_player.SectorNode.Sector);

            return(new OpenContainerTask(actor, taskContext, staticObject, openMethod));
        }
        private OpenContainerTask CreateTask(IActor actor, IStaticObject staticObject)
        {
            var openMethod = new HandOpenContainerMethod();

            var sector = _player.SectorNode.Sector;

            if (sector is null)
            {
                throw new InvalidOperationException();
            }

            var taskContext = new ActorTaskContext(sector);

            return(new OpenContainerTask(actor, taskContext, staticObject, openMethod));
        }
Exemplo n.º 3
0
        protected override void ExecuteTacticCommand()
        {
            var openMethod = new HandOpenContainerMethod();

            var targetContainerViewModel = GetSelectedNodeViewModel();

            if (targetContainerViewModel == null)
            {
                throw new InvalidOperationException("Невозможно выполнить команду. Целевой контейнер не выбран.");
            }

            var container = targetContainerViewModel.Container;

            if (container == null)
            {
                throw new InvalidOperationException("Невозможно выполнить команду. Целевая модель представления не содержит ссылки на контейнер.");
            }

            var intetion = new Intention <OpenContainerTask>(a => new OpenContainerTask(a, container, openMethod));

            _playerState.TaskSource.Intent(intetion);
        }
        private OpenContainerTask CreateTask(IActor actor, IStaticObject staticObject)
        {
            var openMethod = new HandOpenContainerMethod();

            return(new OpenContainerTask(actor, staticObject, openMethod, SectorManager.CurrentSector.Map));
        }
        private OpenContainerTask CreateTask(IActor actor, IPropContainer container)
        {
            var openMethod = new HandOpenContainerMethod();

            return(new OpenContainerTask(actor, container, openMethod, SectorManager.CurrentSector.Map));
        }