private BuildMenuData GetMenuData(BuildingSlot slot) { BuildMenuData menuData = new BuildMenuData(); menuData.position = Camera.main.WorldToScreenPoint(slot.transform.position); if (slot.Occupied) { menuData.BuildingData = _buildingsData[slot.Building.Type]; menuData.BuildingLevel = slot.Building.Level; menuData.MaxBuildingLevel = _buildingsData[slot.Building.Type].MaxLevel; } return(menuData); }
public void Initialize(BuildMenuData data) { if (data.BuildingLevel + 1 < data.MaxBuildingLevel) { _upgradeIcon.Initialize(_gameSystem, data.BuildingData.Data[data.BuildingLevel + 1]); // TODO: dohvati iz gamesystema _sellLabel.text = $"{Mathf.FloorToInt(_gameSystem.BuilderController.SelectedBuildingPrice * 0.75f)} $"; } else { _upgradeIcon.gameObject.SetActive(false); } transform.position = data.position; Refresh(); }
public void Patch() { StructureTypeEnum = EnumCache <Enums.StructureType> .Instance.Patch(StructureTypeEnumName); PatchedStructureTypeEnum(StructureTypeEnum); SetupPrefabDuringPatchtime(Prefab); ActivePlaceableStructureCreators.Add <T>(this, StructureTypeEnum); if (ShouldAppearInBuildMenu) { BuildMenuData.AddBuildItem(new BuildMenuItem( sprite: ItemBuildSprite, itemName: $"{IObjectName} (${IObjectCost})", onClick: () => BuildingController.Instance.SpawnStructure(StructureTypeEnum) )); } Utilities.Logger.Print($"Registered PlaceableStructureCreator of Controller {typeof(T).Name}"); }
public void ShowUpgradeMenu(BuildMenuData data) { _upgradeMenu.gameObject.SetActive(true); _upgradeMenu.Initialize(data); }
public void ShowBuildMenu(BuildMenuData data) { _buildMenu.gameObject.SetActive(true); _buildMenu.Initilaize(data); }