当前位置: 首页 > news >正文

成都商铺装修设计公司厦门网站seo外包

成都商铺装修设计公司,厦门网站seo外包,南宁西乡塘区疫情最新消息,wordpress 图片缩放Unity 数据存储PlayerPrefs管理类 Unity 数据存储PlayerPrefs管理类实现存取实体类对象存储格式为Json格式Singleton.csInventoryEntity.csDataManager.cs用法如下 Unity 数据存储PlayerPrefs管理类 实现存取实体类对象 存储格式为Json格式 源码如下: Singleton…

Unity 数据存储PlayerPrefs管理类

  • Unity 数据存储PlayerPrefs管理类
    • 实现存取实体类对象
    • 存储格式为Json格式
    • Singleton.cs
    • InventoryEntity.cs
    • DataManager.cs
    • 用法如下

Unity 数据存储PlayerPrefs管理类

实现存取实体类对象

存储格式为Json格式

源码如下:

Singleton.cs


//单例模板
public class Singleton<T> where T : new()
{private static T _Instance;public static T Instance{get{if (_Instance == null){_Instance = new T();}return _Instance;}}public Singleton(){}
}

InventoryEntity.cs

/// <summary>
/// 实体类
/// </summary>
public class InventoryEntity {/// <summary>/// 金币/// </summary>public int coins = 0;/// <summary>/// 钻石/// </summary>public int gams = 0;/// <summary>/// 关卡/// </summary>public int Levels = 1;public InventoryEntity(){}public InventoryEntity(int coin, int gam, int level){this.coins = coin;this.gams = gam;this.Levels = level;}
}

DataManager.cs

