国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

unity - MVC架構(gòu)簡(jiǎn)單實(shí)現(xiàn)

2023-05-27 18:06 作者:塵風(fēng)一枚  | 我要投稿

using UnityEngine;

using System;

//模型層

public class PlayerModel

{

//數(shù)據(jù)內(nèi)容

private string name;

private int level;

private int exp;

private int gold;

//屬性

public string Name { get => name; }

public int Level { get => level; }

public int Exp { get => exp; }

public int Gold { get => gold; }



//更新操作

public void AddLeve()

{

level += 1;


SavaData();

}

public void AddExp()

{

exp += 10;


if (exp >= 100)

{

exp -= 100;

level += 1;

}


SavaData();

}

public void AddGold()

{

gold += 100;


SavaData();

}



//初始化

public void Init()

{

//讀取本地?cái)?shù)據(jù)

name = PlayerPrefs.GetString("Name", "awa");

level = PlayerPrefs.GetInt("Level", 1);

exp = PlayerPrefs.GetInt("Exp", 1);

gold = PlayerPrefs.GetInt("Gold", 1);

}

//保存

public void SavaData()

{

//保存數(shù)據(jù)到本地

PlayerPrefs.SetString("Name", name);

PlayerPrefs.SetInt("Level", level);

PlayerPrefs.SetInt("Exp", exp);

PlayerPrefs.SetInt("Gold", gold);


CallUpdateEvent();

}



//建立注冊(cè)機(jī)制 用于通知所有View層去更新數(shù)據(jù)

private event Action<PlayerModel> updateEvent;

//注冊(cè)事件 一旦注冊(cè)就更新

public void AddUpdateEvent(Action<PlayerModel> action)

{

updateEvent += action;

CallUpdateEvent();

}

//通知View層更新UI

public void CallUpdateEvent()

{

updateEvent?.Invoke(this);

}



//單例模式 1.方便外面獲得Model層 2.同時(shí)保證每個(gè)Model層唯一

private static PlayerModel model;

public static PlayerModel Instance

{

get

{

if (model == null)

{

model = new PlayerModel();

model.Init();

}

return model;

}

}

}

------------------------------------------------------------

using UnityEngine;

using UnityEngine.UI;

//視圖層

public class PlayerView : MonoBehaviour

{

//需要的UI對(duì)象

public Text Name;

public Text Level;

public Text Exp;

public Text Gold;


//負(fù)責(zé)更新UI (一旦Model層有變化便會(huì)通知Controller層去調(diào)用View層方法更新UI)

public void UpdateView(PlayerModel model)

{

Name.text = " 名字:" + model.Name;

Level.text = " 等級(jí):" + model.Level;

Exp.text = " 經(jīng)驗(yàn):" + model.Exp;

Gold.text = " 貨幣:" + model.Gold;

}

}

------------------------------------------------------------

using UnityEngine;

using UnityEngine.UI;

//控制層

public class PlayerController : MonoBehaviour

{

public PlayerView m_View;


public Button AddLevel;

public Button AddExp;

public Button AddGold;


private void Start()

{

PlayerModel.Instance.AddUpdateEvent(m_View.UpdateView);

AddLevel.onClick.AddListener(PlayerModel.Instance.AddLeve);

AddExp.onClick.AddListener(PlayerModel.Instance.AddExp);

AddGold.onClick.AddListener(PlayerModel.Instance.AddGold);

}

}

unity - MVC架構(gòu)簡(jiǎn)單實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
巩义市| 巴中市| 崇州市| 潮安县| 临邑县| 民勤县| 桐乡市| 海宁市| 霍山县| 伽师县| 镇宁| 门源| 马边| 墨脱县| 台中市| 云林县| 呼和浩特市| 临安市| 东海县| 木兰县| 唐山市| 墨竹工卡县| 临泽县| 沂水县| 平和县| 日土县| 墨玉县| 桃园市| 舟山市| 安龙县| 淄博市| 增城市| 贡觉县| 天气| 巩留县| 华安县| 合川市| 张家口市| 聂拉木县| 上栗县| 安阳县|