// 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 UnityEngine;
using System.Collections.Generic;
namespace Fungus
{
///
/// A Character that can be used in dialogue via the Say, Conversation and Portrait commands.
///
public interface ICharacter
{
///
/// Character name as displayed in Say Dialog.
///
string NameText { get; }
///
/// Color to display the character name in Say Dialog.
///
Color NameColor { get; }
///
/// Sound effect to play when this character is speaking.
///
/// The sound effect.
AudioClip SoundEffect { get; }
///
/// List of portrait images that can be displayed for this character.
///
List Portraits { get; }
///
/// Direction that portrait sprites face.
///
FacingDirection PortraitsFace { get; }
///
/// Currently display profile sprite for this character.
///
/// The profile sprite.
Sprite ProfileSprite { get; set; }
///
/// Current display state of this character's portrait.
///
/// The state.
PortraitState State { get; }
///
/// Sets the active Say dialog with a reference to a Say Dialog object in the scene. This Say Dialog will be used whenever the character speaks.
///
ISayDialog SetSayDialog { get; }
///
/// Returns the name of the game object.
///
string GetObjectName();
///
/// Returns true if the character name starts with the specified string. Case insensitive.
///
bool NameStartsWith(string matchString);
///
/// Looks for a portrait by name on a character
/// If none is found, give a warning and return a blank sprite
///
Sprite GetPortrait(string portraitString);
}
}