Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }
Exemple #4
0
    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);
    }
Exemple #5
0
    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();
 }
Exemple #7
0
 public void OnClickBuild()
 {
     M_ScreenManager.SHideScreen();
     M_BuildingManager.SStartBuilding(buildingData);
 }
Exemple #8
0
    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);
    }
Exemple #9
0
 public void OnEmploy()
 {
     UI_ScreenBuilding.AssignWorker(m_employee.GetId());
     M_ScreenManager.SChangeScreen(this.gameObject);
 }
Exemple #10
0
 public void OnClickInfo()
 {
     UI_ScreenSettler.SShowSettler(m_settler);
     M_ScreenManager.SChangeScreenPersistentBack(m_settlerScreen);
     UI_ScreenRemoveWorker.SSetIfInfoScreen(true);
 }