Files
beyond/Assets/ThirdParty/PlayMaker/Actions/Math/FloatSubtract.cs
2024-11-20 15:21:28 +01:00

62 lines
1.3 KiB
C#

// (c) Copyright HutongGames, LLC 2010-2013. All rights reserved.
// Simple custom action by Tobbe Olsson - www.tobbeo.net
using UnityEngine;
namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.Math)]
[Tooltip("Subtracts a value from a Float Variable.")]
public class FloatSubtract : FsmStateAction
{
[RequiredField]
[UIHint(UIHint.Variable)]
[Tooltip("The float variable to subtract from.")]
public FsmFloat floatVariable;
[RequiredField]
[Tooltip("Value to subtract from the float variable.")]
public FsmFloat subtract;
[Tooltip("Repeat every frame while the state is active.")]
public bool everyFrame;
[Tooltip("Used with Every Frame. Adds the value over one second to make the operation frame rate independent.")]
public bool perSecond;
public override void Reset()
{
floatVariable = null;
subtract = null;
everyFrame = false;
perSecond = false;
}
public override void OnEnter()
{
DoFloatSubtract();
if (!everyFrame)
{
Finish();
}
}
public override void OnUpdate()
{
DoFloatSubtract();
}
void DoFloatSubtract()
{
if (!perSecond)
{
floatVariable.Value -= subtract.Value;
}
else
{
floatVariable.Value -= subtract.Value * Time.deltaTime;
}
}
}
}