public sealed override Boolean CanExecute(GenericSkill skillSlot) { var data = skillSlot.skillInstanceData as SniperPrimaryInstanceData; EntityStateMachine mach = data.isReloading ? data.reloadStatemachine : skillSlot.stateMachine; return(this.IsReady(skillSlot) && mach && !mach.HasPendingState() && mach.CanInterruptState(data.isReloading ? this.reloadInterruptPriority : base.interruptPriority)); }