Browse Source

FadeSprite can use variables

master
chrisgregan 9 years ago
parent
commit
e30072ce6b
  1. 37
      Assets/Fungus/Sprite/Scripts/Commands/FadeSprite.cs
  2. 1
      Assets/Fungus/Sprite/Scripts/Commands/ShowSprite.cs

37
Assets/Fungus/Sprite/Scripts/Commands/FadeSprite.cs

@ -1,4 +1,5 @@
using UnityEngine;
using UnityEngine.Serialization;
using System;
using System.Collections;
@ -8,16 +9,21 @@ namespace Fungus
"Fade Sprite",
"Fades a sprite to a target color over a period of time.")]
[AddComponentMenu("")]
public class FadeSprite : Command
public class FadeSprite : Command, ISerializationCallbackReceiver
{
#region Obsolete Properties
[HideInInspector] [FormerlySerializedAs("duration")] public float durationOLD;
[HideInInspector] [FormerlySerializedAs("targetColor")] public Color targetColorOLD;
#endregion
[Tooltip("Sprite object to be faded")]
public SpriteRenderer spriteRenderer;
[Tooltip("Length of time to perform the fade")]
public float duration = 1f;
public FloatData _duration = new FloatData(1f);
[Tooltip("Target color to fade to. To only fade transparency level, set the color to white and set the alpha to required transparency.")]
public Color targetColor = Color.white;
public ColorData _targetColor = new ColorData(Color.white);
[Tooltip("Wait until the fade has finished before executing the next command")]
public bool waitUntilFinished = true;
@ -37,7 +43,7 @@ namespace Fungus
cameraController.waiting = true;
}
SpriteFader.FadeSprite(spriteRenderer, targetColor, duration, Vector2.zero, delegate {
SpriteFader.FadeSprite(spriteRenderer, _targetColor.Value, _duration.Value, Vector2.zero, delegate {
if (waitUntilFinished)
{
cameraController.waiting = false;
@ -58,13 +64,34 @@ namespace Fungus
return "Error: No sprite renderer selected";
}
return spriteRenderer.name + " to " + targetColor.ToString();
return spriteRenderer.name + " to " + _targetColor.Value.ToString();
}
public override Color GetButtonColor()
{
return new Color32(221, 184, 169, 255);
}
//
// ISerializationCallbackReceiver implementation
//
public virtual void OnBeforeSerialize()
{}
public virtual void OnAfterDeserialize()
{
if (durationOLD != default(float))
{
_duration.Value = durationOLD;
durationOLD = default(float);
}
if (targetColorOLD != default(Color))
{
_targetColor.Value = targetColorOLD;
targetColorOLD = default(Color);
}
}
}
}

1
Assets/Fungus/Sprite/Scripts/Commands/ShowSprite.cs

@ -16,6 +16,7 @@ namespace Fungus
[Tooltip("Make the sprite visible or invisible")]
public bool visible = true;
[Tooltip("Affect the visibility of child sprites")]
public bool affectChildren = true;
public override void OnEnter()

Loading…
Cancel
Save