NLDClient-yudde/ProjectNLD/Assets/Editor/Scene/SceneObjectInspector.cs

39 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector.Editor;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
[CanEditMultipleObjects]
[CustomEditor(typeof(SceneObject))]
public class SceneObjectInspector : Editor
{
private SceneObject Target => target as SceneObject;
public override void OnInspectorGUI()
{
EditorGUI.BeginChangeCheck();
Target.Transparent = EditorGUILayout.Toggle("是否半透", Target.Transparent);
//if(Application.isPlaying)
Target.UseSurface = EditorGUILayout.Toggle("是否使用面片", Target.UseSurface);
GUI.enabled = false;
EditorGUILayout.ObjectField("renderInfo", Target.renderInfo,typeof(SceneObjectRenderInfo),false);
EditorGUILayout.EnumPopup("对象类型", Target.sceneObjectType);
GUI.enabled = true;
if (EditorGUI.EndChangeCheck() && !Application.isPlaying)
{
EditorSceneManager.MarkSceneDirty(Target.gameObject.scene);
}
foreach (var o in targets)
{
var k_target = (SceneObject)o;
if(k_target == target)
continue;
k_target.Transparent = Target.Transparent;
k_target.UseSurface = Target.UseSurface;
}
}
}