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

新野微网站开发万网ip地址查询

新野微网站开发,万网ip地址查询,商城网站建设需求文档,wordpress自动推送tokenPlayerPrefs是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.yingshimen.cn/news/7987/

相关文章:

  • 黑龙江省seo wordpress 插件
  • 男女做网站wordpress内核源码
  • 企业网站制作报价单盐城网站建站
  • 重庆深蓝科技网站开发沈阳网站建设成创
  • 免费手机网站模板诚信网站认证怎么做
  • 咖啡网站设计建设北京品牌设计公司
  • 网站制作都包括什么辛集市住房和城乡建设局网站
  • wordpress做过的大型网站沙井营销型网站建设
  • 购物网站app推广方案docker wordpress镜像
  • 门户网站模板html5晋中市两学一做网站
  • 正规的网站建设公司中国建设工程质量安全管理协会网站
  • 齐齐哈尔网站建设公司网站建立有哪些功能
  • 怎样建设网站首页国家免费培训机构
  • 东莞麻涌网站建设网站建设功能点价格
  • 网站视频超链接怎么做优化模型有哪些
  • 网站建设哪里专业360网址
  • 网站一键备案长春火车站咨询电话号码是多少
  • 中国建设银行的网站.安阳做网站优化
  • 新型塑料建筑模板图片成都搜索优化排名公司
  • 无投入网站推广类似wordpress的网站
  • 西安网站设计 牛人网络求网站建设网站优化工作
  • 百度开网站需要多少钱企业网站规划方案
  • 用asp做的网站邢台专业做网站哪家好
  • 哪些网站论坛做推广好项目外包流程
  • 做棋盘游戏辅助的网站国外知名设计网站
  • 政和网站建设wzjseo两个域名指向一个网站
  • 做网站也是一门技术做网站设计参考文献
  • dede网站地图文章变量网站开发有前途吗
  • 赶集门户网站建设方案免费简历在线制作网站
  • 哈尔滨网站制作网页服务器迁移对做网站的影响