@ -1,4 +1,5 @@
using UnityEngine ;
using UnityEngine.Serialization ;
using System.Collections ;
namespace Fungus
@ -7,8 +8,12 @@ namespace Fungus
"Send Message" ,
"Sends a message to either the owner Flowchart or all Flowcharts in the scene. Blocks can listen for this message using a Message Received event handler." ) ]
[AddComponentMenu("")]
public class SendMessage : Command
public class SendMessage : Command , ISerializationCallbackReceiver
{
#region Obsolete Properties
[HideInInspector] [ FormerlySerializedAs ( "message" ) ] public string messageOLD ;
# endregion
public enum MessageTarget
{
SameFlowchart ,
@ -19,11 +24,11 @@ namespace Fungus
public MessageTarget messageTarget ;
[Tooltip("Name of the message to send")]
public string message = "" ;
public StringData _ message = new StringData ( "" ) ;
public override void OnEnter ( )
{
if ( message . Length = = 0 )
if ( _ message . Valu e . Length = = 0 )
{
Continue ( ) ;
return ;
@ -45,7 +50,7 @@ namespace Fungus
{
foreach ( MessageReceived receiver in receivers )
{
receiver . OnSendFungusMessage ( message ) ;
receiver . OnSendFungusMessage ( _ message ) ;
}
}
@ -54,18 +59,34 @@ namespace Fungus
public override string GetSummary ( )
{
if ( message . Length = = 0 )
if ( _ message . Valu e . Length = = 0 )
{
return "Error: No message specified" ;
}
return message ;
return _ message ;
}
public override Color GetButtonColor ( )
{
return new Color32 ( 2 3 5 , 1 9 1 , 2 1 7 , 2 5 5 ) ;
}
/ /
// ISerializationCallbackReceiver implementation
/ /
public virtual void OnBeforeSerialize ( )
{ }
public virtual void OnAfterDeserialize ( )
{
if ( messageOLD ! = default ( string ) )
{
_ message . Value = messageOLD ;
messageOLD = default ( string ) ;
}
}
}
}