67 lines
1.2 KiB
C#
67 lines
1.2 KiB
C#
// (c) Copyright HutongGames, LLC 2010-2013. All rights reserved.
|
|
|
|
using UnityEngine;
|
|
|
|
namespace HutongGames.PlayMaker.Actions
|
|
{
|
|
[ActionCategory(ActionCategory.Rect)]
|
|
[Tooltip("Get the individual fields of a Rect Variable and store them in Float Variables.")]
|
|
public class GetRectFields : FsmStateAction
|
|
{
|
|
[RequiredField]
|
|
[UIHint(UIHint.Variable)]
|
|
public FsmRect rectVariable;
|
|
|
|
[UIHint(UIHint.Variable)]
|
|
public FsmFloat storeX;
|
|
|
|
[UIHint(UIHint.Variable)]
|
|
public FsmFloat storeY;
|
|
|
|
[UIHint(UIHint.Variable)]
|
|
public FsmFloat storeWidth;
|
|
|
|
[UIHint(UIHint.Variable)]
|
|
public FsmFloat storeHeight;
|
|
|
|
public bool everyFrame;
|
|
|
|
public override void Reset()
|
|
{
|
|
rectVariable = null;
|
|
storeX = null;
|
|
storeY = null;
|
|
storeWidth = null;
|
|
storeHeight = null;
|
|
everyFrame = false;
|
|
}
|
|
|
|
public override void OnEnter()
|
|
{
|
|
DoGetRectFields();
|
|
|
|
if (!everyFrame)
|
|
{
|
|
Finish();
|
|
}
|
|
}
|
|
|
|
public override void OnUpdate()
|
|
{
|
|
DoGetRectFields();
|
|
}
|
|
|
|
void DoGetRectFields()
|
|
{
|
|
if (rectVariable.IsNone)
|
|
{
|
|
return;
|
|
}
|
|
|
|
storeX.Value = rectVariable.Value.x;
|
|
storeY.Value = rectVariable.Value.y;
|
|
storeWidth.Value = rectVariable.Value.width;
|
|
storeHeight.Value = rectVariable.Value.height;
|
|
}
|
|
}
|
|
} |