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

seo蒙牛伊利企业网站专业性诊断建站网络公司

seo蒙牛伊利企业网站专业性诊断,建站网络公司,做网站好处,怎么登陆wordpress后台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://wiki.neutronadmin.com/news/203508/

相关文章:

  • 怎样做网站规划三亚新闻发布会直播第十五场
  • 网站建设新规商务网站开发流程
  • 百度优化只做移动网站没有pc站在线制作logo模板
  • 建设网站用什么网络好哪家房屋设计公司网站
  • 专门做优惠券的网站注册城乡规划师一年能挂多少钱
  • 小说网站自动采集网站的必要性
  • 云南做企业网站多少钱wordpress 评论过滤
  • 大丰市市城乡建设局网站分类目录采用的是
  • 起名算命网站如何做赚钱minify wordpress
  • 北京建设工程信息网站wordpress更新一直下载失败
  • 网站建设捌金手指花总十九佛山新网站建设服务
  • 做网站备案需要哪些材料wordpress最新评论
  • 中国住房和城乡建设部查询网站6做英文网站价格
  • 网络推广培训吧网站搜索引擎优化的步骤
  • 招聘网站怎么做才能吸引人可以做网站的域名后缀
  • 做代售机票网站程序做彩票网站需要什么收钱的
  • 如何制作5分钟宣传片视频海口seo推广公司
  • 唐山网站建设自主开发平面广告设计图片素材
  • 请人建网站需要多少钱中小网站推广 一级域名还是二级域名
  • 快速做效果图的网站叫什么软件网站开发和网站运营
  • 怎么做论坛的网站河间网站制作
  • 平凉有做企业网站的吗杭州网站排名优化公司
  • 企业为什么要建立网站中国建设银行积分商城网站
  • 高校网站建设及管理制度李沧区网站服务公司
  • asp.net做网站后台<网站建设与运营》
  • 求几个夸克没封的a站2023梦织做网站
  • 某小型网站开发公司创业策划设计教育培训
  • 南阳网站建设培训学校网站制作需要什么人员
  • 网站聚合页面怎么做网站开发公司团队优势
  • 网站建设优化哪家专业网站建设的基本流程包括什么