r2mods/ilspy_dump/ror2_csproj/EntityStates.BrotherMonster/SlideIntroState.cs

52 lines
1.2 KiB
C#
Raw Normal View History

2024-10-04 07:26:37 +00:00
using UnityEngine;
namespace EntityStates.BrotherMonster;
public class SlideIntroState : BaseState
{
public override void OnEnter()
{
base.OnEnter();
bool flag = false;
if ((bool)base.inputBank && base.isAuthority)
{
Vector3 normalized = ((base.inputBank.moveVector == Vector3.zero) ? base.characterDirection.forward : base.inputBank.moveVector).normalized;
Vector3 forward = base.characterDirection.forward;
Vector3 rhs = Vector3.Cross(Vector3.up, forward);
float num = Vector3.Dot(normalized, forward);
float num2 = Vector3.Dot(normalized, rhs);
if ((bool)base.characterDirection)
{
base.characterDirection.moveVector = base.inputBank.aimDirection;
}
if (Mathf.Abs(num2) > Mathf.Abs(num))
{
if (num2 <= 0f)
{
flag = true;
outer.SetNextState(new SlideLeftState());
}
else
{
flag = true;
outer.SetNextState(new SlideRightState());
}
}
else if (num <= 0f)
{
flag = true;
outer.SetNextState(new SlideBackwardState());
}
else
{
flag = true;
outer.SetNextState(new SlideForwardState());
}
}
if (!flag)
{
outer.SetNextState(new SlideForwardState());
}
}
}