BloodAndGore/Assets/Scripts/Effects/Bobbing.cs

37 lines
1.0 KiB
C#
Raw Permalink Normal View History

2019-08-07 21:25:39 +02:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Saltosion.OneWeapon.Effects {
public class Bobbing : MonoBehaviour {
2019-08-07 21:25:39 +02:00
public Transform BobbedTransform;
2019-08-07 21:25:39 +02:00
[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);
2019-08-07 21:25:39 +02:00
private float BobbingSpeed;
2019-08-07 21:25:39 +02:00
private float CurrentBobbingState = 0;
2019-08-07 21:25:39 +02:00
void Update() {
BobbingFrequency = (BobbingLaunchSpeed * 2) / BobbingGravity;
BobbingSpeed -= (BobbingGravity / 10 * Time.deltaTime);
if (CurrentBobbingState <= 0) {
BobbingSpeed = (BobbingLaunchSpeed / 10);
}
CurrentBobbingState += BobbingSpeed * BobbingMultiplier * Time.deltaTime * 100.0f;
2019-08-07 21:25:39 +02:00
BobbedTransform.localPosition = BobbingDirection * CurrentBobbingState * BobbingMultiplier;
2019-08-07 21:25:39 +02:00
}
2019-08-07 21:25:39 +02:00
}
}