diff options
author | chai <215380520@qq.com> | 2024-03-13 11:38:18 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-13 11:38:18 +0800 |
commit | 134f1deb971b0514a26e04e23926f91983a5497f (patch) | |
tree | d790681bb000c07abae9f557a7d0ef2442fac467 /DamageEffects.cs | |
parent | 6ce8b9e22fc13be34b442c7b6af48b42cd44275a (diff) |
* move
Diffstat (limited to 'DamageEffects.cs')
-rw-r--r-- | DamageEffects.cs | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/DamageEffects.cs b/DamageEffects.cs deleted file mode 100644 index 305c1d7..0000000 --- a/DamageEffects.cs +++ /dev/null @@ -1,84 +0,0 @@ -using UnityEngine; -using UnityEngine.PostProcessing; - -public class DamageEffects : MonoBehaviour -{ - private WobbleShake screenShake; - - private ParticleParent[] particleParents; - - private float counter; - - public AnimationCurve curve; - - public AnimationCurve curve2; - - public PostProcessingProfile post; - - private Camera mainCam; - - public float damageValue; - - private Transform hip; - - private void Start() - { - screenShake = base.transform.root.GetComponentInChildren<WobbleShake>(); - particleParents = GetComponentsInChildren<ParticleParent>(); - mainCam = base.transform.root.GetComponentInChildren<Camera>(); - hip = base.transform.root.GetComponentInChildren<Transform>().transform; - } - - private void Update() - { - VignetteModel.Settings settings = post.vignette.settings; - ChromaticAberrationModel.Settings settings2 = post.chromaticAberration.settings; - counter += Time.deltaTime; - if (damageValue > 0f) - { - damageValue -= Time.deltaTime * 0.3f; - } - if (counter < curve.keys[curve.length - 1].time) - { - float intensity = curve.Evaluate(counter); - settings.intensity = intensity; - } - settings.intensity = Mathf.Lerp(settings.intensity, 0f, Time.deltaTime * 0.5f); - settings.intensity = Mathf.Clamp(settings.intensity, 0f, 9f); - post.vignette.settings = settings; - if (counter < curve2.keys[curve2.length - 1].time) - { - float intensity2 = curve2.Evaluate(counter); - settings2.intensity = intensity2; - } - settings2.intensity = Mathf.Lerp(settings2.intensity, 0f, Time.deltaTime * 0.5f); - settings2.intensity = Mathf.Clamp(settings2.intensity, 0f, 9f); - post.chromaticAberration.settings = settings2; - } - - public void TakeDamage(Vector3 damage, Vector3 hitPoint) - { - counter = 0f; - damageValue += damage.magnitude * 0.02f; - damageValue = Mathf.Clamp(damageValue, 0f, 0.5f); - GetComponentInChildren<Torso>().GetComponent<Rigidbody>().AddForce(damage.normalized * (damage.magnitude * 0.3f + 3f), ForceMode.VelocityChange); - screenShake.AddShakeWorld(damage * 0.4f, 0.8f); - DirectionalParticles(mainCam.transform.InverseTransformDirection(-damage)); - } - - private void DirectionalParticles(Vector3 damage) - { - for (int i = 0; i < particleParents.Length; i++) - { - Vector3 from = particleParents[i].transform.position - particleParents[i].transform.parent.position; - Vector3 to = damage; - from.y = 0f; - to.y = 0f; - if (Vector3.Angle(from, to) < 15f + damage.magnitude * 0.5f) - { - float multi = 1f - Vector3.Angle(from, to) / damage.magnitude * 0.5f; - particleParents[i].Play(damage.magnitude, multi); - } - } - } -} |