public override void OnInspectorGUI() { serializedObject.Update(); AdvDataCharacter t = target as AdvDataCharacter; //EditorGUILayout.PropertyField(speakerTermProp); CommandEditorExtend.StringField(nameTermProp, new GUIContent("Name Key", "CG in the Atlas files name"), new GUIContent("<None>"), FungusExt.AdvLocalizeContent.Instance.GetActorNamesList()); EditorGUILayout.PropertyField(nameColorProp, new GUIContent("Name Color", "Color of name text display in the dialog")); EditorGUILayout.PropertyField(textColorProp, new GUIContent("Text Color", "Color of Text display in the dialog")); EditorGUILayout.PropertyField(soundEffectProp, new GUIContent("Sound Effect", "Sound to play when the character is talking. Overrides the setting in the Dialog.")); EditorGUILayout.PropertyField(setSayDialogProp); EditorGUILayout.PropertyField(descriptionProp, new GUIContent("Description", "Notes about this story character (personality, attibutes, etc.)")); if (t.Portraits != null && t.Portraits.Count > 0) { t.ProfileSprite = t.Portraits[0]; } else { t.ProfileSprite = null; } if (t.ProfileSprite != null) { Texture2D characterTexture = t.ProfileSprite.texture; float aspect = (float)characterTexture.width / (float)characterTexture.height; Rect previewRect = GUILayoutUtility.GetAspectRect(aspect, GUILayout.Width(100), GUILayout.ExpandWidth(true)); if (characterTexture != null) { GUI.DrawTexture(previewRect, characterTexture, ScaleMode.ScaleToFit, true, aspect); } } EditorGUILayout.PropertyField(portraitsProp, new GUIContent("Portraits", "Character image sprites to display in the dialog"), true); EditorGUILayout.HelpBox("All portrait images should use the exact same resolution to avoid positioning and tiling issues.", MessageType.Info); EditorGUILayout.Separator(); string[] facingArrows = new string[] { "FRONT", "<--", "-->", }; //portraitsFaceProp.enumValueIndex = EditorGUILayout.Popup("Portraits Face", (int)portraitsFaceProp.enumValueIndex, facingArrows); EditorGUILayout.Separator(); EditorUtility.SetDirty(t); serializedObject.ApplyModifiedProperties(); }
public override void DrawCommandGUI() { if (showIconProp == null) { InitializeSayExtendEditor(); } serializedObject.Update(); bool showPortraits = false; bool overrideSpeaker = true; EditorGUILayout.PropertyField(showIconProp); if (overrideSpeaker) { CommandEditorExtend.StringField(overrideTermProp, new GUIContent("Override Name Term", "The localize key of speaker name"), new GUIContent("<None>"), FungusExt.AdvLocalizeContent.Instance.GetActorNamesList()); EditorGUILayout.PropertyField(overridePortraitProp); EditorGUILayout.PropertyField(csvCommandKeyProp); } EditorGUILayout.PropertyField(portraitEquipProp, true); Say t = target as Say; EditorGUILayout.PropertyField(storyTextProp); EditorGUILayout.PropertyField(descriptionProp); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(extendPreviousProp); GUILayout.FlexibleSpace(); if (GUILayout.Button(new GUIContent("Tag Help", "View available tags"), new GUIStyle(EditorStyles.miniButton))) { showTagHelp = !showTagHelp; } EditorGUILayout.EndHorizontal(); if (showTagHelp) { DrawTagHelpLabel(); } EditorGUILayout.Separator(); EditorGUILayout.PropertyField(voiceOverClipProp, new GUIContent("Voice Over Clip", "Voice over audio to play when the text is displayed")); EditorGUILayout.PropertyField(showAlwaysProp); if (showAlwaysProp.boolValue == false) { EditorGUILayout.PropertyField(showCountProp); } GUIStyle centeredLabel = new GUIStyle(EditorStyles.label); centeredLabel.alignment = TextAnchor.MiddleCenter; GUIStyle leftButton = new GUIStyle(EditorStyles.miniButtonLeft); leftButton.fontSize = 10; leftButton.font = EditorStyles.toolbarButton.font; GUIStyle rightButton = new GUIStyle(EditorStyles.miniButtonRight); rightButton.fontSize = 10; rightButton.font = EditorStyles.toolbarButton.font; EditorGUILayout.PropertyField(fadeWhenDoneProp); EditorGUILayout.PropertyField(waitForClickProp); EditorGUILayout.PropertyField(stopVoiceoverProp); EditorGUILayout.PropertyField(setSayDialogProp); EditorGUILayout.PropertyField(waitForVOProp); if (showPortraits && t.Portrait != null) { Texture2D characterTexture = t.Portrait.texture; float aspect = (float)characterTexture.width / (float)characterTexture.height; Rect previewRect = GUILayoutUtility.GetAspectRect(aspect, GUILayout.Width(100), GUILayout.ExpandWidth(true)); if (characterTexture != null) { GUI.DrawTexture(previewRect, characterTexture, ScaleMode.ScaleToFit, true, aspect); } } EditorGUILayout.PropertyField(dataCharacterProp); serializedObject.ApplyModifiedProperties(); }