using UnityEngine;public class DataManager : Singleton<DataManager>
{/// <summary>/// 保存数据/// </summary>InventoryEntity m_Inventory;/// <summary>/// 初始化字典/// </summary>public void Init(){m_Inventory = GetObjectData<InventoryEntity>("data");}#region 人物ID读写/// <summary>/// 记录人物ID/// </summary>private string m_playerId = "";/// <summary>/// 设置人物ID/// </summary>/// <param name="id"></param>public void SetID(string id){m_playerId = id;}/// <summary>/// 获取人物ID/// </summary>/// <returns></returns>public string GetID(){return m_playerId;}#endregion#region 测试该存储#region 修改方法/// <summary>/// 修改金币/// </summary>public void SetCoins(int coin){m_Inventory.coins = coin;SaveObjectDate("data", m_Inventory);}/// <summary>/// 获取金币/// </summary>public int GetCoins(){return m_Inventory.coins;}/// <summary>/// 修改宝石/// </summary>public void SetGams(int gam){m_Inventory.gams = gam;SaveObjectDate("data", m_Inventory);}/// <summary>/// 获取宝石/// </summary>public int GetGams(){return m_Inventory.gams;}/// <summary>/// 修改关卡/// </summary>public void SetLevels(int level){m_Inventory.Levels = level;SaveObjectDate("data", m_Inventory);}/// <summary>/// 获取关卡/// </summary>public int GetLevels(){return m_Inventory.Levels;}/// <summary>/// 修改全部属性/// </summary>public void SetAll(int coin, int gam, int level){m_Inventory.coins = coin;m_Inventory.gams = gam;m_Inventory.Levels = level;SaveObjectDate("data", m_Inventory);}/// <summary>/// 修改全部属性重载/// </summary>public void SetAll(InventoryEntity entity){m_Inventory = entity;SaveObjectDate("data", m_Inventory);}/// <summary>/// 奖励使用逻辑/// </summary>public void SetAward(int awardcoin, int awardgam, int awardlevel){m_Inventory.coins += awardcoin;m_Inventory.gams += awardgam;m_Inventory.Levels += awardlevel;SaveObjectDate("data", m_Inventory);}#endregion#endregion#region 泛型存取数据/// <summary>/// 存储指定类型/// </summary>public void SaveObjectDate<T>(string key, T t, bool common = false){if (common){PlayerPrefs.SetString(key, JsonUtility.ToJson(t));}else{PlayerPrefs.SetString(m_playerId + key, JsonUtility.ToJson(t));}PlayerPrefs.Save();}/// <summary>/// 获取指定类型/// </summary>/// <typeparam name="T"></typeparam>/// <param name="key"></param>/// <param name="common"></param>/// <returns></returns>public T GetObjectData<T>(string key, bool common = false) where T : new(){string Data = null;if (common){Data = PlayerPrefs.GetString(key, null);}else{Data = PlayerPrefs.GetString(m_playerId + key, null);}if (string.IsNullOrEmpty(Data)){return new T();}else{return JsonUtility.FromJson<T>(Data);}}#endregion#region 存取数据/// <summary>/// 存储int类型/// </summary>public void SaveIntDate(string key,int num, bool common = false){if (common){PlayerPrefs.SetInt(key,num);}else{PlayerPrefs.SetInt(m_playerId + key, num);}PlayerPrefs.Save();}/// <summary>/// 获取int类型/// </summary>/// <typeparam name="T"></typeparam>/// <param name="key"></param>/// <param name="common"></param>/// <returns></returns>public int GetIntData<T>(string key, bool common = false) where T : new(){if (common){return PlayerPrefs.GetInt(key, -1);}else{return PlayerPrefs.GetInt(m_playerId + key, -1);}}/// <summary>/// 存储Float类型/// </summary>public void SaveFloatDate(string key, float num, bool common = false){if (common){PlayerPrefs.SetFloat(key, num);}else{PlayerPrefs.SetFloat(m_playerId + key, num);}PlayerPrefs.Save();}/// <summary>/// 获取Float类型/// </summary>/// <typeparam name="T"></typeparam>/// <param name="key"></param>/// <param name="common"></param>/// <returns></returns>public float GetFloatData(string key, bool common = false){if (common){return PlayerPrefs.GetFloat(key, -1);}else{return PlayerPrefs.GetFloat(m_playerId + key, -1);}}/// <summary>/// 存储Bool类型/// </summary>public void SaveBoolDate(string key, bool boolean, bool common = false){if (common){PlayerPrefs.SetInt(key, boolean ? 1 : 0);}else{PlayerPrefs.SetInt(m_playerId + key, boolean ? 1 : 0);}PlayerPrefs.Save();}/// <summary>/// 获取Bool类型/// </summary>/// <typeparam name="T"></typeparam>/// <param name="key"></param>/// <param name="common"></param>/// <returns></returns>public bool GetBoolData(string key, bool common = false){int? boolean = null;if (common){boolean = PlayerPrefs.GetInt(key, -1);}else{boolean = PlayerPrefs.GetInt(m_playerId + key, -1);}if (boolean == 1) return true;else return false;}/// <summary>/// 存储Bool类型/// </summary>public void SaveStrDate(string key, string str, bool common = false){if (common){PlayerPrefs.SetString(key, str);}else{PlayerPrefs.SetString(m_playerId + key, str);}PlayerPrefs.Save();}/// <summary>/// 获取Bool类型/// </summary>/// <typeparam name="T"></typeparam>/// <param name="key"></param>/// <param name="common"></param>/// <returns></returns>public string GetStrData(string key, bool common = false){if (common){return PlayerPrefs.GetString(key, "");}else{return PlayerPrefs.GetString(m_playerId + key, "");}}#endregion}

用法如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class DataTest : MonoBehaviour {// Use this for initializationvoid Start () {DataManager.Instance.Init();Debug.LogError("金币"+DataManager.Instance.GetCoins());Debug.LogError("宝石"+DataManager.Instance.GetGams());Debug.LogError("关卡" + DataManager.Instance.GetLevels());DataManager.Instance.SetAward(10,20,3);}}
http://www.hkea.cn/news/734852/

相关文章:

  • 网站建设中的推广工作seo学校培训
  • 上海专业网站建设网百度搜索推广开户
  • 做学校网站素材图片合肥seo代理商
  • 真题真做报名网站淘宝搜索关键词排名
  • 免费的黄冈网站有哪些平台?培训行业seo整站优化
  • 寿县住房与城乡建设局网站真正免费的网站建站平台
  • 常德seo招聘网站seo站长工具
  • 网站开发多久完成俄罗斯搜索引擎yandex推广入口
  • 漳州做网站建设建网站免费
  • 网站建设服务上海广州软文推广公司
  • 做一个网站app需要多少钱web制作网站的模板
  • 网站建设的财务计划新媒体营销策略有哪些
  • 网站建设分金手指专业二八宁波品牌网站推广优化
  • 清远网站建设公司百度游戏风云榜
  • 网上可以自学什么技术win7系统优化软件
  • 嘉兴建站软件如何做好企业网站的推广
  • 在凡科做网站短视频推广
  • 深圳推广公司推荐q群排名优化软件
  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统