TH1/Unity/Assets/Scripts/TH1_Renderer/CityInfoHouseMono.cs
2026-05-14 16:37:34 +08:00

65 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Logic.CrashSight;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_Renderer
{
public class CityInfoHouseMono : MonoBehaviour
{
public enum CityInfoHouseStatusEnum
{
NoExp,
Exp,
LackExp
};
public Image House;
public Image People;
public Sprite BlueHouse;
public Sprite RedHouse;
public Sprite WhiteHouse;
private bool _hasPeople;
private CityInfoHouseStatusEnum _status;
public void SetContent(bool hasPeople, CityInfoHouseStatusEnum status)
{
if (House == null || People == null)
{
LogSystem.LogError("CityInfoHouseMono.SetContent: House or People is null.");
return;
}
//Step #1 保留缓存值
_hasPeople = hasPeople;
_status = status;
//Step #2 设置house的样式
House.sprite = _status switch
{
CityInfoHouseStatusEnum.Exp => BlueHouse,
CityInfoHouseStatusEnum.LackExp => RedHouse,
_ => WhiteHouse
};
//step#3 设置people的样式
People.gameObject.SetActive(hasPeople);
if(_hasPeople)
People.color = _status switch
{
CityInfoHouseStatusEnum.NoExp => Color.black,
_ => Color.white
};
}
}
}