2025-10-09 17:36:27 +08:00

58 lines
2.3 KiB
C#

/// <summary>
///********************************************************
/// 脚本功能:选择项目界面(StartState)
/// 创建人: GD
/// 创建时间: 2023/09/20 11:31
///********************************************************
/// </summary>
using UnityEngine;
using UnityEngine.UI;
using ZXKFramework;
namespace YiLiao.Main
{
public class SelectProjectPanel : UIBase
{
public override string GroupName => "StartState";
public override string Name => "SelectProjectPanel";
GameModel gameModel;
Transform container;
GameObject projectBtn;
public override void Init(IUIManager uictrl)
{
base.Init(uictrl);
gameModel = MVC.GetModel<GameModel>();
container = transform.FindFirst<Transform>("Container");
projectBtn = transform.FindFirst<Transform>("ProjectBtn").gameObject;
foreach (MainData mainData in gameModel.excelData.allMainData)
{
if (!string.IsNullOrEmpty(mainData.name) && mainData.scene != "Main")
{
GameObject m = Instantiate(projectBtn, container);
m.SetActive(true);
m.transform.localScale = Vector3.one;
m.FindFirst<Text>("Text").text = mainData.name;
Button loBtn = m.GetComponent<Button>();
loBtn.onClick.RemoveAllListeners();
loBtn.onClick.AddListener(() =>
{
gameModel.mainData = mainData;
uiManager.GetUI<MainNavPanel>().SetTitle(mainData.name);
uiManager.ShowUI<SelectPatternPanel>();
SetActive(false);
});
Game.Instance.res.Load<Texture2D>(mainData.texture.Split('|')[0], t => {
m.GetComponent<Image>().sprite = UnityTools.ToSprite(t);
});
Game.Instance.res.Load<Texture2D>(mainData.texture.Split('|')[1], t => {
m.GetComponent<Button>().spriteState = new SpriteState
{
highlightedSprite = UnityTools.ToSprite(t)
};
});
}
}
}
}
}