r2mods/ilspy_dump/ror2_csproj/EntityStates.Jellyfish/SwimState.cs

83 lines
1.9 KiB
C#

using UnityEngine;
namespace EntityStates.Jellyfish;
public class SwimState : BaseState
{
private Animator modelAnimator;
private bool skill1InputReceived;
private bool skill2InputReceived;
private bool skill3InputReceived;
private bool skill4InputReceived;
private bool jumpInputReceived;
private static int swimrateParamHash = Animator.StringToHash("swim.rate");
public override void OnEnter()
{
base.OnEnter();
modelAnimator = GetModelAnimator();
}
public override void Update()
{
base.Update();
if ((bool)base.inputBank)
{
skill1InputReceived = base.inputBank.skill1.down;
skill2InputReceived |= base.inputBank.skill2.down;
skill3InputReceived |= base.inputBank.skill3.down;
skill4InputReceived |= base.inputBank.skill4.down;
jumpInputReceived |= base.inputBank.jump.down;
}
}
public override void FixedUpdate()
{
base.FixedUpdate();
if (!base.isAuthority)
{
return;
}
if ((bool)base.inputBank)
{
if ((bool)base.rigidbodyMotor)
{
base.rigidbodyMotor.moveVector = base.inputBank.moveVector * base.characterBody.moveSpeed;
if ((bool)modelAnimator)
{
modelAnimator.SetFloat(swimrateParamHash, Vector3.Magnitude(base.rigidbodyMotor.rigid.velocity));
}
}
if ((bool)base.rigidbodyDirection)
{
base.rigidbodyDirection.aimDirection = GetAimRay().direction;
}
}
if ((bool)base.skillLocator)
{
if ((bool)base.skillLocator.primary && skill1InputReceived)
{
base.skillLocator.primary.ExecuteIfReady();
}
if ((bool)base.skillLocator.secondary && skill2InputReceived)
{
base.skillLocator.secondary.ExecuteIfReady();
}
if ((bool)base.skillLocator.utility && skill3InputReceived)
{
base.skillLocator.utility.ExecuteIfReady();
}
if ((bool)base.skillLocator.special && skill4InputReceived)
{
base.skillLocator.special.ExecuteIfReady();
}
}
}
}