public IOpenContainerResult TryOpen(IPropContainer container) { var props = container.Content.CalcActualItems(); container.Open(); return(new SuccessOpenContainerResult(props)); }
private ContainerVm GetContainerPrefab(IPropContainer container) { if (container is ILootContainer lootContainer) { return(LootPrefab); } return(ChestPrefab); }
public OpenContainerTask([NotNull] IActor actor, [NotNull] IPropContainer container, [NotNull] IOpenContainerMethod method, [NotNull] ISectorMap map) : base(actor) { _container = container ?? throw new ArgumentNullException(nameof(container)); _method = method ?? throw new ArgumentNullException(nameof(method)); _map = map ?? throw new ArgumentNullException(nameof(map)); }
private void OnChildChange(IPropContainer child) { if (Change != null) { _invalidateProps = true; Change(this); } }
/// <summary> /// Проверяем, что сундук не на клетке с выходом. /// </summary> private static void ValidateTransitionOverlap(ISector sector, IPropContainer container) { var transitionNodes = sector.Map.Transitions.Keys; var chestOnTransitionNode = transitionNodes.Contains(container.Node); if (chestOnTransitionNode) { throw new SectorValidationException(); } }
public IOpenContainerResult TryOpen(IPropContainer container) { if (container is null) { throw new System.ArgumentNullException(nameof(container)); } container.Open(); return(new SuccessOpenContainerResult()); }
public BindedPropSet(IPropContainer propSource, IPropSetCalculator calculator) : base(calculator) { if (propSource == null) { throw new ArgumentNullException(); } _propSource = propSource; _propSource.Change += OnPropSourceChange; }
private void CreateContainerViewModel(IEnumerable <MapNodeVM> nodeViewModels, IPropContainer container) { var containerVm = Instantiate(ContainerPrefab, transform); var containerNodeVm = nodeViewModels.Single(x => x.Node == container.Node); var containerPosition = containerNodeVm.transform.position + new Vector3(0, 0, -1); containerVm.transform.position = containerPosition; containerVm.Container = container; containerVm.Selected += Container_Selected; }
public PropsBase(IPropContainer <TStored> container) { if (container != null) { Container = container; } else { Container = new PropContainer <TStored>(); } }
public DepositLifetimeModule(IStaticObjectManager staticObjectManager, IStaticObject parentStaticObject) { _staticObjectManager = staticObjectManager ?? throw new ArgumentNullException(nameof(staticObjectManager)); _parentStaticObject = parentStaticObject ?? throw new ArgumentNullException(nameof(parentStaticObject)); _depositModule = _parentStaticObject.GetModule <IPropDepositModule>(); _containerModule = _parentStaticObject.GetModule <IPropContainer>(); _depositModule.Mined += DepositModule_Mined; _containerModule.ItemsRemoved += ContainerModule_ItemsRemoved; }
private ContainerVm GetContainerPrefab(IPropContainer container) { if (container is ILootContainer) { return(LootPrefab); } if (container.Purpose == PropContainerPurpose.Treasures) { return(ChestPrefab); } return(TrashPrefab); }
public void Remove(IPropContainer child, bool bNotify) { if (children.Contains(child)) { child.Change -= OnChildChange; children.Remove(child); _invalidateProps = true; if (bNotify && Change != null) { Change(this); } } }
public void Add(IPropContainer child, bool bNotify) { // TODO: Remove this check for performance? if (!children.Contains(child)) { child.Change += OnChildChange; children.Add(child); _invalidateProps = true; if (bNotify && Change != null) { Change(this); } } }
private void CreateContainerViewModel(IEnumerable <MapNodeVM> nodeViewModels, IPropContainer container) { var containerPrefab = GetContainerPrefab(container); var containerViewModel = Instantiate(containerPrefab, transform); var containerNodeVm = nodeViewModels.Single(x => x.Node == container.Node); var containerPosition = containerNodeVm.transform.position + new Vector3(0, 0, -1); containerViewModel.transform.position = containerPosition; containerViewModel.Container = container; containerViewModel.Selected += Container_Selected; containerViewModel.MouseEnter += ContainerViewModel_MouseEnter; _containerViewModels.Add(containerViewModel); }
public PropDepositModule(IPropContainer propContainer, IDropTableScheme dropTableScheme, IDropResolver dropResolver, string[] toolTags, int exhaustingValue, DepositMiningDifficulty depositMiningDifficulty) { _propContainer = propContainer ?? throw new ArgumentNullException(nameof(propContainer)); _dropTableScheme = dropTableScheme ?? throw new ArgumentNullException(nameof(dropTableScheme)); _dropResolver = dropResolver ?? throw new ArgumentNullException(nameof(dropResolver)); _toolTags = toolTags ?? throw new ArgumentNullException(nameof(toolTags)); _exhaustingValue = exhaustingValue; _exhaustingCounter = exhaustingValue; Difficulty = depositMiningDifficulty; }
private void ShowFoundPropsModalOrNotFound(IActor actor, IPropContainer propContainer) { var props = propContainer.Content.CalcActualItems(); if (props.Any()) { var containerPopupObj = _container.InstantiatePrefab(ContainerPopupPrefab, WindowCanvas.transform); var containerPopup = containerPopupObj.GetComponent <ContainerPopup>(); var transferMachine = new PropTransferMachine(actor.Person.GetModule <IInventoryModule>(), propContainer.Content); containerPopup.Init(transferMachine); } else { var indicator = Instantiate(FoundNothingIndicatorPrefab, transform); indicator.CurrentLanguage = _uiSettingService.CurrentLanguage; var actorViewModel = ActorViewModels.SingleOrDefault(x => x.Actor == actor); indicator.Init(actorViewModel); } }
public void OpenContainer(IPropContainer container, IOpenContainerMethod method) { var openResult = method.TryOpen(container); DoOpenContainer(container, openResult); }
private void DoOpenContainer(IPropContainer container, IOpenContainerResult openResult) { var e = new OpenContainerEventArgs(container, openResult); OpenedContainer?.Invoke(this, e); }
public OpenContainerEventArgs(IPropContainer container, [NotNull] IOpenContainerResult result) { Container = container; Result = result ?? throw new ArgumentNullException(nameof(result)); }
public StringProps(IPropContainer <string> container) : base(container) { //Debug.EnableTracing(@class); }
private void OnPropSourceChange(IPropContainer propSource) { _invalidatePropSource = true; }
public void Add(IPropContainer child) { Add(child, true); }
private OpenContainerTask CreateTask(IActor actor, IPropContainer container) { var openMethod = new HandOpenContainerMethod(); return(new OpenContainerTask(actor, container, openMethod, SectorManager.CurrentSector.Map)); }
public void Remove(IPropContainer child) { Remove(child, true); }
public IOpenContainerResult TryOpen(IPropContainer container) { container.Open(); return(new SuccessOpenContainerResult()); }
public Props(IPropContainer <object> container) : base(container) { //Debug.EnableTracing(@class); }
public OpenContainerTask(IActor actor, IPropContainer container, IOpenContainerMethod method) : base(actor) { _container = container ?? throw new ArgumentNullException(nameof(container)); _method = method ?? throw new ArgumentNullException(nameof(method)); }