r2mods/ilspy_dump/ror2_csproj/EntityStates.Headstompers/HeadstompersIdle.cs

49 lines
1.0 KiB
C#

using RoR2;
using UnityEngine;
namespace EntityStates.Headstompers;
public class HeadstompersIdle : BaseHeadstompersState
{
private float inputStopwatch;
public static float inputConfirmationDelay = 0.1f;
private bool jumpBoostOk;
public static GameObject jumpEffect;
public override void FixedUpdate()
{
base.FixedUpdate();
if (base.isAuthority)
{
FixedUpdateAuthority();
}
}
private void FixedUpdateAuthority()
{
inputStopwatch = (base.slamButtonDown ? (inputStopwatch + GetDeltaTime()) : 0f);
if (base.isGrounded)
{
jumpBoostOk = true;
}
else if (jumpBoostOk && base.jumpButtonDown && (bool)bodyMotor)
{
Vector3 velocity = bodyMotor.velocity;
if (velocity.y > 0f)
{
velocity.y *= 2f;
bodyMotor.velocity = velocity;
jumpBoostOk = false;
}
EffectManager.SimpleImpactEffect(jumpEffect, bodyGameObject.transform.position, Vector3.up, transmit: true);
}
if (inputStopwatch >= inputConfirmationDelay && !base.isGrounded)
{
outer.SetNextState(new HeadstompersCharge());
}
}
}