当前位置: 首页 >  在线学习 >  unity 实现自定义class深度拷贝 deep copy 深度复制 引用类型复制

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

导读:气死我了,搜半天没有,全让序列化再反序列化,又不方便又不美观。结果自己试着一写就通,两行完事。.首先先安装Newtonsoft.Json 包,这个很常用也很简单,随便搜一下安上就行,早晚得学。.然后两行代码:.public static T DeepCopy<T>(T DeepC

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

首先先安装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;
}
内容
  • Unity实现3D物体遮挡血条
    Unity实现3D物体遮挡血条
    2023-12-08
    Unity 实现3D物体遮挡血条.######.前言:在游戏开发中,我们经常会遇到UI和3D物体的层级遮挡问题,最常见的
  • 史上最全前端八股文来了
    史上最全前端八股文来了
    2023-12-06
    引言.由于最近比较忙活没时间学习新东西,现在得空想着能不能好好整理出一些有用的东西,让记忆深刻一点,免得到时候实习找工作
  • 驱动开发:内核文件读写系列函数
    驱动开发:内核文件读写系列函数
    2023-12-02
    在应用层下的文件操作只需要调用微软应用层下的API函数及C库标准函数即可,而如果在内核中读写文件则应用层的API显然是无
  • 戏说领域驱动设计(廿六)——再谈事务
    戏说领域驱动设计(廿六)——再谈
    2023-12-01
    有关事务的内容,在前面我们已经不只谈过一次,没办法,这是一个绕不开的话题。你敢说你在开发中不用到它?最起码聚合进行序列化
  • 十年后的第一篇:记录对两个面试问题的思考
    十年后的第一篇:记录对两个面试问
    2023-12-02
    太久没写过博客了,用户名密码甚至连用哪个邮箱注册的都不记得了,如果不是最近面试官要看的话实在是不想翻出来(如果面试官看到
  • 【Oculus Interaction SDK】(三)限制可操作物体的移动 / 旋转
    【Oculus Interact
    2023-12-09
    前言.前段时间 Oculus 的 SDK.频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现