Unity中InSpector重写问题

本文探讨了在Unity中如何重写Inspector面板,使用GUILayout实现横板排列,并介绍如何让GameObject数组在Inspector中可拖拽编辑,通过EditorGUILayout.ObjectField和EditorGUILayout.PropertyField实现数组元素的编辑功能。
摘要由CSDN通过智能技术生成

unity中使用inspector的重写问题

1.在InSpector的重写要保存数据,这就要使用一下方法
方法名 使用说明
EditorUtility.SetDirty() 在5.3以后,标记场景的更改,不能再标记修改场景中的对象EditorUtility.SetDirty(target)
Undo.RecordObject() 标记场景中的对象所做的任何更改,这段代码要放在更改之前Undo.RecordObject(target,”string name”)
SerializedObject.Update(), EditorGUILayout.PropertyField(), and SerializedObject.ApplyModifiedProperties(). 更改可序列化组件或者资源的属性
EditorSceneManager.MarkSceneDirty() 标记场景中的文件并不想要有撤销功能

2.在InSpector中使用GUILayout.BeginHorizontal()和GUILayout.EndHorizontal()达到横板排列的功能。
3.为了能够InSpector面板中将GameObject[]拖拽到属性栏里面,则要可以使用以下两种方法。
1) mp.game[i] = (GameObject)EditorGUILayout.ObjectField(mp.game[i], typeof(GameObject), true);用for循环包裹达到效果


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值