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;
相关推荐
_Evan_Yao3 小时前
游戏和编程两不误:用Unity做一个简单小游戏
后端·游戏·unity·游戏引擎
步步为营DotNet3 小时前
探秘.NET 11:C# 14 特性在后端性能优化中的深度应用
性能优化·c#·.net
Chris _data4 小时前
C# 与 PLC Modbus RTU 通信实践:从单例到线程安全的连接监控
开发语言·安全·c#
Chris _data4 小时前
C# WinForms 后台轮询 Modbus 数据与 UI 更新实践
开发语言·ui·c#
魔法阵维护师4 小时前
从零开发游戏需要学习的c#模块,第二十四章(场景管理 —— 标题、游戏、结束画面)
学习·游戏·c#
冰凌糕4 小时前
Unity3D Shader 渲染状态详解
unity
郝学胜-神的一滴5 小时前
[简化版 GAMES 101] 计算机图形学 10:反走样与深度缓冲核心解析
c++·unity·godot·图形渲染·three.js·unreal engine·opengl
唐青枫5 小时前
别把登录写散了:C#.NET IdentityServer4 统一认证与 JWT 授权实战
c#·.net
魔法阵维护师6 小时前
从零开发游戏需要学习的c#模块,第二十三章(存档与高分系统)
学习·游戏·c#
加号313 小时前
【C#】 字符串字节到十六进制字节数组的转换解析
c#