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 = ""; } }
/// <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 }
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 = ""; } }