summaryrefslogtreecommitdiff
path: root/Thronefall_v1.0/Decompile/SplashDamageArea.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_v1.0/Decompile/SplashDamageArea.cs')
-rw-r--r--Thronefall_v1.0/Decompile/SplashDamageArea.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/SplashDamageArea.cs b/Thronefall_v1.0/Decompile/SplashDamageArea.cs
new file mode 100644
index 0000000..84a27a9
--- /dev/null
+++ b/Thronefall_v1.0/Decompile/SplashDamageArea.cs
@@ -0,0 +1,51 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+public class SplashDamageArea : MonoBehaviour
+{
+ public enum EShape
+ {
+ Sphere,
+ Box
+ }
+
+ public EShape shape;
+
+ public Vector3 boxSize;
+
+ public float sphereRadius;
+
+ public LayerMask layerMaskRecieveDamage;
+
+ private static Collider[] collidersTemp = new Collider[200];
+
+ private void OnDrawGizmosSelected()
+ {
+ if (shape == EShape.Box)
+ {
+ Gizmos.color = Color.red;
+ Gizmos.matrix = base.transform.localToWorldMatrix;
+ Gizmos.DrawWireCube(Vector3.zero, boxSize);
+ }
+ else
+ {
+ Gizmos.color = Color.red;
+ Gizmos.matrix = base.transform.localToWorldMatrix;
+ Gizmos.DrawWireSphere(Vector3.zero, sphereRadius);
+ }
+ }
+
+ public void AddReiveDamageHpScriptsInAreaToList(List<Hp> _listOfHpScripts)
+ {
+ int num = 0;
+ num = ((shape != EShape.Box) ? Physics.OverlapSphereNonAlloc(base.transform.position, sphereRadius, collidersTemp, layerMaskRecieveDamage) : Physics.OverlapBoxNonAlloc(base.transform.position, boxSize, collidersTemp, base.transform.rotation, layerMaskRecieveDamage));
+ for (int i = 0; i < num; i++)
+ {
+ Hp componentInParent = collidersTemp[i].GetComponentInParent<Hp>();
+ if (!(componentInParent == null) && !_listOfHpScripts.Contains(componentInParent))
+ {
+ _listOfHpScripts.Add(componentInParent);
+ }
+ }
+ }
+}