PlayerPrefs

public class L1 : MonoBehaviour
{
    void Start()
    {
        //PlayerPrefs是unity提供的可以用于存储读取玩家数据的公共类
        //PlayerPrefs的数据存储类似于键值对存储
        //提供了3种数据存储方法 int float string
        //键:string类型
        //值 int float string对应3种API
        PlayerPrefs.SetInt("myAge", 18); 
        PlayerPrefs.SetFloat("myHeight", 155.5f);
        PlayerPrefs.SetString("myName", "Robto");

        //以上直接调用set相关方法只会把数据存到内存里
        //当unity会自动把数据存到硬盘中
        //如果游戏没有正常结束,数据会直接丢失

        //只要调用下面这个代码就会把数据马上存储到硬盘中
        PlayerPrefs.Save();

        //如果想通过其他类型的数据只能降低精度或者上升精度

        bool gender = true;
        PlayerPrefs.SetInt("gender", gender ? 1 : 0);

        //如果相同键名,前面的数据会被覆盖

        //读取
        //如果Set过数据,也能马上在内存中读取到

        int age = PlayerPrefs.GetInt("myAge");
        //如果找不到myAge对应的值,就会返回第二个参数
        age = PlayerPrefs.GetInt("myAge",100);

        float height = PlayerPrefs.GetFloat("myHeight",1000);

        string name = PlayerPrefs.GetString("myName","human");

        //判断数据是否存在
        if(PlayerPrefs.HasKey("myName"))
        {

        }

        //删除指定键值对
        PlayerPrefs.DeleteKey("myAge");
        //删除所有数据
        PlayerPrefs.DeleteAll();
    }

}

public class Father { }
public class son { }
public class l3 : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        //判断一个类型的对象是否可以让另一个类型为自己分配空间
        Type fType = typeof( Father );
        Type sType = typeof(son);
        if(fType.IsAssignableFrom(sType))//father = new son
        {
            Father f = Activator.CreateInstance( sType ) as Father;
            print( f );
        }

        //通过反射来获取泛型类型
        List<string> list = new List<string>();
        Type listType = list.GetType();
        Type[] types = listType.GetGenericArguments();
        print(types[0] );
        Dictionary<string,float> dict = new Dictionary<string,float>();
        Type dicType = dict.GetType();
        types = dicType.GetGenericArguments();
    }

}

posted @ 2025-03-19 19:05  cannedmint  阅读(39)  评论(0)    收藏  举报