void GenerateBuildingButtons() { DestroyBuildingButtons(); int start = CurrentPage == 1 ? 0 : (6 * (CurrentPage - 1)); int end = (start + 6) <= Buildings.Count ? (start + 6) : Buildings.Count; for (int i = start; i < end; i++) { if (i >= Buildings.Count) { break; } GameObject go = Instantiate(buildingBtnPrefab, buildingMenuCanvas); BuildingButton buildingButton = go.GetComponentInChildren <BuildingButton>(); GameObject model = Instantiate(Buildings[i].Model, buildingButton.modelParent.transform); model.transform.localPosition = Vector3.zero; buildingButton.ScaleModel(iconSize); buildingButton.index = i; buildingButton.costText.text = "£" + Buildings[i].Cost.ToString(); buildingButton.nameText.text = Buildings[i].Name; go.SetActive(true); buildingButton.GetComponent <CompoundButton>().OnButtonClicked += BuildingPressed; } UIManager.Instance.BuildingsGenerated(Buildings.Count); }
/////////////////////////////////// //===== BUILDING PLACMENT - In Game public void TryBeginBuildingPurchase(BuildingType buildType, BuildingButton buildingbutton) { //Only set for valid buildable building types if (buildType != BuildingType.off && buildType != BuildingType.remove) { int buildCost = BuildingCosts.GetCost(buildType); //Assume off state until purchase cost is validated //This will clear any previous button highlights or transparent buildings from previous build mode StopBuildingPurchase(); //Check if player can afford to begin purchase of this building if (Resources.instance.CanAfford(buildCost)) { //CAN afford building StartBuildingPurchase(buildType, buildingbutton); } else { //CANNOT afford building //TBD : Play cannot afford sound Debug.LogError("nope"); } } }
/// <summary> /// <para>name : SetBuildingButton</para> /// <para>describe : 마을 건물을 배치.</para> /// <para>tag : [email protected]</para> /// </summary> public void SetBuildingButton(STownBuilding info) { int index = m_buildingButtonGroup.FindIndex(delegate(BuildingButton button) { return(button.TownBuilding.bldNo.Equals(info.bldNo)); }); if (WorldManager.instance.m_dataManager.m_buildingData.CheckBuildingInfoExists((uint)info.bldCode)) { if (index > -1) { m_buildingButtonGroup[index].Init(info); } else { GameObject obj = Instantiate(m_buildingButtonObject) as GameObject; obj.transform.parent = m_villageManager.m_panelGroup[(int)GUIManager_Village.PANEL_TYPE.PANEL_S05]; obj.transform.localScale = Vector3.one; Util.SetGameObjectLayer(obj, LayerMask.NameToLayer("UIBackground")); BuildingButton buildingButton = obj.GetComponent <BuildingButton>(); buildingButton.Init(info); m_buildingButtonGroup.Add(buildingButton); } } }
public static BuildingButton CreateBuildingButton(string givenBuilding, Color givenColour) { BuildingButton output = CreateMenuItem <BuildingButton>("Build" + givenBuilding, givenColour); output.Initialise(givenBuilding); return(output); }
public void PickBuilding(BuildingButton clickedButton) { if (Gold >= clickedButton.Price) { this.ClickedButton = clickedButton; BuildingHover.Instance.ActivateHover(clickedButton.Sprite); } }
public void ActivateButton(BuildingButton button) { foreach (BuildingButton BB in CurrentTab.BuildingButtons) { BB.GetComponent <Image>().color = FrameDefaultColor; } button.GetComponent <Image>().color = FrameActiveColor; }
public void OnBuildingChoose(BuildingButton button) { CurrentBuilding = button.BuildingPrefab; BuildingTabs.ActivateButton(button); Header.text = CurrentBuilding.GetComponent <IBuilding>().Name; Description.text = CurrentBuilding.GetComponent <IBuilding>().Description; }
// 건물 버튼 리스트에 추가하는 함수 public void AddBuildingButtonToList(BuildingButton button) { if (buildingButtons.Contains(button)) { return; } buildingButtons.Add(button); }
public void SetPlacingObject(BuildingButton button) { this.placingObject = button; if (this.currentGhost) { Destroy(this.currentGhost.gameObject); this.currentGhost = null; } }
//A function for when buying buildings, that is when placing the building after clicking the button public void BuyBuilding() { //Only sets it to null if not pressing shift, so if pressing shift can place more than one if (!Input.GetKey(KeyCode.LeftShift)) { //Sets it to null so you have to choose building each time ClickedBuildingBtn = null; } }
void AddItems() { for (int i = 0; i < ItemList.Count; ++i) //Creates building buttons { GameObject newButton = Instantiate(prefab, ContentPanel) as GameObject; BuildingButton buildingButton = newButton.GetComponent <BuildingButton>(); buildingButton.Setup(ItemList[i], this); //Sets the item data for each building button } }
public void TaskOnClick(BuildingButton button) { if (gameStats.cookies >= button.price) { gameStats.cookiesPerSecond += (decimal)button.cookiesPerSecond; gameStats.cookies -= button.price; button.count++; button.price = (long)(button.price * button.priceIncrease + 1.0); } }
// Use this for initialization void Start() { foreach (BuildingObject o in GameController.instance.buildingObjects) { GameObject button = Instantiate(BuildingButton, Group); BuildingButton b = button.GetComponent <BuildingButton>(); b.buildingObject = o; buttons.Add(button); } }
public void PickBuilding(BuildingButton buildingButton) { if (ResourceManager.Instance.CheckIfHaveEnough(buildingButton)) { this.ClickedBuildingBtn = buildingButton; Hover.Instance.Activate(buildingButton.Sprite); ToggleBuildingCanvas(); showBuildingCanvasButton.enabled = false; } }
public BuildingMenu() { Initialise(); BuildingButton observerModebuttonItem = BuildingButton.CreateBuildingButton("Farm", Color.black); observerModebuttonItem.transform.SetParent(TestMain.GetCanvas().transform); TestMain.AddElement <MenuItem>(ref m_item, observerModebuttonItem); m_item[0].transform.localPosition = new Vector3(20, 10, 0); m_item[0].Visible(true); m_item[0].SetSize(10, 10); }
void updateGrandmaTypeUpgradeIfNeeded(BuildingUpgrade upgrade) { if (upgrade.enabled && upgrade.upgradeType == "grandma types") { string description = upgrade.description; BuildingButton theBuilding = buildingForGrandmaType(upgrade); double totalGrandmas = (double)buildingButtonHandler.findButtonWithName("grandma").count; double grandmasPerPercentCpsIncrease = theBuilding.myName == "farm" ? 1.0 : double.Parse(new Regex("(?<=per ).+(?= grandmas)").Match(description).Groups [0].ToString() + ".0"); theBuilding.cookiesPerSecondAddOn = theBuilding.cookiesPerSecond * theBuilding.cookiesPerSecondMultiplier * 0.01 * totalGrandmas / grandmasPerPercentCpsIncrease; } }
//덱의 건물 버튼들 모두 생성 void CreateBuildingButtons(Deck deck) { for (int i = 0; i < Constants.BUILDING_PER_DECK; i++) { GameObject obj = Instantiate(buildingButtonPrefap, buildUI.transform); BuildingButton button = obj.GetComponent <BuildingButton>(); button.card = deck[i]; button.index = i; AddBuildingButtonToList(button); } }
public void Init(List <BuildingInfo> buildingInfoList) { foreach (BuildingInfo buildingInfo in buildingInfoList) { BuildingButton bb = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.BuildingButton].AllocateGameObject <BuildingButton>(ButtonContainer); bb.Initialize(buildingInfo); BuildingButtonDict.Add(buildingInfo.buildingKey, bb); BuildingKey buildingKey = buildingInfo.buildingKey; bb.OnMouseEnterAndLeave.PointerEnter.AddListener(() => OnButtonMouseHover(buildingKey)); bb.OnMouseEnterAndLeave.PointerExit.AddListener(() => OnButtonMouseLeave(buildingKey)); } }
public static void SetupBuildingButton() { var buildingInfo = UIView.Find <UIPanel>("(Library) ZonedBuildingWorldInfoPanel"); if (BButton == null) { BButton = (buildingInfo.AddUIComponent(typeof(BuildingButton)) as BuildingButton); } BButton.width = 40f; BButton.height = 35f; BButton.relativePosition = new Vector3(120, buildingInfo.size.y - BButton.height); BButton.Show(); }
public bool CheckIfHaveEnough(BuildingButton buildingButton) { bool returnValue = true; for (int i = 0; i < buildingButton.Price.Length; i++) { if (resourceValue[i] < buildingButton.Price[i]) { returnValue = false; } } return(returnValue); }
public BuildingButton GetNextButton(BuildingButton button, bool isSwitch) { int index = m_buildingButtonGroup.FindIndex(delegate(BuildingButton btn) { return(btn.Equals(button)); }); if (index < 0) { return(null); } else { int nextIndex = GetNextIndex(index, isSwitch); return(m_buildingButtonGroup[nextIndex]); } }
public void SpawnButtons(Interactable obj) { for (int i = 0; i < obj.options.Length; i++) { BuildingButton newButton = Instantiate(buttonPrefab) as BuildingButton; newButton.transform.SetParent(transform, false); float theta = (2 * Mathf.PI / obj.options.Length) * i; float xPos = Mathf.Sin(theta); float yPos = Mathf.Cos(theta); newButton.transform.localPosition = new Vector3(xPos, yPos, 0f) * 100f; newButton.square.color = obj.options[i].color; newButton.icon.sprite = obj.options[i].sprite; newButton.title = obj.options[i].title; newButton.myMenu = this; } }
bool quantityMet(BuildingUpgrade upgrade) { bool a = upgrade.upgradeClass == "building" && buildingButtonHandler.findButtonWithName(upgrade.upgradeType).count >= Convert.ToInt64(upgrade.quantityNeeded); string theThing = new Regex(" cookies").Replace(upgrade.quantityNeeded, ""); bool b = upgrade.upgradeClass == "flavored cookies" && theThing.Length < 20 && gameStats.cookies >= Convert.ToInt64(theThing); theThing = upgrade.quantityNeeded.Replace(" hand-made cookies", ""); bool c = upgrade.upgradeClass == "clicking upgrades" && theThing.Length < 20 && gameStats.handmadeCookies >= Convert.ToInt64(theThing); BuildingButton theBuilding = buildingForGrandmaType(upgrade); bool d = upgrade.upgradeClass == "grandma types" && theBuilding != null && theBuilding.count >= 15 && buildingButtonHandler.findButtonWithName("grandma").count >= 1; bool e = upgrade.basePrice.Length < 20; // this shouldn't exist. temporary fix. the numbers get too big. also seen above. return((a || b || c || d) && e); }
void Start() { foreach (BuildingProfile building in GlobalData.BuildingProfiles) { GameObject button = Instantiate(BuildingButtonPrefab, transform); button.transform.Find("Name").GetComponent <Text>().text = building.Name; Text text = button.transform.Find("Required").GetComponent <Text>(); text.text = ""; foreach (Resource resource in building.InstallationResources) { text.text += "\r\n" + resource.Type.ToString() + ": " + resource.Count; } button.transform.GetComponent <Image>().sprite = building.Icon; BuildingButton buildingButton = button.GetComponent <BuildingButton>(); buildingButton.Set(building, BuildingsParent); } }
//After a valid building type and cost have been validated, set the in-game build state private void StartBuildingPurchase(BuildingType buildType, BuildingButton buildingbutton) { //Flag on buildInGame.isOn = true; //Set the color of the building button, since it was valid buildingbutton.SetButtonColor(color_ActiveBuildingButton); //Set the current building which the player is attempting to place and purchase buildInGame.currentBuilding = buildType; //Turn on the right click quad, so that cancel building will be processed GO_rightClickQuad.SetActive(true); //Spawn the transparent building on the current tile, if valid SpawnTransparentBuilding_onCurrentTile(); }
private void Update() { if (BuildingButton.IsSelectingBuilding()) { return; } if (Mouse.current.leftButton.wasPressedThisFrame) { StartSelectionArea(); } else if (Mouse.current.leftButton.wasReleasedThisFrame) { FinalizeSelection(); } else if (Mouse.current.leftButton.isPressed) { UpdateSelectionArea(); } }
public void SetResourceColor(BuildingButton buildingButton) { if (GameManager.Instance.ClickedBuildingBtn == null) { for (int i = 0; i < buildingButton.Price.Length; i++) { if (buildingButton.Price[i] != 0) { if (resourceValue[i] >= buildingButton.Price[i]) { resourceText[i].color = enoughResourceColor; } else { resourceText[i].color = notEnoughResourceColor; } } } } }
/// <summary> /// Add building button to the scrollview /// </summary> private void AddBuildingButtons() { if (scrollbarVertical.verticalScrollbar.value == 0) { scrollbarVertical.verticalScrollbar.value = 0.0000001f; int a = 0; while (a < 7) { for (int i = 0; i < itemList.Count; i++) { Item item = itemList[i]; GameObject newButton = buttonObjectPool.GetObject(); newButton.transform.SetParent(contentPanel); BuildingButton buildingButton = newButton.GetComponent <BuildingButton>(); buildingButton.Setup(item); } a++; } } }
private void Awake() { instance = this; }
public static void RemoveGui() { isGuiRunning = false; if (parentGuiView != null) { parentGuiView = null; UnityEngine.Object.Destroy(ecnomicUI); UnityEngine.Object.Destroy(realCityUI); UnityEngine.Object.Destroy(politicsUI); UnityEngine.Object.Destroy(EcButton); UnityEngine.Object.Destroy(RcButton); UnityEngine.Object.Destroy(PlButton); ecnomicUI = null; realCityUI = null; politicsUI = null; EcButton = null; RcButton = null; PlButton = null; } if (BButton != null) { UnityEngine.Object.Destroy(BButton); BButton = null; } if (PBButton != null) { UnityEngine.Object.Destroy(PBButton); PBButton = null; } if (buildingWindowGameObject != null) { UnityEngine.Object.Destroy(buildingWindowGameObject); } //remove HumanUI if (humanUI != null) { if (humanUI.parent != null) { humanUI.parent.eventVisibilityChanged -= HumanInfo_eventVisibilityChanged; } } if (HumanWindowGameObject != null) { UnityEngine.Object.Destroy(HumanWindowGameObject); } //remove TouristUI if (touristUI != null) { if (touristUI.parent != null) { touristUI.parent.eventVisibilityChanged -= TouristInfo_eventVisibilityChanged; } } if (TouristWindowGameObject != null) { UnityEngine.Object.Destroy(TouristWindowGameObject); } if (!isTransportLinesManagerRunning) { if (PBLUI != null) { if (PBLUI.parent != null) { PBLUI.parent.eventVisibilityChanged -= PBLInfo_eventVisibilityChanged; } } if (PBLWindowGameObject != null) { UnityEngine.Object.Destroy(PBLWindowGameObject); } PBLUI._initialized = false; } }