123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using UnityEditor;
- using UnityEngine;
- using UnityGameFramework.Runtime;
- namespace UnityGameFramework.Editor
- {
- [CustomEditor(typeof(SceneComponent))]
- internal sealed class SceneComponentInspector : GameFrameworkInspector
- {
- private SerializedProperty m_EnableLoadSceneUpdateEvent = null;
- private SerializedProperty m_EnableLoadSceneDependencyAssetEvent = null;
- public override void OnInspectorGUI()
- {
- base.OnInspectorGUI();
- serializedObject.Update();
- SceneComponent t = (SceneComponent)target;
- EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
- {
- EditorGUILayout.PropertyField(m_EnableLoadSceneUpdateEvent);
- EditorGUILayout.PropertyField(m_EnableLoadSceneDependencyAssetEvent);
- }
- EditorGUI.EndDisabledGroup();
- serializedObject.ApplyModifiedProperties();
- if (EditorApplication.isPlaying && IsPrefabInHierarchy(t.gameObject))
- {
- EditorGUILayout.LabelField("Loaded Scene Asset Names", GetSceneNameString(t.GetLoadedSceneAssetNames()));
- EditorGUILayout.LabelField("Loading Scene Asset Names", GetSceneNameString(t.GetLoadingSceneAssetNames()));
- EditorGUILayout.LabelField("Unloading Scene Asset Names", GetSceneNameString(t.GetUnloadingSceneAssetNames()));
- EditorGUILayout.ObjectField("Main Camera", t.MainCamera, typeof(Camera), true);
- Repaint();
- }
- }
- private void OnEnable()
- {
- m_EnableLoadSceneUpdateEvent = serializedObject.FindProperty("m_EnableLoadSceneUpdateEvent");
- m_EnableLoadSceneDependencyAssetEvent = serializedObject.FindProperty("m_EnableLoadSceneDependencyAssetEvent");
- }
- private string GetSceneNameString(string[] sceneAssetNames)
- {
- if (sceneAssetNames == null || sceneAssetNames.Length <= 0)
- {
- return "<Empty>";
- }
- string sceneNameString = string.Empty;
- foreach (string sceneAssetName in sceneAssetNames)
- {
- if (!string.IsNullOrEmpty(sceneNameString))
- {
- sceneNameString += ", ";
- }
- sceneNameString += SceneComponent.GetSceneName(sceneAssetName);
- }
- return sceneNameString;
- }
- }
- }
|