Christopher
8 years ago
3 changed files with 97 additions and 0 deletions
@ -0,0 +1,95 @@
|
||||
# Coding Tips # {#coding_tips} |
||||
[TOC] |
||||
|
||||
This is a collection of quick tips for scripting %Fungus from code. |
||||
|
||||
# Executing Blocks # {#executing_blocks} |
||||
|
||||
You first need to get a reference to your flowchart object. Add a public Flowchart property to your component and set it to reference your flowchart in the inspector. |
||||
``` |
||||
using UnityEngine; |
||||
using Fungus; |
||||
|
||||
class MyComponent : public MonoBehaviour |
||||
{ |
||||
public Flowchart flowchart; |
||||
} |
||||
``` |
||||
|
||||
To execute a named Block in the Flowchart: |
||||
``` |
||||
flowchart.ExecuteBlock("BlockName"); |
||||
``` |
||||
|
||||
To start execution at a specific command index: |
||||
``` |
||||
flowchart.ExecuteBlock("BlockName", 3); |
||||
``` |
||||
|
||||
To tell if a Flowchart has any executing Blocks: |
||||
``` |
||||
if (flowchart.HasExecutingBlocks()) |
||||
{ |
||||
// Do something |
||||
} |
||||
``` |
||||
|
||||
# Block Signals # {#block_signals} |
||||
|
||||
You can use the BlockSignals class to listen for events from the Block execution system. |
||||
|
||||
``` |
||||
using Fungus; |
||||
|
||||
public MyComponent : MonoBehaviour |
||||
{ |
||||
void OnEnable() |
||||
{ |
||||
// Register as listener for Block events |
||||
BlockSignals.OnBlockStart += OnBlockStart; |
||||
} |
||||
|
||||
void OnDisable() |
||||
{ |
||||
// Unregister as listener for Block events |
||||
BlockSignals.OnBlockStart -= OnBlockStart; |
||||
} |
||||
|
||||
void OnBlockStart(Block block) |
||||
{ |
||||
Debug.Log("Block started " + block.BlockName); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
# Writer Signals # {#writer_signals} |
||||
|
||||
You can use the WriterSignals class to listen for a variety of events from the text writing system. |
||||
|
||||
``` |
||||
using Fungus; |
||||
|
||||
public MyComponent : MonoBehaviour |
||||
{ |
||||
void OnEnable() |
||||
{ |
||||
// Register as listener for Writer state change events |
||||
WriterSignals.OnWriterState += OnWriterState; |
||||
} |
||||
|
||||
void OnDisable() |
||||
{ |
||||
// Unregister as listener for Writer state change events |
||||
WriterSignals.OnWriterState -= OnWriterState; |
||||
} |
||||
|
||||
void OnWriterState(Writer writer, WriterState writerState) |
||||
{ |
||||
if (writerState == WriterState.Start) |
||||
{ |
||||
Debug.Log("Writing started"); |
||||
} |
||||
} |
||||
} |
||||
``` |
||||
|
Loading…
Reference in new issue