public void OnFire(InputAction.CallbackContext context) { switch (context.phase) { case InputActionPhase.Performed: { weaponScript.Fire(); } break; case InputActionPhase.Started: { if (context.interaction is HoldInteraction) { weaponScript.StartCoroutine(weaponScript.AutoFire()); } } break; case InputActionPhase.Canceled: { weaponScript.StopCoroutine(weaponScript.AutoFire()); } break; } }
//Thanks to the new Input System public void OnFire(InputAction.CallbackContext context) { switch (context.phase) { case InputActionPhase.Performed: weaponScript.Fire(); break; case InputActionPhase.Started: { { if (weaponScript.bIsChargeWeapon) { weaponScript.StartCoroutine(weaponScript.ChargeShot()); } if (weaponScript.bIsAutomatic) { weaponScript.StartCoroutine(weaponScript.AutoFire()); } } } break; case InputActionPhase.Canceled: { if (weaponScript.bIsAutomatic) { weaponScript.StopCoroutine(weaponScript.AutoFire()); } if (weaponScript.bIsChargeWeapon) { weaponScript.StopCoroutine(weaponScript.ChargeShot()); if (weaponScript.CurrentChargeTime > 0) { weaponScript.FireChargedShot(); } } } break; } }