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

黑龙江建设网站打不开企业服务中心属于什么部门

黑龙江建设网站打不开,企业服务中心属于什么部门,上海环球金融中心观光厅,网站开发的常用软件PlayerPrefs是Unity游戏引擎中的一个类,用于在游戏中存储和访问玩家的偏好设置和数据。它可以用来保存玩家的游戏进度、设置选项、最高分数等信息。PlayerPrefs将数据存储在本地文件中,因此可以在游戏重新启动时保持数据的持久性。 //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 存储类/// </summary>public class PlayerPrefsManager{private static PlayerPrefsManager instance=new PlayerPrefsManager();public static PlayerPrefsManager Instance => instance;private PlayerPrefsManager(){}/// <summary>/// 存取数据的方法/// </summary>/// <param name="obj">数据实体</param>/// <param name="name">数据名称</param>public void SaveData(object data, string keyName){Type type = data.GetType();FieldInfo[] infos = type.GetFields();string tempKey="null";FieldInfo tempInfo = null;for (int i = 0; i < infos.Length; i++){//获取数据数据类型tempInfo = infos[i];Debug.Log("Types==="+tempInfo);//类的名字+类的类型 + 数据内容名字+数据类型//作为存储的keyName键tempKey = keyName + "_" + type.Name + "_" + tempInfo.Name+ "_" + tempInfo.FieldType.Name;SaveValue(tempInfo.GetValue(data),tempKey);}//进行值的获取//tempInfo.GetValue(data);PlayerPrefs.Save();}/// <summary>/// 读取数据的类型/// </summary>/// <param name="type">要读取的数据类型</param>/// <param name="name">要读取的数据名称</param>/// <returns>返回数据实体</returns>public 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 name="data"></param>/// <param name="keyName"></param>private void SaveValue(object value, string keyName){Type fieldType = value.GetType();if (fieldType == typeof(int)){Debug.Log("存储int"+value);PlayerPrefs.SetInt(keyName,(int)value);}else if (fieldType == typeof(float)){Debug.Log("存储float"+value);PlayerPrefs.SetFloat(keyName,(float)value);}else if (fieldType == typeof(string)){Debug.Log("存储string"+value);PlayerPrefs.SetString(keyName,value.ToString());}//对于List存储的设置//根据存储的字段类型和IList是否是父子关系else if(typeof(IList).IsAssignableFrom(fieldType)){//父类装子类IList list=value as IList;//存储元素数量PlayerPrefs.SetInt(keyName,list.Count);Debug.Log("存储List长度为"+list.Count);int index = 0;foreach (var obj in list){//存储list列表中元素内容//命名形式是 list名字+索引编号//递归调用存储SaveValue(obj,keyName+index);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 tempList=Activator.CreateInstance(type) as IList;for (int i = 0; i < count; i++){//获取List中存储元素的类型 type.GetGenericArguments()[0]tempList.Add(LoadValue(type.GetGenericArguments()[0],name+i));}return tempList;}else if (typeof(IDictionary).IsAssignableFrom(type)){//进行对字典的读取int count = PlayerPrefs.GetInt(name);IDictionary tempDictionary=Activator.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.yayakq.cn/news/719502/

相关文章:

  • 家居企业网站建设公司seo关键词优化培训班
  • 做网站公司销售开场白word调用wordpress
  • 鸟人高端网站建设网站建设需求模板
  • 用源代码做网站网校 039 网站建设多少钱
  • 昆明企业网站建设一条龙家乡网站建设策划书模板
  • 濮阳市做网站公司国外html5特效网站
  • 巴彦淖尔专业做网站的公司新塘网站设计
  • iis 制作搜索网站腾讯云 一键wordpress
  • 罗湖商城网站设计公司十堰秦楚网新闻中心
  • 公司如何建设网站首页郑州专业做淘宝网站
  • 彩票网站开发系统如何搭建站长之家查询网
  • 南京酒店网站制作网站除了wordpress外
  • 你认为公司在建立网站时应满足哪些目标常州经开区建设局网站
  • 哪些公司做网站好ios应用开发用什么语言
  • 设计案例网站重庆建网站推广
  • 龙元建设网站上海装修公司口碑最好的是哪家
  • 做网站用属于前端wordpress 注册菜单
  • 什么网站做简历比较好网站运营推广
  • 网站内部服务器错误中企动力做的网站经常打不开
  • 简单的手机网站模板网站建设需要什么编程语言
  • 怎么免费制作网站平台美御品牌推广
  • 白银网站seowordpress 5.0
  • 查建设工程规划许可证在哪个网站wordpress 安装slider
  • 深圳建设局官网站营销网站域名设计
  • 河北网站制作公司西安网站排名推广
  • 东莞外贸企业网站建设网站权重排行
  • 湖北专业网站建设项目建设的背景怎么写
  • 海安建设局网站临沂专业做网站
  • 网站开发需要学习什么广州开展线上教学
  • 做网站网站盈利会怎么样百度优化教程