private void PlaceTransformInOneSlot(IEntityRootComponent entity, ISlotRootComponent slot) { // prepare entity SetSizeEntityOneSlot(entity, slot); entity.Transform.SetParent(slot.Transform); // place entity.Transform.localPosition = new Vector3(); }
/// <summary> /// Only for GridInventory /// </summary> public void PlaceEntityTransform(IEntityRootComponent entity, ISlotRootComponent slot) { var isAreaEntityForInventory = DatabaseReadOnly.IsAreaEntityForInventory(entity, slot.Data.DataInventory); if (isAreaEntityForInventory) { PlaceTransformInArea(entity, slot); } else { PlaceTransformInOneSlot(entity, slot); } }
public HandView([NotNull] IEntityRootComponent entityComponentHand, [NotNull] DataEntity dataEntityHand) { _handViewTransform = entityComponentHand.Transform.gameObject.InstantiateOnRootCanvas().transform; entityComponentHand = _handViewTransform.GetComponent <IEntityRootComponent>(); entityComponentHand.Init(null, dataEntityHand); var entityViewComponentHand = _handViewTransform.gameObject.GetComponent <EntityViewComponent>(); entityViewComponentHand.Start(); SetViewDifferentFromSourceEntity(); }
private Vector2 GetDeltaEntityAreaCenterToLeftTop(IEntityRootComponent entityComponent) { var entityArea = entityComponent.Data; // размеры картинки var sizeEntity = GetSizeEntityArea(entityArea); var sizeCellInImage = sizeEntity / entityArea.Dimensions; sizeEntity = (entityArea.Dimensions - new Vector2Int(1, 1)) * sizeCellInImage; var result = new Vector2(-sizeEntity.x / 2, sizeEntity.y / 2); //var scaleFactor = InventoryManager.CanvasRootRectTransform.localScale; return(result);// * scaleFactor; }
private void PlaceTransformInArea(IEntityRootComponent entity, ISlotRootComponent slotLeftTop) { // prepare entity var entityTransform = entity.Transform; entity.RectTransform.sizeDelta = GetSizeEntityArea(entity.Data, slotLeftTop) * RatioSizeEntityToSlot; var canvasTransform = slotLeftTop.InventoryComponent.CanvasInventory.transform; entityTransform.SetParent(canvasTransform); entityTransform.SetAsLastSibling(); // place var positionSlot = GetSlotPosition(slotLeftTop); var delta = GetDeltaEntityAreaCenterToLeftTop(entity); var resultPosition = positionSlot - delta; entityTransform.localPosition = resultPosition; }
public bool IsAreaEntityForInventory(IEntityRootComponent entitySource, DataInventory inventoryTo) { return(entitySource.Data.IsAreaEntity && inventoryTo.TypeInventory == DataInventory.TypeInventoryEnum.GridSupportMultislotEntity); }
private void SetSizeEntityOneSlot(IEntityRootComponent entity, ISlotRootComponent slot) { var sizeEntityImage = GetSizeEntityOneSlot(slot); entity.RectTransform.sizeDelta = sizeEntityImage; }
public void UnBindEntity(IEntityRootComponent entityComponent) => _bindEntityComponentToData.Remove(entityComponent);
public void BindEntity(IEntityRootComponent entityComponent) => _bindEntityComponentToData.Add(entityComponent);
public bool TryGetEntityComponent(DataEntity dataEntity, out IEntityRootComponent componentResult) => _bindEntityComponentToData.TryGetComponent(dataEntity, out componentResult);