//Hook by replacing method body of ModuleScoop.ControlInputManual() internal static void ControlInputManual(ModuleWeapon module, int aim, int fire) { bool shouldFireDefault = (fire != 0) && (Time.timeScale != 0f); var shouldFireEvent = new CanFireEvent <ModuleWeapon>(module, shouldFireDefault); CanFire?.Invoke(shouldFireEvent); bool performBehaviour = true; if (shouldFireEvent.Fire) { var fireEvent = new FireEvent <ModuleWeapon>(module); OnFire?.Invoke(fireEvent); performBehaviour = fireEvent.PerformVanillaBehaviour; #warning Remove duplicate versions of this } if (performBehaviour) { module.AimControl = aim; module.FireControl = shouldFireEvent.Fire; module.m_TargetPosition = Vector3.zero; if (module.FireControl && module.block.tank && module.block.tank.beam.IsActive && !Mode <ModeMain> .inst.TutorialLockBeam) { module.block.tank.beam.EnableBeam(false, false); } } }
//Hook by replacing method body of ModuleScoop.ControlInput() internal static void ControlInput(ModuleScoop module, int aim, int fire) { bool shouldFireDefault = (fire != 0); var shouldFireEvent = new CanFireEvent <ModuleScoop>(module, shouldFireDefault); CanFire?.Invoke(shouldFireEvent); bool performBehaviour = true; if (shouldFireEvent.Fire) { var fireEvent = new FireEvent <ModuleScoop>(module); OnFire?.Invoke(fireEvent); performBehaviour = fireEvent.PerformVanillaBehaviour; #warning Remove duplicate versions of this } if (performBehaviour) { /*if (module.actuator.isPlaying) * { * return; * } * if (!module.m_Lifted && shouldFireEvent.Fire) * { * module.actuator.Play(module.m_LiftAnim.name); * module.m_Lifted = true; * return; * } * if (module.m_Lifted && (!shouldFireEvent.Fire || (module.m_UpAndDownMode && shouldFireEvent.Fire))) * { * module.actuator.Play(module.m_DropAnim.name); * module.m_Lifted = false; * }*/ } }
public bool PerformCanFire() { var canFire = true; OnCanFire(ref canFire); CanFire?.Invoke(this, ref canFire); return(canFire); }
//Hook by replacing method body of ModuleDrill.ControlInput() internal static void ControlInput(ModuleDrill module, int aim, int fire) { bool shouldFireDefault = (fire != 0); var shouldFireEvent = new CanFireEvent <ModuleDrill>(module, shouldFireDefault); CanFire?.Invoke(shouldFireEvent); bool performBehaviour = true; if (shouldFireEvent.Fire) { var fireEvent = new FireEvent <ModuleDrill>(module); OnFire?.Invoke(fireEvent); performBehaviour = fireEvent.PerformVanillaBehaviour; } if (performBehaviour) { module.m_Spinning = shouldFireEvent.Fire; } }
//Hook by replacing method body of ModuleHammer.ControlInput() internal static void ControlInput(ModuleHammer module, int aim, int fire) { bool shouldFireDefault = (fire != 0); var shouldFireEvent = new CanFireEvent <ModuleHammer>(module, shouldFireDefault); CanFire?.Invoke(shouldFireEvent); bool performBehaviour = true; if (shouldFireEvent.Fire) { var fireEvent = new FireEvent <ModuleHammer>(module); OnFire?.Invoke(fireEvent); performBehaviour = fireEvent.PerformVanillaBehaviour; #warning Remove duplicate versions of this } if (performBehaviour) { //module.state.enabled = shouldFireEvent.Fire; } }