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

唐山建网站公司办网站 哪些许可

唐山建网站公司,办网站 哪些许可,青海省建设厅勘察设计备案网站,漯河城乡建设管理局网站PlayerPrefs是Unity游戏引擎中的一个类#xff0c;用于在游戏中存储和访问玩家的偏好设置和数据。它可以用来保存玩家的游戏进度、设置选项、最高分数等信息。PlayerPrefs将数据存储在本地文件中#xff0c;因此可以在游戏重新启动时保持数据的持久性。 //PlayerPrefs的数据…PlayerPrefs是Unity游戏引擎中的一个类用于在游戏中存储和访问玩家的偏好设置和数据。它可以用来保存玩家的游戏进度、设置选项、最高分数等信息。PlayerPrefs将数据存储在本地文件中因此可以在游戏重新启动时保持数据的持久性。 //PlayerPrefs的数据存储 类似于键值对存储 一个键对应一个值 //提供了存储3种数据的方法 int float string //键: string类型 //值int float string 对应3种APIPlayerPrefs.SetInt(myAge, 18); PlayerPrefs.SetFloat(myHeight, 177.5f); PlayerPrefs.SetString(myName, TonyChang);//直接调用Set相关方法 只会把数据存到内存里 //当游戏结束时 Unity会自动把数据存到硬盘中 //如果游戏不是正常结束的 而是崩溃 数据是不会存到硬盘中的 //只要调用该方法 就会马上存储到硬盘中 PlayerPrefs.Save();//PlayerPrefs是有局限性的 它只能存3种类型的数据 //如果你想要存储别的类型的数据 只能降低精度 或者上升精度来进行存储 bool sex true; PlayerPrefs.SetInt(sex, sex ? 1 : 0);//如果不同类型用同一键名进行存储 会进行覆盖 PlayerPrefs.SetFloat(myAge, 20.2f);//注意 运行时 只要你Set了对应键值对 //即使你没有马上存储Save在本地 //也能够读取出信息//int int age PlayerPrefs.GetInt(myAge); print(age); //前提是 如果找不到myAge对应的值 就会返回函数的第二个参数 默认值 age PlayerPrefs.GetInt(myAge, 100); print(age);//float float height PlayerPrefs.GetFloat(myHeight, 1000f); print(height);//string string name PlayerPrefs.GetString(myName); print(name);//第二个参数 默认值 对于我们的作用 //就是 在得到没有的数据的时候 就可以用它来进行基础数据的初始化//判断数据是否存在 if( PlayerPrefs.HasKey(myName) ) {print(存在myName对应的键值对数据); }//删除指定键值对 PlayerPrefs.DeleteKey(myAge); //删除所有存储的信息 PlayerPrefs.DeleteAll(); PlayerPrefs存储工具类 为了方便进行数据的存储使用PlayerPrefs中进行存储方法的设置的存取 主要实现功能是数据的读和数据的取~ 通过反射进行数据类型的获取利用PlayerPrefs进行数据存储。 using System; using System.Collections; using System.Reflection; using UnityEngine;namespace Framwork {/// summary/// Playerprefs 存储类/// /summarypublic class PlayerPrefsManager{private static PlayerPrefsManager instancenew PlayerPrefsManager();public static PlayerPrefsManager Instance instance;private PlayerPrefsManager(){}/// summary/// 存取数据的方法/// /summary/// param nameobj数据实体/param/// param namename数据名称/parampublic void SaveData(object data, string keyName){Type type data.GetType();FieldInfo[] infos type.GetFields();string tempKeynull;FieldInfo tempInfo null;for (int i 0; i infos.Length; i){//获取数据数据类型tempInfo infos[i];Debug.Log(TypestempInfo);//类的名字类的类型 数据内容名字数据类型//作为存储的keyName键tempKey keyName _ type.Name _ tempInfo.Name _ tempInfo.FieldType.Name;SaveValue(tempInfo.GetValue(data),tempKey);}//进行值的获取//tempInfo.GetValue(data);PlayerPrefs.Save();}/// summary/// 读取数据的类型/// /summary/// param nametype要读取的数据类型/param/// param namename要读取的数据名称/param/// returns返回数据实体/returnspublic object LoadData(Type type, string name){//获取数据中的类型FieldInfo[] infos type.GetFields();//创建存储数据信息的实体object data Activator.CreateInstance(type);string tempName null;FieldInfo tempInfo null;for (int i 0; i infos.Length; i){tempInfo infos[i];//数据结构中的数据名称tempName name _ type.Name _ tempInfo.Name_tempInfo.FieldType.Name;//数据结构中的数据名称类型//装载的容器 容器中的数据 //进行数据装载tempInfo.SetValue(data,LoadValue(tempInfo.FieldType,tempName));}return data;}/// summary/// 进行具体的类型数据的存储/// /summary/// param namedata/param/// param namekeyName/paramprivate void SaveValue(object value, string keyName){Type fieldType value.GetType();if (fieldType typeof(int)){Debug.Log(存储intvalue);PlayerPrefs.SetInt(keyName,(int)value);}else if (fieldType typeof(float)){Debug.Log(存储floatvalue);PlayerPrefs.SetFloat(keyName,(float)value);}else if (fieldType typeof(string)){Debug.Log(存储stringvalue);PlayerPrefs.SetString(keyName,value.ToString());}//对于List存储的设置//根据存储的字段类型和IList是否是父子关系else if(typeof(IList).IsAssignableFrom(fieldType)){//父类装子类IList listvalue as IList;//存储元素数量PlayerPrefs.SetInt(keyName,list.Count);Debug.Log(存储List长度为list.Count);int index 0;foreach (var obj in list){//存储list列表中元素内容//命名形式是 list名字索引编号//递归调用存储SaveValue(obj,keyNameindex);index;}}else if (typeof(IDictionary).IsAssignableFrom(fieldType)){IDictionary dictionary value as IDictionary;//存储数据个数PlayerPrefs.SetInt(keyName,dictionary.Count);Debug.Log(存储Dic长度为dictionary.Count);int index 0;foreach (var key in dictionary.Keys){//存储键SaveValue(key,keyName_key_index);//存储值 SaveValue(dictionary[key],keyName_value_index);index;}}//自定义数据类型的存储 进行解析else {SaveData(value,keyName);}}private object LoadValue(Type type, string name){if (type typeof(int)){return PlayerPrefs.GetInt(name,0);}else if (type typeof(float)){return PlayerPrefs.GetFloat(name,0.0f);}else if (type typeof(string)){return PlayerPrefs.GetString(name,);}else if (typeof(IList).IsAssignableFrom(type)){//读取列表int count PlayerPrefs.GetInt(name);IList tempListActivator.CreateInstance(type) as IList;for (int i 0; i count; i){//获取List中存储元素的类型 type.GetGenericArguments()[0]tempList.Add(LoadValue(type.GetGenericArguments()[0],namei));}return tempList;}else if (typeof(IDictionary).IsAssignableFrom(type)){//进行对字典的读取int count PlayerPrefs.GetInt(name);IDictionary tempDictionaryActivator.CreateInstance(type) as IDictionary;for (int i 0; i count; i){tempDictionary.Add(LoadValue(type.GetGenericArguments()[0], name _key_ i),LoadValue(type.GetGenericArguments()[1], name _value_ i));}return tempDictionary;}else{//读取自定义类成员的设置return LoadData(type, name);}}} }
http://www.ho-use.cn/article/10821200.html

