示例#1
0
    public void UpdateRoomInfo()
    {
        CheckActiveButtons();

        roomImage.sprite = roomPrefab.GetComponentInChildren <SpriteRenderer>().sprite;
        RoomStats roomStats = roomPrefab.GetComponent <RoomStats>();

        rname.text        = roomStats.roomName;
        needsCredits.text = "" + roomStats.price[levelTemp - 1];
        needsPower.text   = "" + roomStats.minPower[levelTemp - 1];
        needsCrew.text    = "" + roomStats.minCrew + "-" + roomStats.maxCrew.ToString();
        roomSize.text     = roomPrefab.GetComponent <ObjectScript>().shapeDataTemplate.roomSizeName;


        level.text        = levelTemp.ToString();
        levelImage.sprite = shop.GetRoomLevelIcons()[levelTemp - 1];

        switch (campaignManager.GetCurrentJobIndex())
        {
        case 0:
            newLevelText.SetActive(roomStats.GetRoomGroup() == 1);
            break;

        case 1:
            newLevelText.SetActive(roomStats.GetRoomGroup() == 2);
            break;

        case 2:
            newLevelText.SetActive(roomStats.GetRoomGroup() == 3);
            break;

        default:
            newLevelText.SetActive(false);
            break;
        }

        if (roomPrefab.TryGetComponent(out Resource resource))
        {
            resourceIcon.sprite   = resource.resourceType.resourceIcon;
            producesResource.text = resource.resourceType.resourceName;
            producesAmount.text   = "" + resource.amount[levelTemp - 1];
        }
        else
        {
            resourceIcon.gameObject.SetActive(false);
            producesResource.text = "No Production";
            producesAmount.text   = "";
        }
    }
示例#2
0
    /// <summary>
    /// Calls the room stats level to be changed so that when placed its the correct stats
    /// Will do other things for room level changing
    /// </summary>
    public void CallRoomLevelChange(int levelChange)
    {
        if (roomPrefab == null)
        {
            return;
        }
        RoomStats roomStats = roomPrefab.GetComponent <RoomStats>();

        switch (roomStats.GetRoomGroup())
        {
        case 1:
            if ((levelChange < 0 && levelTemp > 1) || (levelChange > 0 && levelTemp < GameManager.instance.GetUnlockLevel(1)))
            {
                levelTemp += levelChange;

                UpdateRoomInfo();
            }
            break;

        case 2:
            if ((levelChange < 0 && levelTemp > 1) || (levelChange > 0 && levelTemp < GameManager.instance.GetUnlockLevel(2)))
            {
                levelTemp += levelChange;

                UpdateRoomInfo();
            }
            break;

        case 3:
            if ((levelChange < 0 && levelTemp > 1) || (levelChange > 0 && levelTemp < GameManager.instance.GetUnlockLevel(3)))
            {
                levelTemp += levelChange;

                UpdateRoomInfo();
            }
            break;

        default:
            break;
        }



        //sprite change TODO
    }
示例#3
0
    private void UpdateRoomUnlockUI(RoomStats roomStats)
    {
        rname.text = roomStats.roomName;
        //Debug.Log(FindObjectOfType<CampaignManager>().GetCurrentJobIndex());

        if ((campaignManager.GetCurrentCampaignIndex() > 0 && campaignManager.GetCurrentJobIndex() < 3) ||
            (campaignManager.GetCurrentCampaignIndex() == 0 && campaignManager.GetCurrentJobIndex() == 2)) //room is getting a new level
        {
            if (roomStats.gameObject.GetComponent <ObjectScript>().objectNum == 5)                         //adds medbay stats like a new room, not a new level
            {
                levelOld.text        = "Level 1";
                needsCreditsOld.text = roomStats.price[0].ToString();
                needsPowerOld.text   = roomStats.minPower[0].ToString();
                needsCrewOld.text    = roomStats.minCrew + "-" + roomStats.maxCrew;

                newRoomText.SetActive(true);
                rightSideData.SetActive(false);
            }

            else //shows level change like normal
            {
                // old level
                levelOld.text        = "Level " + GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup());
                needsCreditsOld.text = roomStats.price[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) - 1].ToString(); //-2 to get old level
                needsPowerOld.text   = roomStats.minPower[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) - 1].ToString();
                needsCrewOld.text    = roomStats.minCrew + "-" + roomStats.maxCrew;

                // new level
                levelNew.text        = "Level " + (GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) + 1);
                needsCreditsNew.text = roomStats.price[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup())].ToString(); //-1 to get current level
                needsPowerNew.text   = roomStats.minPower[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup())].ToString();
                needsCrewNew.text    = roomStats.minCrew + "-" + roomStats.maxCrew;

                newRoomText.SetActive(false);
                rightSideData.SetActive(true);
            }
        }
        else //Getting a entire new room, just getting one the new rooms stats
        {
            levelOld.text        = "Level " + GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup());
            needsCreditsOld.text = roomStats.price[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) - 1].ToString();
            needsPowerOld.text   = roomStats.minPower[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) - 1].ToString();
            needsCrewOld.text    = roomStats.minCrew + "-" + roomStats.maxCrew;

            newRoomText.SetActive(true);
            rightSideData.SetActive(false);
        }

        roomSprite.sprite = roomStats.gameObject.transform.GetChild(0).gameObject.GetComponent <SpriteRenderer>().sprite;
        description.text  = roomStats.roomDescription;

        // update produces stats
        if (roomStats.TryGetComponent(out Resource resource))
        {
            if (roomStats.gameObject.GetComponent <ObjectScript>().objectNum == 5)
            {
                resourceIconLeft.sprite  = resource.resourceType.resourceIcon;
                producesResourceOld.text = resource.resourceType.resourceName;
                producesAmountOld.text   = resource.amount[0].ToString();
            }

            else
            {
                // old produces
                resourceIconLeft.sprite  = resource.resourceType.resourceIcon;
                producesResourceOld.text = resource.resourceType.resourceName;
                producesAmountOld.text   = resource.amount[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup()) - 1].ToString();

                // new produces
                resourceIconRight.sprite = resource.resourceType.resourceIcon;
                producesResourceNew.text = resource.resourceType.resourceName;
                producesAmountNew.text   = resource.amount[GameManager.instance.GetUnlockLevel(roomStats.GetRoomGroup())].ToString();
            }
        }
        else
        {
            resourceIconLeft.gameObject.SetActive(false);
            resourceIconRight.gameObject.SetActive(false);
            producesResourceOld.text = "No Production";
            producesAmountOld.text   = "";
        }
    }