private void ArrowGUI(Arrow arrow, string label) { if (arrow != null) { ArrowPrompt _target = (ArrowPrompt) target; arrow.isPresent = EditorGUILayout.Toggle ("Provide?", arrow.isPresent); if (arrow.isPresent) { arrow.texture = (Texture2D) EditorGUILayout.ObjectField ("Icon texture:", arrow.texture, typeof (Texture2D), true); EditorGUILayout.BeginHorizontal (); arrow.linkedCutscene = (Cutscene) EditorGUILayout.ObjectField ("Linked Cutscene:", arrow.linkedCutscene, typeof (Cutscene), true); if (arrow.linkedCutscene == null) { if (GUILayout.Button ("Create", GUILayout.MaxWidth (60f))) { Undo.RecordObject (_target, "Auto-create Cutscene"); Cutscene newCutscene = SceneManager.AddPrefab ("Logic", "Cutscene", true, false, true).GetComponent <Cutscene>(); newCutscene.gameObject.name = AdvGame.UniqueName (_target.gameObject.name + ": " + label); arrow.linkedCutscene = newCutscene; } } EditorGUILayout.EndHorizontal (); } } }