Unity复制对象时让私有变量也被复制的简单方法

Unity复制对象时,如果一个变量为公共变量(public),那么这个变量的值会被复制到新的对象中去,但是如果一个变量是私有变量(private),默认是不会被复制的,如果希望被复制,可以在其前面添加[SerializeField]属性。但是这样也产生一个问题,这个私有变量就会允许在Inspect的面板中被修改,如果我们不希望这个私有变量在Inspect的面板中被修改,可以在[SerializeField]属性后面再添加一个[HideInInspector]属性,这样在Inspect的面板中就看不到这个变量了,做法参考如下:

cs 复制代码
	[SerializeField]
	[HideInInspector]
	int _countW = 1;
	public int countW => _countW;

	[SerializeField]
	[HideInInspector]
	int _countH = 1;
	public int countH => _countH;

	[SerializeField]
	[HideInInspector]
	float _frameRate = 0;
	public float frameRate => _frameRate;
相关推荐
南無忘码至尊6 分钟前
Unity C# 入门基础知识点整理与实战技巧
开发语言·c#
一只小小汤圆1 小时前
如何xml序列化 和反序列化类中包含的类
xml·开发语言·c#
wkj0015 小时前
接口实现类向上转型和向上转型解析
java·开发语言·c#
徐子竣5 小时前
Unity性能优化-C#编码模块
unity·性能优化·游戏引擎
阿伍.7 小时前
【指针】(适合考研、专升本)
c++·考研·c#
Thomas_YXQ7 小时前
Unity3D SM节点式动画技能编辑器实现
开发语言·游戏·unity·编辑器·游戏引擎
香煎三文鱼7 小时前
C# net8生成excel,并设置列规则导出文件
c#·excel·c#生成ecel
汪小白JIY8 小时前
【C#】多级缓存与多核CPU
缓存·c#·多级缓存
心前阳光8 小时前
Unity-通过Transform类学习迭代器模式
学习·unity·迭代器模式
工程师0079 小时前
C#AES加密
网络·安全·web安全·c#