Chris Gregan
8 years ago
committed by
GitHub
99 changed files with 1540 additions and 2470 deletions
@ -1,119 +0,0 @@ |
|||||||
// 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 System.Collections; |
|
||||||
using System.Collections.Generic; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Execution state of a Block. |
|
||||||
/// </summary> |
|
||||||
public enum ExecutionState |
|
||||||
{ |
|
||||||
/// <summary> No command executing </summary> |
|
||||||
Idle, |
|
||||||
/// <summary> Executing a command </summary> |
|
||||||
Executing, |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// A container for a sequence of Fungus comands. |
|
||||||
/// </summary> |
|
||||||
public interface IBlock |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// The execution state of the Block. |
|
||||||
/// </summary> |
|
||||||
ExecutionState State { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Unique identifier for the Block. |
|
||||||
/// </summary> |
|
||||||
int ItemId { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The name of the block node as displayed in the Flowchart window. |
|
||||||
/// </summary> |
|
||||||
string BlockName { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Description text to display under the block node |
|
||||||
/// </summary> |
|
||||||
string Description { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// An optional Event Handler which can execute the block when an event occurs. |
|
||||||
/// Note: Using the concrete class instead of the interface here because of weird editor behaviour. |
|
||||||
/// </summary> |
|
||||||
EventHandler _EventHandler { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The currently executing command. |
|
||||||
/// </summary> |
|
||||||
Command ActiveCommand { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Timer for fading Block execution icon. |
|
||||||
/// </summary> |
|
||||||
float ExecutingIconTimer { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The list of commands in the sequence. |
|
||||||
/// </summary> |
|
||||||
List<Command> CommandList { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Controls the next command to execute in the block execution coroutine. |
|
||||||
/// </summary> |
|
||||||
int JumpToCommandIndex { set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the parent Flowchart for this Block. |
|
||||||
/// </summary> |
|
||||||
IFlowchart GetFlowchart(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the Block is executing a command. |
|
||||||
/// </summary> |
|
||||||
bool IsExecuting(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the number of times this Block has executed. |
|
||||||
/// </summary> |
|
||||||
int GetExecutionCount(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Start a coroutine which executes all commands in the Block. Only one running instance of each Block is permitted. |
|
||||||
/// </summary> |
|
||||||
void StartExecution(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// A coroutine method that executes all commands in the Block. Only one running instance of each Block is permitted. |
|
||||||
/// </summary> |
|
||||||
/// <param name="commandIndex">Index of command to start execution at</param> |
|
||||||
/// <param name="onComplete">Delegate function to call when execution completes</param> |
|
||||||
IEnumerator Execute(int commandIndex = 0, System.Action onComplete = null); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stop executing commands in this Block. |
|
||||||
/// </summary> |
|
||||||
void Stop(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns a list of all Blocks connected to this one. |
|
||||||
/// </summary> |
|
||||||
List<Block> GetConnectedBlocks(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the type of the previously executing command. |
|
||||||
/// </summary> |
|
||||||
/// <returns>The previous active command type.</returns> |
|
||||||
System.Type GetPreviousActiveCommandType(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Recalculate the indent levels for all commands in the list. |
|
||||||
/// </summary> |
|
||||||
void UpdateIndentLevels(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 3a23dd66c807e4fab86a64184c3faa9a |
|
||||||
timeCreated: 1473856388 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,49 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Controller for main camera.Supports several types of camera transition including snap, pan & fade. |
|
||||||
/// </summary> |
|
||||||
public interface ICameraController |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Full screen texture used for screen fade effect. |
|
||||||
/// </summary> |
|
||||||
/// <value>The screen fade texture.</value> |
|
||||||
Texture2D ScreenFadeTexture { set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Perform a fullscreen fade over a duration. |
|
||||||
/// </summary> |
|
||||||
void Fade(float targetAlpha, float fadeDuration, System.Action fadeAction); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Fade out, move camera to view and then fade back in. |
|
||||||
/// </summary> |
|
||||||
void FadeToView(Camera camera, View view, float fadeDuration, bool fadeOut, System.Action fadeAction); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stop all camera tweening. |
|
||||||
/// </summary> |
|
||||||
void Stop(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Moves camera from current position to a target position over a period of time. |
|
||||||
/// </summary> |
|
||||||
void PanToPosition(Camera camera, Vector3 targetPosition, Quaternion targetRotation, float targetSize, float duration, System.Action arriveAction); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Activates swipe panning mode. The player can pan the camera within the area between viewA & viewB. |
|
||||||
/// </summary> |
|
||||||
void StartSwipePan(Camera camera, View viewA, View viewB, float duration, float speedMultiplier, System.Action arriveAction); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Deactivates swipe panning mode. |
|
||||||
/// </summary> |
|
||||||
void StopSwipePan(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 182888cc7e1a0470c81e9ea6966d6fc6 |
|
||||||
timeCreated: 1473431064 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,74 +0,0 @@ |
|||||||
// 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; |
|
||||||
using Fungus.Utils; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// A Character that can be used in dialogue via the Say, Conversation and Portrait commands. |
|
||||||
/// </summary> |
|
||||||
public interface ICharacter |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Character name as displayed in Say Dialog. |
|
||||||
/// </summary> |
|
||||||
string NameText { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Color to display the character name in Say Dialog. |
|
||||||
/// </summary> |
|
||||||
Color NameColor { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sound effect to play when this character is speaking. |
|
||||||
/// </summary> |
|
||||||
/// <value>The sound effect.</value> |
|
||||||
AudioClip SoundEffect { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// List of portrait images that can be displayed for this character. |
|
||||||
/// </summary> |
|
||||||
List<Sprite> Portraits { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Direction that portrait sprites face. |
|
||||||
/// </summary> |
|
||||||
FacingDirection PortraitsFace { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Currently display profile sprite for this character. |
|
||||||
/// </summary> |
|
||||||
/// <value>The profile sprite.</value> |
|
||||||
Sprite ProfileSprite { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Current display state of this character's portrait. |
|
||||||
/// </summary> |
|
||||||
/// <value>The state.</value> |
|
||||||
PortraitState State { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// 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. |
|
||||||
/// </summary> |
|
||||||
ISayDialog SetSayDialog { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the name of the game object. |
|
||||||
/// </summary> |
|
||||||
string GetObjectName(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the character name starts with the specified string. Case insensitive. |
|
||||||
/// </summary> |
|
||||||
bool NameStartsWith(string matchString); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Looks for a portrait by name on a character |
|
||||||
/// If none is found, give a warning and return a blank sprite |
|
||||||
/// </summary> |
|
||||||
Sprite GetPortrait(string portraitString); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 07a9457a850c147049f1fb7ea4b860cf |
|
||||||
timeCreated: 1473676955 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,18 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Detects mouse clicks and touches on a Game Object, and sends an event to all Flowchart event handlers in the scene. |
|
||||||
/// The Game Object must have a Collider or Collider2D component attached. |
|
||||||
/// Use in conjunction with the ObjectClicked Flowchart event handler. |
|
||||||
/// </summary> |
|
||||||
public interface IClickable2D |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Is object clicking enabled. |
|
||||||
/// </summary> |
|
||||||
bool ClickEnabled { set; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 477f75d30919449dfa922f74038ceaa4 |
|
||||||
timeCreated: 1473690975 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,166 +0,0 @@ |
|||||||
// 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 |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Commands can be added to Blocks to create an execution sequence. |
|
||||||
/// </summary> |
|
||||||
public interface ICommand |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Unique identifier for this command. |
|
||||||
/// Unique for this Flowchart. |
|
||||||
/// </summary> |
|
||||||
int ItemId { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Error message to display in the command inspector. |
|
||||||
/// </summary> |
|
||||||
string ErrorMessage { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Indent depth of the current commands. |
|
||||||
/// Commands are indented inside If, While, etc. sections. |
|
||||||
/// </summary> |
|
||||||
int IndentLevel { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Index of the command in the parent block's command list. |
|
||||||
/// </summary> |
|
||||||
int CommandIndex { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Set to true by the parent block while the command is executing. |
|
||||||
/// </summary> |
|
||||||
bool IsExecuting { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Timer used to control appearance of executing icon in inspector. |
|
||||||
/// </summary> |
|
||||||
float ExecutingIconTimer { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reference to the Block object that this command belongs to. |
|
||||||
/// This reference is only populated at runtime and in the editor when the |
|
||||||
/// block is selected. |
|
||||||
/// </summary> |
|
||||||
Block ParentBlock { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the Flowchart that this command belongs to. |
|
||||||
/// </summary> |
|
||||||
IFlowchart GetFlowchart(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Execute the command. |
|
||||||
/// </summary> |
|
||||||
void Execute(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// End execution of this command and continue execution at the next command. |
|
||||||
/// </summary> |
|
||||||
void Continue(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// End execution of this command and continue execution at a specific command index. |
|
||||||
/// </summary> |
|
||||||
/// <param name="nextCommandIndex">Next command index.</param> |
|
||||||
void Continue(int nextCommandIndex); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stops the parent Block executing. |
|
||||||
/// </summary> |
|
||||||
void StopParentBlock(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when the parent block has been requested to stop executing, and |
|
||||||
/// this command is the currently executing command. |
|
||||||
/// Use this callback to terminate any asynchronous operations and |
|
||||||
/// cleanup state so that the command is ready to execute again later on. |
|
||||||
/// </summary> |
|
||||||
void OnStopExecuting(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when the new command is added to a block in the editor. |
|
||||||
/// </summary> |
|
||||||
void OnCommandAdded(Block parentBlock); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when the command is deleted from a block in the editor. |
|
||||||
/// </summary> |
|
||||||
void OnCommandRemoved(Block parentBlock); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when this command starts execution. |
|
||||||
/// </summary> |
|
||||||
void OnEnter(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when this command ends execution. |
|
||||||
/// </summary> |
|
||||||
void OnExit(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when this command is reset. This happens when the Reset command is used. |
|
||||||
/// </summary> |
|
||||||
void OnReset(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Populates a list with the Blocks that this command references. |
|
||||||
/// </summary> |
|
||||||
void GetConnectedBlocks(ref List<Block> connectedBlocks); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if this command references the variable. |
|
||||||
/// Used to highlight variables in the variable list when a command is selected. |
|
||||||
/// </summary> |
|
||||||
bool HasReference(Variable variable); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the summary text to display in the command inspector. |
|
||||||
/// </summary> |
|
||||||
string GetSummary(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the help text to display for this command. |
|
||||||
/// </summary> |
|
||||||
string GetHelpText(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Return true if this command opens a block of commands. Used for indenting commands. |
|
||||||
/// </summary> |
|
||||||
bool OpenBlock(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Return true if this command closes a block of commands. Used for indenting commands. |
|
||||||
/// </summary> |
|
||||||
bool CloseBlock(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Return the color for the command background in inspector. |
|
||||||
/// </summary> |
|
||||||
/// <returns>The button color.</returns> |
|
||||||
Color GetButtonColor(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the specified property should be displayed in the inspector. |
|
||||||
/// This is useful for hiding certain properties based on the value of another property. |
|
||||||
/// </summary> |
|
||||||
bool IsPropertyVisible(string propertyName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the specified property should be displayed as a reorderable list in the inspector. |
|
||||||
/// This only applies for array properties and has no effect for non-array properties. |
|
||||||
/// </summary> |
|
||||||
bool IsReorderableArray(string propertyName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the localization id for the Flowchart that contains this command. |
|
||||||
/// </summary> |
|
||||||
string GetFlowchartLocalizationId(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 189c3f33fdd4b47608ac0aa3a2b971bb |
|
||||||
timeCreated: 1473856401 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,23 +0,0 @@ |
|||||||
// 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 System.Collections; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Helper class to manage parsing and executing the conversation format. |
|
||||||
/// </summary> |
|
||||||
public interface IConversationManager |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Caches the character objects in the scene for fast lookup during conversations. |
|
||||||
/// </summary> |
|
||||||
void PopulateCharacterCache(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Parse and execute a conversation string. |
|
||||||
/// </summary> |
|
||||||
IEnumerator DoConversation(string conv); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 3a7ff247990a84e1a96765d1c03735b6 |
|
||||||
timeCreated: 1473679803 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,31 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Create custom tags for use in Say text. |
|
||||||
/// </summary> |
|
||||||
public interface ICustomTag |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// String that defines the start of the tag. |
|
||||||
/// </summary> |
|
||||||
string TagStartSymbol { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// String that defines the end of the tag. |
|
||||||
/// </summary> |
|
||||||
string TagEndSymbol { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// String to replace the start tag with. |
|
||||||
/// </summary> |
|
||||||
string ReplaceTagStartWith { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// String to replace the end tag with. |
|
||||||
/// </summary> |
|
||||||
string ReplaceTagEndWith { get; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 59af36c15380c4854860339298d3779e |
|
||||||
timeCreated: 1473680400 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,34 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Input handler for say dialogues. |
|
||||||
/// </summary> |
|
||||||
public interface IDialogInput |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Trigger next line input event from script. |
|
||||||
/// </summary> |
|
||||||
void SetNextLineFlag(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Set the dialog clicked flag (usually from an Event Trigger component in the dialog UI). |
|
||||||
/// </summary> |
|
||||||
void SetDialogClickedFlag(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the button clicked flag. |
|
||||||
/// </summary> |
|
||||||
void SetButtonClickedFlag(); |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Interface for listening for dialogue input events. |
|
||||||
/// </summary> |
|
||||||
public interface IDialogInputListener |
|
||||||
{ |
|
||||||
void OnNextLineEvent(); |
|
||||||
} |
|
||||||
} |
|
@ -1,13 +1,13 @@ |
|||||||
// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus). |
// 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) |
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE) |
||||||
|
|
||||||
using System.Collections.Generic; |
|
||||||
using Fungus.Utils; |
|
||||||
|
|
||||||
namespace Fungus |
namespace Fungus |
||||||
{ |
{ |
||||||
public interface ITextTagParser |
/// <summary> |
||||||
|
/// Interface for listening for dialogue input events. |
||||||
|
/// </summary> |
||||||
|
public interface IDialogInputListener |
||||||
{ |
{ |
||||||
List<TextTagToken> Tokenize(string storyText); |
void OnNextLineEvent(); |
||||||
} |
} |
||||||
} |
} |
@ -1,21 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Detects drag and drop interactions on a Game Object, and sends events to all Flowchart event handlers in the scene. |
|
||||||
/// The Game Object must have Collider2D & RigidBody components attached. |
|
||||||
/// The Collider2D must have the Is Trigger property set to true. |
|
||||||
/// The RigidBody would typically have the Is Kinematic property set to true, unless you want the object to move around using physics. |
|
||||||
/// Use in conjunction with the Drag Started, Drag Completed, Drag Cancelled, Drag Entered & Drag Exited event handlers. |
|
||||||
/// </summary> |
|
||||||
public interface IDraggable2D |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Is object drag and drop enabled. |
|
||||||
/// </summary> |
|
||||||
/// <value><c>true</c> if drag enabled; otherwise, <c>false</c>.</value> |
|
||||||
bool DragEnabled { get; set; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: be9f3ca656cc14276b86e6f41cb87d9d |
|
||||||
timeCreated: 1473691259 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,31 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// A Block may have an associated Event Handler which starts executing commands when |
|
||||||
/// a specific event occurs. |
|
||||||
/// To create a custom Event Handler, simply subclass EventHandler and call the ExecuteBlock() method |
|
||||||
/// when the event occurs. |
|
||||||
/// Add an EventHandlerInfo attibute and your new EventHandler class will automatically appear in the |
|
||||||
/// 'Execute On Event' dropdown menu when a block is selected. |
|
||||||
/// </summary> |
|
||||||
public interface IEventHandler |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// The parent Block which owns this Event Handler. |
|
||||||
/// </summary> |
|
||||||
Block ParentBlock { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The Event Handler should call this method when the event is detected to start executing the Block. |
|
||||||
/// </summary> |
|
||||||
bool ExecuteBlock(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns custom summary text for the event handler. |
|
||||||
/// </summary> |
|
||||||
string GetSummary(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 5ae3dddb3147c4a07a851843721affe8 |
|
||||||
timeCreated: 1473856414 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,296 +0,0 @@ |
|||||||
// 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; |
|
||||||
using Fungus.Commands; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Visual scripting controller for the Flowchart programming language. |
|
||||||
/// Flowchart objects may be edited visually using the Flowchart editor window. |
|
||||||
/// </summary> |
|
||||||
public interface IFlowchart |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Scroll position of Flowchart editor window. |
|
||||||
/// </summary> |
|
||||||
Vector2 ScrollPos { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Scroll position of Flowchart variables window. |
|
||||||
/// </summary> |
|
||||||
Vector2 VariablesScrollPos { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Show the variables pane. |
|
||||||
/// </summary> |
|
||||||
bool VariablesExpanded { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Height of command block view in inspector. |
|
||||||
/// </summary> |
|
||||||
float BlockViewHeight { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Zoom level of Flowchart editor window. |
|
||||||
/// </summary> |
|
||||||
float Zoom { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Scrollable area for Flowchart editor window. |
|
||||||
/// </summary> |
|
||||||
Rect ScrollViewRect { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Currently selected block in the Flowchart editor. |
|
||||||
/// </summary> |
|
||||||
Block SelectedBlock { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Currently selected command in the Flowchart editor. |
|
||||||
/// </summary> |
|
||||||
List<Command> SelectedCommands { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The list of variables that can be accessed by the Flowchart. |
|
||||||
/// </summary> |
|
||||||
List<Variable> Variables { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Description text displayed in the Flowchart editor window |
|
||||||
/// </summary> |
|
||||||
string Description { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Slow down execution in the editor to make it easier to visualise program flow. |
|
||||||
/// </summary> |
|
||||||
float StepPause { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Use command color when displaying the command list in the inspector. |
|
||||||
/// </summary> |
|
||||||
bool ColorCommands { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Saves the selected block and commands when saving the scene. Helps avoid version control conflicts if you've only changed the active selection. |
|
||||||
/// </summary> |
|
||||||
bool SaveSelection { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Unique identifier for identifying this flowchart in localized string keys. |
|
||||||
/// </summary> |
|
||||||
string LocalizationId { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Display line numbers in the command list in the Block inspector. |
|
||||||
/// </summary> |
|
||||||
bool ShowLineNumbers { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Lua Environment to be used by default for all Execute Lua commands in this Flowchart. |
|
||||||
/// </summary> |
|
||||||
ILuaEnvironment LuaEnv { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The ExecuteLua command adds a global Lua variable with this name bound to the flowchart prior to executing. |
|
||||||
/// </summary> |
|
||||||
string LuaBindingName { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Position in the center of all blocks in the flowchart. |
|
||||||
/// </summary> |
|
||||||
Vector2 CenterPosition { set; get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Variable to track flowchart's version so components can update to new versions. |
|
||||||
/// </summary> |
|
||||||
int Version { set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the next id to assign to a new flowchart item. |
|
||||||
/// Item ids increase monotically so they are guaranteed to |
|
||||||
/// be unique within a Flowchart. |
|
||||||
/// </summary> |
|
||||||
int NextItemId(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the Flowchart gameobject is active. |
|
||||||
/// </summary> |
|
||||||
bool IsActive(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the Flowchart gameobject name. |
|
||||||
/// </summary> |
|
||||||
string GetName(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Create a new block node which you can then add commands to. |
|
||||||
/// </summary> |
|
||||||
Block CreateBlock(Vector2 position); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the named Block in the flowchart, or null if not found. |
|
||||||
/// </summary> |
|
||||||
IBlock FindBlock(string blockName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Execute a child block in the Flowchart. |
|
||||||
/// You can use this method in a UI event. e.g. to handle a button click. |
|
||||||
void ExecuteBlock(string blockName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Execute a child block in the flowchart. |
|
||||||
/// The block must be in an idle state to be executed. |
|
||||||
/// This version provides extra options to control how the block is executed. |
|
||||||
/// Returns true if the Block started execution. |
|
||||||
/// </summary> |
|
||||||
bool ExecuteBlock(IBlock block, int commandIndex = 0, System.Action onComplete = null); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stop all executing Blocks in this Flowchart. |
|
||||||
/// </summary> |
|
||||||
void StopAllBlocks(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sends a message to this Flowchart only. |
|
||||||
/// Any block with a matching MessageReceived event handler will start executing. |
|
||||||
/// </summary> |
|
||||||
void SendFungusMessage(string messageName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns a new variable key that is guaranteed not to clash with any existing variable in the list. |
|
||||||
/// </summary> |
|
||||||
string GetUniqueVariableKey(string originalKey, Variable ignoreVariable = null); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns a new Block key that is guaranteed not to clash with any existing Block in the Flowchart. |
|
||||||
/// </summary> |
|
||||||
string GetUniqueBlockKey(string originalKey, IBlock ignoreBlock = null); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns a new Label key that is guaranteed not to clash with any existing Label in the Block. |
|
||||||
/// </summary> |
|
||||||
string GetUniqueLabelKey(string originalKey, Label ignoreLabel); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the variable with the specified key, or null if the key is not found. |
|
||||||
/// You will need to cast the returned variable to the correct sub-type. |
|
||||||
/// You can then access the variable's value using the Value property. e.g. |
|
||||||
/// BooleanVariable boolVar = flowchart.GetVariable("MyBool") as BooleanVariable; |
|
||||||
/// boolVar.Value = false; |
|
||||||
/// </summary> |
|
||||||
Variable GetVariable(string key); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the variable with the specified key, or null if the key is not found. |
|
||||||
/// You can then access the variable's value using the Value property. e.g. |
|
||||||
/// BooleanVariable boolVar = flowchart.GetVariable<BooleanVariable>("MyBool"); |
|
||||||
/// boolVar.Value = false; |
|
||||||
/// </summary> |
|
||||||
T GetVariable<T>(string key) where T : Variable; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Register a new variable with the Flowchart at runtime. |
|
||||||
/// The variable should be added as a component on the Flowchart game object. |
|
||||||
/// </summary> |
|
||||||
void SetVariable<T>(string key, T newvariable) where T : Variable; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets a list of all variables with public scope in this Flowchart. |
|
||||||
/// </summary> |
|
||||||
List<Variable> GetPublicVariables(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the value of a boolean variable. |
|
||||||
/// Returns false if the variable key does not exist. |
|
||||||
/// </summary> |
|
||||||
bool GetBooleanVariable(string key); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the value of a boolean variable. |
|
||||||
/// The variable must already be added to the list of variables for this Flowchart. |
|
||||||
/// </summary> |
|
||||||
void SetBooleanVariable(string key, bool value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the value of an integer variable. |
|
||||||
/// Returns 0 if the variable key does not exist. |
|
||||||
/// </summary> |
|
||||||
int GetIntegerVariable(string key); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the value of an integer variable. |
|
||||||
/// The variable must already be added to the list of variables for this Flowchart. |
|
||||||
/// </summary> |
|
||||||
void SetIntegerVariable(string key, int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the value of a float variable. |
|
||||||
/// Returns 0 if the variable key does not exist. |
|
||||||
/// </summary> |
|
||||||
float GetFloatVariable(string key); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the value of a float variable. |
|
||||||
/// The variable must already be added to the list of variables for this Flowchart. |
|
||||||
/// </summary> |
|
||||||
void SetFloatVariable(string key, float value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the value of a string variable. |
|
||||||
/// Returns the empty string if the variable key does not exist. |
|
||||||
/// </summary> |
|
||||||
string GetStringVariable(string key); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the value of a string variable. |
|
||||||
/// The variable must already be added to the list of variables for this Flowchart. |
|
||||||
/// </summary> |
|
||||||
void SetStringVariable(string key, string value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Set the block objects to be hidden or visible depending on the hideComponents property. |
|
||||||
/// </summary> |
|
||||||
void UpdateHideFlags(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Clears the list of selected commands. |
|
||||||
/// </summary> |
|
||||||
void ClearSelectedCommands(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Adds a command to the list of selected commands. |
|
||||||
/// </summary> |
|
||||||
void AddSelectedCommand(Command command); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reset the commands and variables in the Flowchart. |
|
||||||
/// </summary> |
|
||||||
void Reset(bool resetCommands, bool resetVariables); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Override this in a Flowchart subclass to filter which commands are shown in the Add Command list. |
|
||||||
/// </summary> |
|
||||||
bool IsCommandSupported(CommandInfoAttribute commandInfo); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if there are any executing blocks in this Flowchart. |
|
||||||
/// </summary> |
|
||||||
bool HasExecutingBlocks(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns a list of all executing blocks in this Flowchart. |
|
||||||
/// </summary> |
|
||||||
List<IBlock> GetExecutingBlocks(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Substitute variables in the input text with the format {$VarName} |
|
||||||
/// This will first match with private variables in this Flowchart, and then |
|
||||||
/// with public variables in all Flowcharts in the scene (and any component |
|
||||||
/// in the scene that implements StringSubstituter.ISubstitutionHandler). |
|
||||||
/// </summary> |
|
||||||
string SubstituteVariables(string input); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: e0dd617b954d242bdb37e9c5de4f63cc |
|
||||||
timeCreated: 1473856422 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,17 +0,0 @@ |
|||||||
using UnityEngine; |
|
||||||
using System.Collections; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Used by the Flowchart window to serialize the currently active Flowchart object |
|
||||||
/// so that the same Flowchart can be displayed while editing & playing. |
|
||||||
/// </summary> |
|
||||||
public interface IFungusState |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// The currently selected Flowchart. |
|
||||||
/// </summary> |
|
||||||
Flowchart SelectedFlowchart { get; set; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 36cb688eedcc4436780e68405a4ba494 |
|
||||||
timeCreated: 1474015940 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -0,0 +1,35 @@ |
|||||||
|
// 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; |
||||||
|
|
||||||
|
namespace Fungus |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// An item of localizeable text. |
||||||
|
/// </summary> |
||||||
|
public interface ILocalizable |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// Gets the standard (non-localized) text. |
||||||
|
/// </summary> |
||||||
|
string GetStandardText(); |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Sets the standard (non-localized) text. |
||||||
|
/// </summary> |
||||||
|
/// <param name="standardText">Standard text.</param> |
||||||
|
void SetStandardText(string standardText); |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Gets the description used to help localizers. |
||||||
|
/// </summary> |
||||||
|
/// <returns>The description.</returns> |
||||||
|
string GetDescription(); |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Gets the unique string identifier. |
||||||
|
/// </summary> |
||||||
|
string GetStringId(); |
||||||
|
} |
||||||
|
} |
@ -1,83 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Multi-language localization support. |
|
||||||
/// </summary> |
|
||||||
public interface ILocalization |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Language to use at startup, usually defined by a two letter language code (e.g DE = German). |
|
||||||
/// </summary> |
|
||||||
string ActiveLanguage { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// CSV file containing localization data which can be easily edited in a spreadsheet tool. |
|
||||||
/// </summary> |
|
||||||
TextAsset LocalizationFile { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stores any notification message from export / import methods. |
|
||||||
/// </summary> |
|
||||||
string NotificationText { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Convert all text items and localized strings to an easy to edit CSV format. |
|
||||||
/// </summary> |
|
||||||
string GetCSVData(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Scan a localization CSV file and copies the strings for the specified language code |
|
||||||
/// into the text properties of the appropriate scene objects. |
|
||||||
/// </summary> |
|
||||||
void SetActiveLanguage(string languageCode, bool forceUpdateSceneText = false); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Populates the text property of a single scene object with a new text value. |
|
||||||
/// </summary> |
|
||||||
bool PopulateTextProperty(string stringId, string newText); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns all standard text for localizeable text in the scene using an |
|
||||||
/// easy to edit custom text format. |
|
||||||
/// </summary> |
|
||||||
string GetStandardText(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets standard text on scene objects by parsing a text data file. |
|
||||||
/// </summary> |
|
||||||
void SetStandardText(string textData); |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// An item of localizeable text. |
|
||||||
/// </summary> |
|
||||||
public interface ILocalizable |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Gets the standard (non-localized) text. |
|
||||||
/// </summary> |
|
||||||
string GetStandardText(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the standard (non-localized) text. |
|
||||||
/// </summary> |
|
||||||
/// <param name="standardText">Standard text.</param> |
|
||||||
void SetStandardText(string standardText); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the description used to help localizers. |
|
||||||
/// </summary> |
|
||||||
/// <returns>The description.</returns> |
|
||||||
string GetDescription(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Gets the unique string identifier. |
|
||||||
/// </summary> |
|
||||||
string GetStringId(); |
|
||||||
} |
|
||||||
} |
|
@ -1,81 +0,0 @@ |
|||||||
// 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.UI; |
|
||||||
using MoonSharp.Interpreter; |
|
||||||
using System.Collections; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Presents multiple choice buttons to the players. |
|
||||||
/// </summary> |
|
||||||
public interface IMenuDialog |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// A cached list of button objects in the menu dialog. |
|
||||||
/// </summary> |
|
||||||
/// <value>The cached buttons.</value> |
|
||||||
Button[] CachedButtons { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// A cached slider object used for the timer in the menu dialog. |
|
||||||
/// </summary> |
|
||||||
/// <value>The cached slider.</value> |
|
||||||
Slider CachedSlider { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the active state of the Menu Dialog gameobject. |
|
||||||
/// </summary> |
|
||||||
void SetActive(bool state); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Clear all displayed options in the Menu Dialog. |
|
||||||
/// </summary> |
|
||||||
void Clear(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Hides any currently displayed Say Dialog. |
|
||||||
/// </summary> |
|
||||||
void HideSayDialog(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Adds the option to the list of displayed options. Calls a Block when selected. |
|
||||||
/// Will cause the Menu dialog to become visible if it is not already visible. |
|
||||||
/// </summary> |
|
||||||
/// <returns><c>true</c>, if the option was added successfully.</returns> |
|
||||||
/// <param name="text">The option text to display on the button.</param> |
|
||||||
/// <param name="interactable">If false, the option is displayed but is not selectable.</param> |
|
||||||
/// <param name="targetBlock">Block to execute when the option is selected.</param> |
|
||||||
bool AddOption(string text, bool interactable, Block targetBlock); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Adds the option to the list of displayed options, calls a Lua function when selected. |
|
||||||
/// Will cause the Menu dialog to become visible if it is not already visible. |
|
||||||
/// </summary> |
|
||||||
/// <returns><c>true</c>, if the option was added successfully.</returns> |
|
||||||
bool AddOption(string text, bool interactable, ILuaEnvironment luaEnv, Closure callBack); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Show a timer during which the player can select an option. Calls a Block when the timer expires. |
|
||||||
/// </summary> |
|
||||||
/// <param name="duration">The duration during which the player can select an option.</param> |
|
||||||
/// <param name="targetBlock">Block to execute if the player does not select an option in time.</param> |
|
||||||
void ShowTimer(float duration, Block targetBlock); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Show a timer during which the player can select an option. Calls a Lua function when the timer expires. |
|
||||||
/// </summary> |
|
||||||
IEnumerator ShowTimer(float duration, ILuaEnvironment luaEnv, Closure callBack); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the Menu Dialog is currently displayed. |
|
||||||
/// </summary> |
|
||||||
bool IsActive(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns the number of currently displayed options. |
|
||||||
/// </summary> |
|
||||||
int DisplayedOptionsCount { get; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 88b3741e7161f40d3b6166170b69c55e |
|
||||||
timeCreated: 1473425656 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,48 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Music manager which provides basic music and sound effect functionality. |
|
||||||
/// Music playback persists across scene loads. |
|
||||||
/// </summary> |
|
||||||
public interface IMusicController |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Plays game music using an audio clip. |
|
||||||
/// One music clip may be played at a time. |
|
||||||
/// </summary> |
|
||||||
void PlayMusic(AudioClip musicClip, bool loop, float fadeDuration, float atTime); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Plays a sound effect once, at the specified volume. |
|
||||||
/// </summary> |
|
||||||
/// <param name="soundClip">The sound effect clip to play.</param> |
|
||||||
/// <param name="volume">The volume level of the sound effect.</param> |
|
||||||
void PlaySound(AudioClip soundClip, float volume); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Shifts the game music pitch to required value over a period of time. |
|
||||||
/// </summary> |
|
||||||
/// <param name="pitch">The new music pitch value.</param> |
|
||||||
/// <param name="duration">The length of time in seconds needed to complete the pitch change.</param> |
|
||||||
/// <param name="onComplete">A delegate method to call when the pitch shift has completed.</param> |
|
||||||
void SetAudioPitch(float pitch, float duration, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Fades the game music volume to required level over a period of time. |
|
||||||
/// </summary> |
|
||||||
/// <param name="volume">The new music volume value [0..1]</param> |
|
||||||
/// <param name="duration">The length of time in seconds needed to complete the volume change.</param> |
|
||||||
/// <param name="onComplete">Delegate function to call when fade completes.</param> |
|
||||||
void SetAudioVolume(float volume, float duration, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stops playing game music. |
|
||||||
/// </summary> |
|
||||||
void StopMusic(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: efedec0242be143678aaa7075aa5467e |
|
||||||
timeCreated: 1473429999 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,139 +0,0 @@ |
|||||||
// 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 MoonSharp.Interpreter; |
|
||||||
using Fungus.Utils; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Types of display operations supported by portraits. |
|
||||||
/// </summary> |
|
||||||
public enum DisplayType |
|
||||||
{ |
|
||||||
/// <summary> Do nothing. </summary> |
|
||||||
None, |
|
||||||
/// <summary> Show the portrait. </summary> |
|
||||||
Show, |
|
||||||
/// <summary> Hide the portrait. </summary> |
|
||||||
Hide, |
|
||||||
/// <summary> Replace the existing portrait. </summary> |
|
||||||
Replace, |
|
||||||
/// <summary> Move portrait to the front. </summary> |
|
||||||
MoveToFront |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Directions that character portraits can face. |
|
||||||
/// </summary> |
|
||||||
public enum FacingDirection |
|
||||||
{ |
|
||||||
/// <summary> Unknown direction </summary> |
|
||||||
None, |
|
||||||
/// <summary> Facing left. </summary> |
|
||||||
Left, |
|
||||||
/// <summary> Facing right. </summary> |
|
||||||
Right |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Offset direction for position. |
|
||||||
/// </summary> |
|
||||||
public enum PositionOffset |
|
||||||
{ |
|
||||||
/// <summary> Unknown offset direction. </summary> |
|
||||||
None, |
|
||||||
/// <summary> Offset applies to the left. </summary> |
|
||||||
OffsetLeft, |
|
||||||
/// <summary> Offset applies to the right. </summary> |
|
||||||
OffsetRight |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Controls the Portrait sprites on stage |
|
||||||
/// </summary> |
|
||||||
public interface IPortraitController |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Using all portrait options available, run any portrait command. |
|
||||||
/// </summary> |
|
||||||
/// <param name="options">Portrait Options</param> |
|
||||||
/// <param name="onComplete">The function that will run once the portrait command finishes</param> |
|
||||||
void RunPortraitCommand(PortraitOptions options, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Moves Character in front of other characters on stage |
|
||||||
/// </summary> |
|
||||||
void MoveToFront(Character character); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Moves Character in front of other characters on stage |
|
||||||
/// </summary> |
|
||||||
void MoveToFront(PortraitOptions options); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Shows character at a named position in the stage |
|
||||||
/// </summary> |
|
||||||
/// <param name="character"></param> |
|
||||||
/// <param name="position">Named position on stage</param> |
|
||||||
void Show(Character character, string position); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Shows character moving from a position to a position |
|
||||||
/// </summary> |
|
||||||
/// <param name="character"></param> |
|
||||||
/// <param name="portrait"></param> |
|
||||||
/// <param name="fromPosition">Where the character will appear</param> |
|
||||||
/// <param name="toPosition">Where the character will move to</param> |
|
||||||
void Show(Character character, string portrait, string fromPosition, string toPosition); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// From lua, you can pass an options table with named arguments |
|
||||||
/// example: |
|
||||||
/// stage.show{character=jill, portrait="happy", fromPosition="right", toPosition="left"} |
|
||||||
/// Any option available in the PortraitOptions is available from Lua |
|
||||||
/// </summary> |
|
||||||
/// <param name="optionsTable">Moonsharp Table</param> |
|
||||||
void Show(Table optionsTable); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Show portrait with the supplied portrait options |
|
||||||
/// </summary> |
|
||||||
/// <param name="options"></param> |
|
||||||
void Show(PortraitOptions options); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Simple show command that shows the character with an available named portrait |
|
||||||
/// </summary> |
|
||||||
/// <param name="character">Character to show</param> |
|
||||||
/// <param name="portrait">Named portrait to show for the character, i.e. "angry", "happy", etc</param> |
|
||||||
void ShowPortrait(Character character, string portrait); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Simple character hide command |
|
||||||
/// </summary> |
|
||||||
/// <param name="character">Character to hide</param> |
|
||||||
void Hide(Character character); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Move the character to a position then hide it |
|
||||||
/// </summary> |
|
||||||
/// <param name="character">Character to hide</param> |
|
||||||
/// <param name="toPosition">Where the character will disapear to</param> |
|
||||||
void Hide(Character character, string toPosition); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// From lua, you can pass an options table with named arguments |
|
||||||
/// example: |
|
||||||
/// stage.hide{character=jill, toPosition="left"} |
|
||||||
/// Any option available in the PortraitOptions is available from Lua |
|
||||||
/// </summary> |
|
||||||
/// <param name="optionsTable">Moonsharp Table</param> |
|
||||||
void Hide(Table optionsTable); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Hide portrait with provided options |
|
||||||
/// </summary> |
|
||||||
void Hide(PortraitOptions options); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 51067f95c67324a0ba05a260dced682f |
|
||||||
timeCreated: 1473685101 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,75 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Display story text in a visual novel style dialog box. |
|
||||||
/// </summary> |
|
||||||
public interface ISayDialog |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Sets the active state of the Say Dialog gameobject. |
|
||||||
/// </summary> |
|
||||||
void SetActive(bool state); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the active speaking character. |
|
||||||
/// </summary> |
|
||||||
/// <param name="character">The active speaking character.</param> |
|
||||||
/// <param name="flowchart">An optional Flowchart to use for variable substitution in the character name string.</param> |
|
||||||
void SetCharacter(ICharacter character, IFlowchart flowchart = null); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the character image to display on the Say Dialog. |
|
||||||
/// </summary> |
|
||||||
void SetCharacterImage(Sprite image); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the character name to display on the Say Dialog. |
|
||||||
/// </summary> |
|
||||||
void SetCharacterName(string name, Color color); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Write a line of story text to the Say Dialog. Starts coroutine automatically. |
|
||||||
/// </summary> |
|
||||||
/// <param name="text">The text to display.</param> |
|
||||||
/// <param name="clearPrevious">Clear any previous text in the Say Dialog.</param> |
|
||||||
/// <param name="waitForInput">Wait for player input before continuing once text is written.</param> |
|
||||||
/// <param name="fadeWhenDone">Fade out the Say Dialog when writing and player input has finished.</param> |
|
||||||
/// <param name="stopVoiceover">Stop any existing voiceover audio before writing starts.</param> |
|
||||||
/// <param name="voiceOverClip">Voice over audio clip to play.</param> |
|
||||||
/// <param name="onComplete">Callback to execute when writing and player input have finished.</param> |
|
||||||
void Say(string text, bool clearPrevious, bool waitForInput, bool fadeWhenDone, bool stopVoiceover, AudioClip voiceOverClip, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Write a line of story text to the Say Dialog. Must be started as a coroutine. |
|
||||||
/// </summary> |
|
||||||
/// <param name="text">The text to display.</param> |
|
||||||
/// <param name="clearPrevious">Clear any previous text in the Say Dialog.</param> |
|
||||||
/// <param name="waitForInput">Wait for player input before continuing once text is written.</param> |
|
||||||
/// <param name="fadeWhenDone">Fade out the Say Dialog when writing and player input has finished.</param> |
|
||||||
/// <param name="stopVoiceover">Stop any existing voiceover audio before writing starts.</param> |
|
||||||
/// <param name="voiceOverClip">Voice over audio clip to play.</param> |
|
||||||
/// <param name="onComplete">Callback to execute when writing and player input have finished.</param> |
|
||||||
IEnumerator DoSay(string text, bool clearPrevious, bool waitForInput, bool fadeWhenDone, bool stopVoiceover, AudioClip voiceOverClip, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Tell the Say Dialog to fade out once writing and player input have finished. |
|
||||||
/// </summary> |
|
||||||
bool FadeWhenDone { set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stop the Say Dialog while its writing text. |
|
||||||
/// </summary> |
|
||||||
void Stop(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stops writing text and clears the Say Dialog. |
|
||||||
/// </summary> |
|
||||||
void Clear(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: a1a9184c86a4048d5973b766e9fd6803 |
|
||||||
timeCreated: 1473421269 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,66 +0,0 @@ |
|||||||
// 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 UnityEngine.UI; |
|
||||||
using System.Collections.Generic; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Define a set of screen positions where character sprites can be displayed. |
|
||||||
/// </summary> |
|
||||||
public interface IStage |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Canvas object containing the stage positions. |
|
||||||
/// </summary> |
|
||||||
Canvas PortraitCanvas { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Dim portraits when a character is not speaking. |
|
||||||
/// </summary> |
|
||||||
bool DimPortraits { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Duration for fading character portraits in / out. |
|
||||||
/// </summary> |
|
||||||
float FadeDuration { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Duration for moving characters to a new position. |
|
||||||
/// </summary> |
|
||||||
float MoveDuration { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Ease type for the fade tween. |
|
||||||
/// </summary> |
|
||||||
LeanTweenType FadeEaseType { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Constant offset to apply to portrait position. |
|
||||||
/// </summary> |
|
||||||
Vector2 ShiftOffset { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// The position object where characters appear by default. |
|
||||||
/// </summary> |
|
||||||
Image DefaultPosition { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// List of stage position rect transforms in the stage. |
|
||||||
/// </summary> |
|
||||||
List<RectTransform> Positions { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// List of currently active characters on the stage. |
|
||||||
/// </summary> |
|
||||||
List<Character> CharactersOnStage { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Searches the stage's named positions |
|
||||||
/// If none matches the string provided, give a warning and return a new RectTransform |
|
||||||
/// </summary> |
|
||||||
RectTransform GetPosition(string positionString); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: a88bde623f95a46e49febd46fe50b19c |
|
||||||
timeCreated: 1473689190 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 1e3f4aab68276483e9d40b120cc1cafc |
|
||||||
timeCreated: 1473756939 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,56 +0,0 @@ |
|||||||
// 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) |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Standard comparison operators. |
|
||||||
/// </summary> |
|
||||||
public enum CompareOperator |
|
||||||
{ |
|
||||||
/// <summary> == mathematical operator.</summary> |
|
||||||
Equals, |
|
||||||
/// <summary> != mathematical operator.</summary> |
|
||||||
NotEquals, |
|
||||||
/// <summary> < mathematical operator.</summary> |
|
||||||
LessThan, |
|
||||||
/// <summary> > mathematical operator.</summary> |
|
||||||
GreaterThan, |
|
||||||
/// <summary> <= mathematical operator.</summary> |
|
||||||
LessThanOrEquals, |
|
||||||
/// <summary> >= mathematical operator.</summary> |
|
||||||
GreaterThanOrEquals |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Scope types for Variables. |
|
||||||
/// </summary> |
|
||||||
public enum VariableScope |
|
||||||
{ |
|
||||||
/// <summary> Can only be accessed by commands in the same Flowchart. </summary> |
|
||||||
Private, |
|
||||||
/// <summary> Can be accessed from any command in any Flowchart. </summary> |
|
||||||
Public |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// A Fungus variable that can be used with Commands. |
|
||||||
/// </summary> |
|
||||||
public interface IVariable |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Visibility scope for the variable. |
|
||||||
/// </summary> |
|
||||||
VariableScope Scope { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// String identifier for the variable. |
|
||||||
/// </summary> |
|
||||||
string Key { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Callback to reset the variable if the Flowchart is reset. |
|
||||||
/// </summary> |
|
||||||
void OnReset(); |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: 75ff90e0b811142d39cc9031dbf4b992 |
|
||||||
timeCreated: 1473856441 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,29 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Defines a camera view point. |
|
||||||
/// The position and rotation are specified using the game object's transform, so this class only needs to specify the ortographic view size. |
|
||||||
/// </summary> |
|
||||||
public interface IView |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Orthographic size of the camera view in world units. |
|
||||||
/// </summary> |
|
||||||
float ViewSize { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Aspect ratio of the primary view rectangle. e.g. a 4:3 aspect ratio = 1.333. |
|
||||||
/// </summary> |
|
||||||
Vector2 PrimaryAspectRatio { get; set; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Aspect ratio of the secondary view rectangle. e.g. a 2:1 aspect ratio = 2/1 = 2.0. |
|
||||||
/// </summary> |
|
||||||
Vector2 SecondaryAspectRatio { get; set; } |
|
||||||
} |
|
||||||
} |
|
@ -1,12 +0,0 @@ |
|||||||
fileFormatVersion: 2 |
|
||||||
guid: d50490011ddfc4e6ea394a4bfbf815e0 |
|
||||||
timeCreated: 1473676064 |
|
||||||
licenseType: Free |
|
||||||
MonoImporter: |
|
||||||
serializedVersion: 2 |
|
||||||
defaultReferences: [] |
|
||||||
executionOrder: 0 |
|
||||||
icon: {instanceID: 0} |
|
||||||
userData: |
|
||||||
assetBundleName: |
|
||||||
assetBundleVariant: |
|
@ -1,85 +0,0 @@ |
|||||||
// 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; |
|
||||||
|
|
||||||
namespace Fungus |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Writes text using a typewriter effect to a UI text object. |
|
||||||
/// </summary> |
|
||||||
public interface IWriter |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// This property is true when the writer is writing text or waiting (i.e. still processing tokens). |
|
||||||
/// </summary> |
|
||||||
bool IsWriting { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// This property is true when the writer is waiting for user input to continue. |
|
||||||
/// </summary> |
|
||||||
bool IsWaitingForInput { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Stop writing text. |
|
||||||
/// </summary> |
|
||||||
void Stop(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes text using a typewriter effect to a UI text object. |
|
||||||
/// </summary> |
|
||||||
/// <param name="content">Text to be written</param> |
|
||||||
/// <param name="clear">If true clears the previous text.</param> |
|
||||||
/// <param name="waitForInput">Writes the text and then waits for player input before calling onComplete.</param> |
|
||||||
/// <param name="stopAudio">Stops any currently playing audioclip.</param> |
|
||||||
/// <param name="audioClip">Audio clip to play when text starts writing.</param> |
|
||||||
/// <param name="onComplete">Callback to call when writing is finished.</param> |
|
||||||
IEnumerator Write(string content, bool clear, bool waitForInput, bool stopAudio, AudioClip audioClip, System.Action onComplete); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the color property of the text UI object. |
|
||||||
/// </summary> |
|
||||||
void SetTextColor(Color textColor); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Sets the alpha component of the color property of the text UI object. |
|
||||||
/// </summary> |
|
||||||
void SetTextAlpha(float textAlpha); |
|
||||||
} |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Implement this interface to be notified about Writer events. |
|
||||||
/// </summary> |
|
||||||
public interface IWriterListener |
|
||||||
{ |
|
||||||
/// |
|
||||||
/// Called when a user input event (e.g. a click) has been handled by the Writer. |
|
||||||
/// |
|
||||||
void OnInput(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when the Writer starts writing new text. |
|
||||||
/// </summary> |
|
||||||
/// <param name="audioClip">An optional audioClip sound effect can be supplied (e.g. for voiceover)</param> |
|
||||||
void OnStart(AudioClip audioClip); |
|
||||||
|
|
||||||
/// Called when the Writer has paused writing text (e.g. on a {wi} tag). |
|
||||||
void OnPause(); |
|
||||||
|
|
||||||
/// Called when the Writer has resumed writing text. |
|
||||||
void OnResume(); |
|
||||||
|
|
||||||
/// Called when the Writer has finished writing text. |
|
||||||
/// <param name="stopAudio">Controls whether audio should be stopped when writing ends.</param> |
|
||||||
void OnEnd(bool stopAudio); |
|
||||||
|
|
||||||
/// Called every time the Writer writes a new character glyph. |
|
||||||
void OnGlyph(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Called when voiceover should start. |
|
||||||
/// </summary> |
|
||||||
void OnVoiceover(AudioClip voiceOverClip); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,43 @@ |
|||||||
|
// 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; |
||||||
|
|
||||||
|
namespace Fungus |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// Implement this interface to be notified about Writer events. |
||||||
|
/// </summary> |
||||||
|
public interface IWriterListener |
||||||
|
{ |
||||||
|
/// |
||||||
|
/// Called when a user input event (e.g. a click) has been handled by the Writer. |
||||||
|
/// |
||||||
|
void OnInput(); |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Called when the Writer starts writing new text. |
||||||
|
/// </summary> |
||||||
|
/// <param name="audioClip">An optional audioClip sound effect can be supplied (e.g. for voiceover)</param> |
||||||
|
void OnStart(AudioClip audioClip); |
||||||
|
|
||||||
|
/// Called when the Writer has paused writing text (e.g. on a {wi} tag). |
||||||
|
void OnPause(); |
||||||
|
|
||||||
|
/// Called when the Writer has resumed writing text. |
||||||
|
void OnResume(); |
||||||
|
|
||||||
|
/// Called when the Writer has finished writing text. |
||||||
|
/// <param name="stopAudio">Controls whether audio should be stopped when writing ends.</param> |
||||||
|
void OnEnd(bool stopAudio); |
||||||
|
|
||||||
|
/// Called every time the Writer writes a new character glyph. |
||||||
|
void OnGlyph(); |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Called when voiceover should start. |
||||||
|
/// </summary> |
||||||
|
void OnVoiceover(AudioClip voiceOverClip); |
||||||
|
} |
||||||
|
} |
@ -1,38 +1,37 @@ |
|||||||
{ |
{ |
||||||
"registerTypes" : [ |
"registerTypes" : [ |
||||||
"Fungus.AnimatorVariable", |
"Fungus.Variables.AnimatorVariable", |
||||||
"Fungus.AudioSourceVariable", |
"Fungus.Variables.AudioSourceVariable", |
||||||
"Fungus.Block", |
"Fungus.Block", |
||||||
"Fungus.BooleanVariable", |
"Fungus.Variables.BooleanVariable", |
||||||
"Fungus.Character", |
"Fungus.Character", |
||||||
"Fungus.ColorVariable", |
"Fungus.Variables.ColorVariable", |
||||||
"Fungus.Command", |
"Fungus.Command", |
||||||
"Fungus.CommandInfoAttribute", |
"Fungus.CommandInfoAttribute", |
||||||
"Fungus.FacingDirection", |
"Fungus.FacingDirection", |
||||||
"Fungus.FloatVariable", |
"Fungus.Variables.FloatVariable", |
||||||
"Fungus.Flowchart", |
"Fungus.Flowchart", |
||||||
"Fungus.FungusPrefs", |
"Fungus.FungusPrefs", |
||||||
"Fungus.LuaEnvironment", |
"Fungus.LuaEnvironment", |
||||||
"Fungus.LuaUtils", |
"Fungus.LuaUtils", |
||||||
"Fungus.GameObjectVariable", |
"Fungus.Variables.GameObjectVariable", |
||||||
"Fungus.IntegerVariable", |
"Fungus.Variables.IntegerVariable", |
||||||
"Fungus.Label", |
"Fungus.Commands.Label", |
||||||
"Fungus.MaterialVariable", |
"Fungus.Variables.MaterialVariable", |
||||||
"Fungus.MenuDialog", |
"Fungus.MenuDialog", |
||||||
"Fungus.ObjectVariable", |
"Fungus.Variables.ObjectVariable", |
||||||
"Fungus.PODTypeFactory", |
"Fungus.PODTypeFactory", |
||||||
"Fungus.PortraitState", |
"Fungus.Utils.PortraitState", |
||||||
"Fungus.SayDialog", |
"Fungus.SayDialog", |
||||||
"Fungus.SpriteVariable", |
"Fungus.Variables.SpriteVariable", |
||||||
"Fungus.StringVariable", |
"Fungus.Variables.StringVariable", |
||||||
"Fungus.Task", |
"Fungus.Task", |
||||||
"Fungus.TextureVariable", |
"Fungus.Variables.TextureVariable", |
||||||
"Fungus.TransformVariable", |
"Fungus.Variables.TransformVariable", |
||||||
"Fungus.Variable", |
"Fungus.Variable", |
||||||
"Fungus.Vector2Variable", |
"Fungus.Variables.Vector2Variable", |
||||||
"Fungus.Vector3Variable" |
"Fungus.Variables.Vector3Variable" |
||||||
], |
], |
||||||
"extensionTypes" : [ |
"extensionTypes" : [ |
||||||
"Fungus.LuaExtensions" |
|
||||||
] |
] |
||||||
} |
} |
Loading…
Reference in new issue