Browse Source

Added ability to set say dialog per character - usefull if you want to have separate say dialogs for each character

master
FeniXb3 9 years ago
parent
commit
583f656135
  1. 4
      Assets/Fungus/Narrative/Editor/CharacterEditor.cs
  2. 3
      Assets/Fungus/Narrative/Scripts/Character.cs
  3. 5
      Assets/Fungus/Narrative/Scripts/Commands/Say.cs

4
Assets/Fungus/Narrative/Editor/CharacterEditor.cs

@ -16,6 +16,7 @@ namespace Fungus
protected SerializedProperty portraitsProp;
protected SerializedProperty portraitsFaceProp;
protected SerializedProperty descriptionProp;
protected SerializedProperty setSayDialogProp;
protected virtual void OnEnable()
{
@ -25,6 +26,7 @@ namespace Fungus
portraitsProp = serializedObject.FindProperty ("portraits");
portraitsFaceProp = serializedObject.FindProperty ("portraitsFace");
descriptionProp = serializedObject.FindProperty ("description");
setSayDialogProp = serializedObject.FindProperty("setSayDialog");
}
public override void OnInspectorGUI()
@ -36,7 +38,9 @@ namespace Fungus
EditorGUILayout.PropertyField(nameTextProp, new GUIContent("Name Text", "Name of the character display in the dialog"));
EditorGUILayout.PropertyField(nameColorProp, new GUIContent("Name Color", "Color of name 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)
{

3
Assets/Fungus/Narrative/Scripts/Character.cs

@ -18,6 +18,9 @@ namespace Fungus
public FacingDirection portraitsFace;
public PortraitState state;
[Tooltip("Sets the active Say dialog with a reference to a Say Dialog object in the scene. All story text will now display using this Say Dialog.")]
public SayDialog setSayDialog;
[FormerlySerializedAs("notes")]
[TextArea(5,10)]
public string description;

5
Assets/Fungus/Narrative/Scripts/Commands/Say.cs

@ -58,6 +58,11 @@ namespace Fungus
executionCount++;
// Override the active say dialog if needed
if (character != null && character.setSayDialog != null)
{
SayDialog.activeSayDialog = character.setSayDialog;
}
if (setSayDialog != null)
{
SayDialog.activeSayDialog = setSayDialog;

Loading…
Cancel
Save