Skip to content

Commit 0ff77ad

Browse files
Merge branch 'create-editorBase-for-custom-inspector' of https://github.com/rainaldisatria/open-project-1 into main
# Conflicts: # UOP1_Project/Assets/Scripts/Editor/GameSceneSOEditor.cs
2 parents 081f105 + 6618611 commit 0ff77ad

File tree

3 files changed

+42
-1
lines changed

3 files changed

+42
-1
lines changed

UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/Editor/AnimatorParameterActionSOEditor.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
using UOP1.StateMachine;
44

55
[CustomEditor(typeof(AnimatorParameterActionSO)), CanEditMultipleObjects]
6-
public class AnimatorParameterActionSOEditor : UnityEditor.Editor
6+
public class AnimatorParameterActionSOEditor : CustomBaseEditor
77
{
88
public override void OnInspectorGUI()
99
{
10+
DrawNonEdtiableScriptReference<AnimatorParameterActionSO>();
11+
1012
serializedObject.Update();
1113

1214
EditorGUILayout.PropertyField(serializedObject.FindProperty("whenToRun"));
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using UnityEditor;
2+
using UnityEngine;
3+
4+
/// <summary>
5+
/// Custom base editor class. Inherited from Editor class.
6+
/// Contains handy method to use.
7+
/// </summary>
8+
public class CustomBaseEditor : Editor
9+
{
10+
/// <summary>
11+
/// Draw reference information about script being edited.
12+
/// </summary>
13+
/// <typeparam name="T">Inspected type.</typeparam>
14+
public void DrawNonEdtiableScriptReference<T>() where T : Object
15+
{
16+
//Make GUI not editable.
17+
GUI.enabled = false;
18+
19+
//Draw reference information about script being edited
20+
if (typeof(ScriptableObject).IsAssignableFrom(typeof(T)))
21+
EditorGUILayout.ObjectField("Script", MonoScript.FromScriptableObject((ScriptableObject)target), typeof(T), false);
22+
else if (typeof(MonoBehaviour).IsAssignableFrom(typeof(T)))
23+
EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour((MonoBehaviour)target), typeof(T), false);
24+
25+
//Make GUI editable
26+
GUI.enabled = true;
27+
}
28+
}

UOP1_Project/Assets/Scripts/Editor/CustomBaseEditor.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)