TurnBasedStrategyCourse/Assets/Scripts/Actions/SpinAction.cs

29 lines
743 B
C#

using System;
using UnityEngine;
namespace Actions {
public class SpinAction : BaseAction {
private float totalSpinAmount;
private void Update() {
if (!IsActive) return;
float spinAddAmount = 360f * Time.deltaTime;
transform.eulerAngles += new Vector3(0, spinAddAmount, 0);
totalSpinAmount += spinAddAmount;
if (!(totalSpinAmount >= 360f)) return;
IsActive = false;
OnActionComplete();
}
public void Spin(Action onSpinComplete) {
OnActionComplete = onSpinComplete;
IsActive = true;
totalSpinAmount = 0f;
}
public override string GetActionName() => "Spint";
}
}