public void ShowSettlers(List <ISettler> settlers) { for (int i = 0; i < container.transform.childCount; i++) { GameObject.Destroy(container.transform.GetChild(i).gameObject); } setlersCount.text = settlers.Count.ToString(); RectTransform containerTransform = container.GetComponent <RectTransform>(); containerTransform.sizeDelta = new Vector2(containerTransform.rect.width, elemSettlerRow.GetComponent <RectTransform>().rect.height *settlers.Count); for (int i = 0; i < settlers.Count; i++) { GameObject temp = Instantiate(elemSettlerRow); temp.transform.SetParent(container.transform); temp.GetComponent <UI_ElemSettler>().Setup(settlers[i], settlerScreen); RectTransform rectTransform = temp.GetComponent <RectTransform>(); float yOffset = container.GetComponent <RectTransform>().rect.height / 2 - rectTransform.rect.height / 2; rectTransform.localPosition = new Vector3(0, yOffset - rectTransform.rect.height * i, 0); } M_ScreenManager.SChangeScreenPersistentBack(this.gameObject); }
public void ShowEmployScreen() { m_employee = null; employButton.gameObject.SetActive(false); m_settlersAvailable = 0; int i; for (i = 0; i < container.transform.childCount; i++) { GameObject.Destroy(container.transform.GetChild(i).gameObject); } List <ISettler> settlers = M_SettlersManager.SGetSettlers(); i = 0; foreach (Settler s in settlers) { if (s.GetWorkplace() == Guid.Empty) { m_settlersAvailable++; GameObject temp = Instantiate(settlerUIprefab); temp.transform.SetParent(container.transform); temp.GetComponent <UI_ElemSettlerEmploy>().Setup(s, settlerScreen); RectTransform rectTransform = temp.GetComponent <RectTransform>(); float yOffset = container.GetComponent <RectTransform>().rect.height / 2 - rectTransform.rect.height / 2; rectTransform.localPosition = new Vector3(0, yOffset - rectTransform.rect.height * i, 0); i++; } } settlersCount.text = m_settlersAvailable.ToString(); M_ScreenManager.SChangeScreenPersistentBack(this.gameObject); }
public void ShowStatsProduction(IBuildingProduction building) { m_currentBuilding = building; // show stats buildingName.text = building.GetName(); buildingDesc.text = building.GetDesc(); foodPerDay.text = string.Format(FORMAT_PER_DAY, building.GetProducedFood()); researchPerDay.text = string.Format(FORMAT_PER_DAY, building.GetProducedResearch()); wareProd.text = building.GetProducedWareType().ToString(); // check if someone's working Guid settler = building.GetWorker(); /* Done in RefreshUI() * if (settler == Guid.Empty) // no settler * { * removeButton.gameObject.SetActive(false); * employButton.gameObject.SetActive(true); * } else * { * removeButton.gameObject.SetActive(true); * employButton.gameObject.SetActive(false); * }*/ houseBuildingContent.SetActive(false); productiveBuildingContent.SetActive(true); /* done in RefreshUI() * if (building.GetWorker() != Guid.Empty) * { * workerImage.sprite = M_SettlersManager.SGetPortraitOfSettler(building.GetWorker()); * }*/ M_ScreenManager.SChangeScreenPersistentBack(s_instance.gameObject); }
public void ShowStatsHouse(IBuildingHouse building) { m_currentBuilding = building; buildingName.text = building.GetName(); buildingDesc.text = building.GetDesc(); productiveBuildingContent.SetActive(false); houseBuildingContent.SetActive(true); M_ScreenManager.SChangeScreenPersistentBack(s_instance.gameObject); }
private void Start() { if (backButton == null) { Debug.LogWarning("Component is not fully initialized!"); } if (s_instance != null) { Debug.LogWarning("Once instance of class is allowed!"); } s_instance = this; foreach (GameObject o in screensToBeReactivated) { o.SetActive(true); } m_activated = true; m_activationTimeElapsed = 0f; }
public void OnRemove() { //UI_ScreenBuilding.RemoveWorker(s_workersToRemove); M_ScreenManager.SHideScreen(); }
public void OnClickBuild() { M_ScreenManager.SHideScreen(); M_BuildingManager.SStartBuilding(buildingData); }
public void ShowSettler(ISettler settler) { if (settler == null) { Debug.LogWarning(typeof(ISettler).Name + " cannot be null!"); M_ScreenManager.SPreviousScreen(); return; } m_settler = settler; settlerName.text = settler.GetName(); settlerUpkeep.text = settler.GetUpkeep().ToString(); settlerMood.value = settler.GetMood(); moodValue.text = string.Format("{0}%", settler.GetMood()); // Preferences List <GameObject> favBuildings = new List <GameObject>(); foreach (FavoriteBuilding favoriteBuilding in settler.GetFavoriteBuildings()) { GameObject obj = Instantiate(favoriteThingRowElementPrefab); if (favoriteBuilding.active) { obj.GetComponent <Image>().color = elemBgHighlightColor; } obj.GetComponentInChildren <TMP_Text>().text = M_BuildingManager.SGetDatBuilding(favoriteBuilding.buildingTemplId).name; obj.GetComponentInChildren <Slider>().value = favoriteBuilding.maxMood; favBuildings.Add(obj); } List <GameObject> favWares = new List <GameObject>(); foreach (FavoriteWare favoriteWare in settler.GetFavoriteWares()) { GameObject obj = Instantiate(favoriteThingRowElementPrefab); if (favoriteWare.active) { obj.GetComponent <Image>().color = elemBgHighlightColor; } obj.GetComponentInChildren <TMP_Text>().text = favoriteWare.ware.ToString(); obj.GetComponentInChildren <Slider>().value = favoriteWare.mood; favWares.Add(obj); } GUIUtils.AddElementsToCleanYScrollContainer(favoriteBuildingsContainer, favBuildings); GUIUtils.AddElementsToCleanYScrollContainer(favoriteWaresContainer, favWares); preferencesSubPage.SetActive(false); settlerPortrait.sprite = M_SettlersManager.SGetPortrait(settler.GetPortraitId()); if (settler.GetWorkplace() != System.Guid.Empty) { workplaceButton.image.sprite = M_BuildingManager.SGetBuilding(settler.GetWorkplace()).GetIcon(); } else { workplaceButton.image.sprite = spriteWhenNoWorkplace; } if (settler.GetHouse() != System.Guid.Empty) { homeButton.image.sprite = M_BuildingManager.SGetBuilding(settler.GetHouse()).GetIcon(); } else { homeButton.image.sprite = spriteWhenNoWorkplace; } M_ScreenManager.SChangeScreenPersistentBack(this.gameObject); }
public void OnEmploy() { UI_ScreenBuilding.AssignWorker(m_employee.GetId()); M_ScreenManager.SChangeScreen(this.gameObject); }
public void OnClickInfo() { UI_ScreenSettler.SShowSettler(m_settler); M_ScreenManager.SChangeScreenPersistentBack(m_settlerScreen); UI_ScreenRemoveWorker.SSetIfInfoScreen(true); }