首页 > 其他分享 >unity 实现自定义class深度拷贝 deep copy 深度复制 引用类型复制

unity 实现自定义class深度拷贝 deep copy 深度复制 引用类型复制

时间:2023-02-12 19:44:07浏览次数:34  
标签:自定义 float public 复制 深度 序列化 class

气死我了,搜半天没有,全让序列化再反序列化,又不方便又不美观。结果自己试着一写就通,两行完事。

首先先安装Newtonsoft.Json 包,这个很常用也很简单,随便搜一下安上就行,早晚得学。

然后两行代码:

   public static T DeepCopy<T>(T DeepCopyObject)
    {
        string _ = JsonConvert.SerializeObject(DeepCopyObject);
        return JsonConvert.DeserializeObject<T>(_);
    }

 

成了

注意,我只实验了class里只有变量的class如下,带上方法的我还没试,懒得实验了,反正我够用了。

public class CreatureData
{
    public RangeType rangeType;//攻击类型(近战melee/远程remote/无攻击能力peace)
    public float moveSpeed;//移动速度
    public float HP;//生命
    public float HP_Max;//生命上限
    public float attackPower;//攻击力
    public float attackRange;//攻击范围
    public float attackSpeed;//攻击速度
    public DamageType damageType = DamageType.normal;//攻击类型,默认normal
    public float mass;//质量

}
public class CreatureDataList
{
    public List<CreatureData> creatureDataList;
}

 

标签:自定义,float,public,复制,深度,序列化,class
From: https://www.cnblogs.com/NxpWaitForLove/p/17114537.html

相关文章