You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus). |
|
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE) |
|
|
|
using UnityEditor; |
|
|
|
namespace Fungus |
|
{ |
|
[CustomEditor (typeof(LuaScript))] |
|
public class LuaScriptEditor : Editor |
|
{ |
|
protected SerializedProperty luaEnvironmentProp; |
|
protected SerializedProperty luaFileProp; |
|
protected SerializedProperty luaScriptProp; |
|
protected SerializedProperty runAsCoroutineProp; |
|
|
|
protected virtual void OnEnable() |
|
{ |
|
luaEnvironmentProp = serializedObject.FindProperty("luaEnvironment"); |
|
luaFileProp = serializedObject.FindProperty("luaFile"); |
|
luaScriptProp = serializedObject.FindProperty("luaScript"); |
|
runAsCoroutineProp = serializedObject.FindProperty("runAsCoroutine"); |
|
} |
|
|
|
public override void OnInspectorGUI() |
|
{ |
|
serializedObject.Update(); |
|
|
|
EditorGUILayout.PropertyField(luaEnvironmentProp); |
|
EditorGUILayout.PropertyField(luaFileProp); |
|
|
|
EditorGUI.BeginChangeCheck(); |
|
|
|
EditorGUILayout.PropertyField(luaScriptProp); |
|
|
|
if (EditorGUI.EndChangeCheck() && |
|
EditorApplication.isPlaying) |
|
{ |
|
// Reinitialise if the Lua script is changed while running in editor |
|
LuaScript luaScript = target as LuaScript; |
|
luaScript.Initialised = false; |
|
} |
|
|
|
EditorGUILayout.PropertyField(runAsCoroutineProp); |
|
|
|
serializedObject.ApplyModifiedProperties(); |
|
} |
|
} |
|
} |