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

39 lines
1.3 KiB
C#
Raw Normal View History

2023-12-12 20:03:44 +08:00
using System;
2023-12-10 15:21:33 +08:00
using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector.Editor;
using UnityEditor;
2023-12-13 14:20:38 +08:00
using UnityEditor.SceneManagement;
2023-12-10 15:21:33 +08:00
using UnityEngine;
2023-12-12 20:03:44 +08:00
[CanEditMultipleObjects]
2023-12-10 15:21:33 +08:00
[CustomEditor(typeof(SceneObject))]
public class SceneObjectInspector : Editor
{
private SceneObject Target => target as SceneObject;
2023-12-12 20:03:44 +08:00
2023-12-10 15:21:33 +08:00
public override void OnInspectorGUI()
{
2023-12-13 14:20:38 +08:00
EditorGUI.BeginChangeCheck();
2023-12-10 15:21:33 +08:00
Target.Transparent = EditorGUILayout.Toggle("是否半透", Target.Transparent);
2023-12-12 20:03:44 +08:00
//if(Application.isPlaying)
Target.UseSurface = EditorGUILayout.Toggle("是否使用面片", Target.UseSurface);
2023-12-10 15:21:33 +08:00
GUI.enabled = false;
EditorGUILayout.ObjectField("renderInfo", Target.renderInfo,typeof(SceneObjectRenderInfo),false);
EditorGUILayout.EnumPopup("对象类型", Target.sceneObjectType);
GUI.enabled = true;
2023-12-14 14:33:45 +08:00
if (EditorGUI.EndChangeCheck() && !Application.isPlaying)
2023-12-13 14:20:38 +08:00
{
EditorSceneManager.MarkSceneDirty(Target.gameObject.scene);
}
2023-12-12 20:03:44 +08:00
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;
}
2023-12-10 15:21:33 +08:00
}
2023-12-12 20:03:44 +08:00
}