コード例 #1
0
    private void Start()
    {
        if (inputFood == null ||
            inputResearch == null)
        {
            Debug.LogWarning("Component hasn't been fully initialized!");
        }



        List <GameObject> rows = new List <GameObject>();

        int i = 0;
        List <DAT_Building> buildings = M_BuildingManager.SGetBuildingsTemplates().GetBuildings();

        foreach (DAT_Building building in buildings)
        {
            GameObject temp = Instantiate(elemBuilding);
            //temp.GetComponent<UI_DevElemBuilding>().Setup(building);


            if (i % 2 == 0)
            {
                temp.GetComponent <Image>().color = elemBgColorA;
            }
            else
            {
                temp.GetComponent <Image>().color = elemBgColorB;
            }
            rows.Add(temp);
            i++;
        }

        GUIUtils.AddElementsToCleanYScrollContainer(container, rows);
    }
コード例 #2
0
    public void OnOpen()
    {
        if (M_BuildingManager.IsBuildingStarted())
        {
            M_BuildingManager.SQuitBuilding();
        }



        List <DAT_Building> buildings = M_BuildingManager.SGetAvailableBuildings();

        List <GameObject> rows = new List <GameObject>();
        int i = 0;

        foreach (DAT_Building building in buildings)
        {
            GameObject temp = Instantiate(elemPrefab);
            temp.GetComponent <UI_ElemBuilding>().Setup(building);

            if (i % 2 == 0)
            {
                temp.GetComponent <Image>().color = elemBgColorA;
            }
            else
            {
                temp.GetComponent <Image>().color = elemBgColorB;
            }
            i++;
            rows.Add(temp);
        }
        GUIUtils.AddElementsToCleanYScrollContainer(container, rows);

        foreach (UI_ElemBuilding elem in container.transform.GetComponentsInChildren <UI_ElemBuilding>())
        {
            elem.Setup();
        }
        buildingDesc.SetActive(false);
    }
コード例 #3
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);
    }