You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.4 KiB
53 lines
1.4 KiB
3 years ago
|
using FairyGUI.Utils;
|
||
|
|
||
|
namespace FairyGUI
|
||
|
{
|
||
|
public class PlayTransitionAction : ControllerAction
|
||
|
{
|
||
|
public string transitionName;
|
||
|
public int playTimes;
|
||
|
public float delay;
|
||
|
public bool stopOnExit;
|
||
|
|
||
|
private Transition _currentTransition;
|
||
|
|
||
|
public PlayTransitionAction()
|
||
|
{
|
||
|
playTimes = 1;
|
||
|
delay = 0;
|
||
|
}
|
||
|
|
||
|
override protected void Enter(Controller controller)
|
||
|
{
|
||
|
Transition trans = controller.parent.GetTransition(transitionName);
|
||
|
if (trans != null)
|
||
|
{
|
||
|
if (_currentTransition != null && _currentTransition.playing)
|
||
|
trans.ChangePlayTimes(playTimes);
|
||
|
else
|
||
|
trans.Play(playTimes, delay, null);
|
||
|
_currentTransition = trans;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
override protected void Leave(Controller controller)
|
||
|
{
|
||
|
if (stopOnExit && _currentTransition != null)
|
||
|
{
|
||
|
_currentTransition.Stop();
|
||
|
_currentTransition = null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
override public void Setup(ByteBuffer buffer)
|
||
|
{
|
||
|
base.Setup(buffer);
|
||
|
|
||
|
transitionName = buffer.ReadS();
|
||
|
playTimes = buffer.ReadInt();
|
||
|
delay = buffer.ReadFloat();
|
||
|
stopOnExit = buffer.ReadBool();
|
||
|
}
|
||
|
}
|
||
|
}
|