An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
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

// 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();
}
}
}