29 lines
743 B
C#
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";
|
|
}
|
|
} |