public static void SRemoveEmployee(ISettler settler) { if (s_instance != null) { s_instance.RemoveEmployee(settler); } }
public static void SShowSettler(ISettler settler) { if (s_instance != null) { s_instance.ShowSettler(settler); } }
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 Setup(ISettler settler, GameObject settlerScreen) { if (settler == null) { Debug.LogWarning("Settler cannot be null!"); return; } else if (settlerScreen == null) { Debug.LogWarning("SettlerScreen cannot be null!"); return; } if (s_count % 2 == 0) { gameObject.GetComponent <Image>().color = backgroundAColor; m_baseColor = backgroundAColor; } else { gameObject.GetComponent <Image>().color = backgroundBColor; m_baseColor = backgroundBColor; } m_settler = settler; name.text = settler.GetName(); settlerPortrait.sprite = M_SettlersManager.SGetPortrait(settler.GetPortraitId()); m_settlerScreen = settlerScreen; s_count++; }
public void AddEmployee(Settler settler) { if (settler == m_employee) { m_employee = null; return; } m_employee = settler; RefreshUI(); }
/// <summary> /// Assings House into given Settler. Note that it won't handle any /// on-Building operaions like updates. /// </summary> /// <returns> Previous Settler's house </returns> public Guid AssignHouse(Guid settlerId, Guid buildingId) { ISettler settler = GetSettler(settlerId); if (settler == null) { Debug.LogWarning("Given settler's GUID is invalid."); return(Guid.Empty); } return(settler.SetHouse(buildingId)); }
/// <summary> /// Appropriate way to Remove workplace from Settler. /// Note that it won't handle any Building Update. /// </summary> /// <returns>Id of removed workplace</returns> public Guid RemoveWorkplace(Guid settlerId) { ISettler settler = GetSettler(settlerId); if (settler == null) { Debug.LogWarning("Given settler's GUID is invalid."); return(Guid.Empty); } return(settler.RemoveWorkplace()); }
public void RemoveEmployee(ISettler settler) { if (s_workersToRemove.Contains(settler)) { s_workersToRemove.Remove(settler); } else { s_workersToRemove.Add(settler); } RefreshUI(); }
public void ShowSettler(ISettler settler) { /* * if (settler == null) * { * Debug.LogWarning(typeof(Settler).Name + " cannot be null!"); * M_ScreenManager.SPreviousScreen(); * return; * } * * m_settler = settler; * settlerName.text = settler.m_name; * settlerUpkeep.text = settler.m_upkeep.ToString(); * settlerMoodSlider.value = settler.m_mood; * settlerMoodValue.text = settler.mood.ToString(); * * settlerPortrait.sprite = M_SettlersManager.SGetPortrait(settler.GetPortraitId()); */ }
public void Setup(ISettler settler, GameObject settlerScreen) { if (s_counter % 2 == 0) { gameObject.GetComponent <Image>().color = colorRowA; } else { gameObject.GetComponent <Image>().color = colorRowB; } m_settler = settler; m_settlerScreen = settlerScreen; name.text = settler.GetName(); moodSlider.value = settler.GetMood(); settlerPortrait.sprite = M_SettlersManager.SGetPortrait(settler.GetPortraitId()); infoButton.onClick.AddListener(OnClickInfo); s_counter++; }
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); }