using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Saltosion.OneWeapon.Effects { public class Bobbing : MonoBehaviour { public Transform BobbedTransform; [Range(0, 1)] public float BobbingMultiplier = 1; public float BobbingGravity = 0.8f; public float BobbingLaunchSpeed = 0.12f; public float BobbingFrequency = 0; public Vector2 BobbingDirection = new Vector2(0, 1); private float BobbingSpeed; private float CurrentBobbingState = 0; void Update() { BobbingFrequency = (BobbingLaunchSpeed * 2) / BobbingGravity; BobbingSpeed -= (BobbingGravity / 10 * Time.deltaTime); if (CurrentBobbingState <= 0) { BobbingSpeed = (BobbingLaunchSpeed / 10); } CurrentBobbingState += BobbingSpeed * BobbingMultiplier * Time.deltaTime * 100.0f; BobbedTransform.localPosition = BobbingDirection * CurrentBobbingState * BobbingMultiplier; } } }