summaryrefslogtreecommitdiff
path: root/DamageEffects.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-03-13 11:38:18 +0800
committerchai <215380520@qq.com>2024-03-13 11:38:18 +0800
commit134f1deb971b0514a26e04e23926f91983a5497f (patch)
treed790681bb000c07abae9f557a7d0ef2442fac467 /DamageEffects.cs
parent6ce8b9e22fc13be34b442c7b6af48b42cd44275a (diff)
* move
Diffstat (limited to 'DamageEffects.cs')
-rw-r--r--DamageEffects.cs84
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);
- }
- }
- }
-}