用MVC框架完成UI界面中数据的初始化

在这里插入图片描述
用MVC框架完成UI界面中数据的初始化_第1张图片

public class PlayerModel : MonoBehaviour
{

    #region 1.封装两个界面属性
    private string playerName;
    public string PlayerName
    {
        get { return playerName; }
        set { playerName = value; }
    }//玩家名称

    private int playerLevel;//玩家等级

    public int PlayerLevel
    {
        get { return playerLevel; }
        set { playerLevel = value; }
    }
    private int gold;//玩家金币

    public int Gold
    {
        get { return gold; }
        set { gold = value; }
    }
    private int diamond;

    public int Diamond
    {
        get { return diamond; }
        set { diamond = value; }
    }
    private int power;//玩家体力

    public int Power
    {
        get { return power; }
        set { power = value; }
    }
    #endregion

    #region 2.C# 属性单例(Get访问器)
    private static PlayerModel data = null;
    public static PlayerModel Data
    {
        get
        {
            if (data == null)
            {
                data = new PlayerModel();
                data.Init();//调用初始化方法
            }
            return data;
        }
    }
    #endregion

    #region 3.初始化MainPanel界面的数据方法
    public void Init() {
        playerName = PlayerPrefs.GetString("PlayerName", "OYB");
        playerLevel = PlayerPrefs.GetInt("PlayerLelel", 10);
        gold = PlayerPrefs.GetInt("Gold",900);
        diamond = PlayerPrefs.GetInt("Diamond", 800);
        power = PlayerPrefs.GetInt("Power", 700);
    }

    #endregion


    #region 4.保存所有数据
    public void Save() {
        PlayerPrefs.SetString("PlayerName", playerName);
        PlayerPrefs.SetInt("PlayerLelel", playerLevel);
        PlayerPrefs.SetInt("Gold", gold);
        PlayerPrefs.SetInt("Diamond", diamond);
        PlayerPrefs.SetInt("Power", power);
    }
    #endregion
}

2.MainView

public class MainView : MonoBehaviour
{
    public Text playerName, playerLevel, gold, diamond, power;
    public void UpdateMainInfo(PlayerModel pm)
    {
        playerName.text = pm.PlayerName;
        playerLevel.text = pm.PlayerLevel.ToString();
        gold.text = pm.Gold.ToString();
        diamond.text = pm.Diamond.ToString();
        power.text = pm.Power.ToString(); 
    }
}
public class MainController : MonoBehaviour {
	MainView mv;
	void Start () {
		mv=GetComponent<MainView>();
		mv.UpdateMainInfo(PlayerModel.Data);//调用更新方法
	}
}

运行结果
在这里插入图片描述

你可能感兴趣的:(Unity,C#,mvc,ui)