相关文章:

  • 网站建设公司咋样apache与iis做网站
  • 基金网站建设需求书wordpress客户
  • 城市建设杂志社网站无锡网站建设收费
  • 网站门户建设方案h5页面是什么
  • 公司做网站怎么做wordpress开发人力资源
  • 套用别人产品图片做网站广告设计公司专业报价表
  • 网站开发主要包括的事项网站产品简介
  • 设计一个网站重点是什么怎么修改自己的网站
  • 毕业设计网站论文外包加工网官网下载安装
  • 动态ip上做网站网站制作宜昌怎么做?
  • 减肥产品网站模板化妆品行业网站开发
  • 免费发布产品网站艺术品商城网站开发
  • 做整体衣柜宣传海报的网站嘉兴网站制作怎么添加按钮
  • 网站开发投资成本美容店网站建设
  • 腾云网建设网站苏州网站建设网
  • 站长工具国产2023营销网站建设网站设计
  • 电梯网站建设正规的现货交易平台
  • 网站如何上传河南教育平台网站建设
  • 教育门户网站源码wordpress 克隆插件
  • 在线商城网站模板扬中网站推广价格
  • 石嘴山市建设局网站郑州app网站公司
  • 仪器仪表公司网站模版传奇手游排行榜2021前十名
  • 网站备案认领wordpress theme sage
  • 湖北网站建设推荐网站建设教程最新资讯
  • 公司网站怎么规范管理的网站开发专业有什么工作
  • 杭州做网站套餐福州网站seo
  • 网站 多语太原网站开发模板
  • h5网站建设 案例广州网站建设公司好吗
  • 用php做网站难吗邯郸哪个公司做网站好
  • 制作企业网站的报告wordpress添加打赏