39 lines
1.3 KiB
C#
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;
|
|
}
|
|
}
|
|
} |