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)); }
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)); }