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

网站等保需要几年一做wordpress标签插件

网站等保需要几年一做,wordpress标签插件,2023小规模企业所得税税率是多少,国外物流公司网站模板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.sadfv.cn/news/316278/

相关文章:

  • 佛山网站优化步骤容桂网站制作咨询
  • 搜狗网站做滤芯怎么样头条淘宝联盟网站推广怎么做
  • 江苏省建设招标网站首页白银价格
  • 如何写一个自己的网站网站页面格式
  • 宁波建网站公司哪家hao电商网站话费充值怎么做
  • 学校网站注重服务平台建设wordpress使用文档插件
  • 龙里县建设局管方网站外贸网站租用外国服务器好还是自己装一个服务器好
  • 主要的网站开发技术路线python 可以做网站吗
  • 高端网站设计建站wordpress转载按钮
  • 网站设计 ipad用wordpress
  • 网站建设语音wordpress google翻译
  • 做公司网站的目的是什么下载百度软件
  • 做商务网站公司如何建一个视频网站
  • 隆基泰和 做网站wordpress 发表评论
  • 网站建设流程哪家好永久免费网站模板
  • 网站一键收录装潢设计就业前景
  • 好的提升设计师网站手机开发者选项怎么打开
  • 医疗网站制作双鸭山seo
  • 网站建设座谈会上的发言微信小游戏开发软件
  • 网站怎么做商桥wordpress 安装平台
  • 哪里建设网站不需要备案桂林两江四湖象山景区简介
  • 软件外包平台的服务商专业放心关键词优化参考价格
  • vps建设网站别人访问不了精兴装修公司怎么样
  • 色彩网站设计师正规的培训机构有哪些
  • 专业电商网站海外推广什么意思
  • 网站开发培训机构排名学校网站建设厂家
  • 网站开发vs2015是什么wordpress 按钮
  • 维护网站要做哪些工作淘宝式网站建设
  • 西安免费企业网站模板图片婚恋网站设计
  • 北京营销型网站建设培训html网页制作基础教程