r2mods/ilspy_dump/ror2_csproj/EntityStates.Railgunner.Reload/BoostConfirm.cs

80 lines
1.7 KiB
C#
Raw Normal View History

2024-10-04 07:26:37 +00:00
using RoR2;
using RoR2.HudOverlay;
using RoR2.Skills;
using RoR2.UI;
using UnityEngine;
namespace EntityStates.Railgunner.Reload;
public class BoostConfirm : EntityState
{
[SerializeField]
public float duration;
[SerializeField]
public string animationLayerName;
[SerializeField]
public string animationStateName;
[SerializeField]
public string animationPlaybackRateParam;
[SerializeField]
public string enterSoundString;
public OverlayController overlayController;
private GenericSkill primarySkill;
public SkillDef primaryOverride;
public override void OnEnter()
{
base.OnEnter();
PlayAnimation(animationLayerName, animationStateName, animationPlaybackRateParam, duration);
Util.PlaySound(enterSoundString, base.gameObject);
if (overlayController == null)
{
return;
}
foreach (GameObject instances in overlayController.instancesList)
{
ActiveReloadBarController component = instances.GetComponent<ActiveReloadBarController>();
if ((bool)component)
{
component.SetWasWindowHit(wasWindowHit: true);
}
}
}
public override void FixedUpdate()
{
base.FixedUpdate();
if (base.fixedAge >= duration)
{
outer.SetNextState(new Boosted());
}
}
public override void OnExit()
{
if (overlayController != null)
{
HudOverlayManager.RemoveOverlay(overlayController);
}
if ((bool)primarySkill)
{
primarySkill.UnsetSkillOverride(this, primaryOverride, GenericSkill.SkillOverridePriority.Contextual);
}
base.OnExit();
}
public void OverridePrimary(GenericSkill skill, SkillDef overrideDef)
{
primarySkill = skill;
primaryOverride = overrideDef;
primarySkill.SetSkillOverride(this, primaryOverride, GenericSkill.SkillOverridePriority.Contextual);
}
}