public override void OnInspectorGUI() { EditorGUILayout.LabelField("CharacterName"); script.userName = EditorGUILayout.TextField(script.userName); EditorGUILayout.LabelField("StateName"); script.stateName = EditorGUILayout.TextField(script.stateName); EditorGUILayout.LabelField("SerializableNodeData"); EditorGUILayout.PropertyField(serializedObject.FindProperty("serializableNodeData")); EditorGUILayout.LabelField("DataJson"); script.dataJson = EditorGUILayout.TextField(script.dataJson); EditorGUILayout.LabelField(""); EditorGUILayout.LabelField(""); serializedObject.ApplyModifiedProperties(); EditorUtility.SetDirty(script); if (GUILayout.Button("Compile Code")) { StateCompiler.CompileNodeScript(script); AssetDatabase.Refresh(); //CompilationPipeline.RequestScriptCompilation(); } if (GUILayout.Button("Hot Compile Code(VisualStudio User Use Only)")) { StateCompiler.CompileNodeScript(script); } }
public static void CompileNodeScript(NodeScript script) { StateCompiler compiler = new StateCompiler(script); compiler.CompileCode(); DirectoryInfo di = new DirectoryInfo(Application.dataPath + "/Script/Action/" + script.userName); if (!di.Exists) { di.Create(); } File.WriteAllText(Application.dataPath + "/Script/Action/" + script.userName + "/" + script.userName + script.stateName + "Action.cs", compiler.classCode.ToCodeText()); }
public override void OnInspectorGUI() { EditorGUILayout.LabelField("CharacterName"); script.userName = EditorGUILayout.TextField(script.userName); EditorGUILayout.LabelField("StateName"); script.stateName = EditorGUILayout.TextField(script.stateName); EditorGUILayout.LabelField(""); EditorGUILayout.LabelField(""); EditorUtility.SetDirty(script); if (GUILayout.Button("Compile Code")) { StateCompiler.CompileNodeScript(script); CompilationPipeline.RequestScriptCompilation(); } if (GUILayout.Button("Hot Compile Code(VisualStudio User Use Only)")) { StateCompiler.CompileNodeScript(script); } }