summaryrefslogtreecommitdiff
path: root/Assembly_CSharp/GamePlay/MorterShell.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-11-26 23:54:38 +0800
committerchai <215380520@qq.com>2023-11-26 23:54:38 +0800
commitb45e22c164fa364263b00ce82842999f8e5976b2 (patch)
treebbc996364325c820d215572e4b16ae0e776c5f04 /Assembly_CSharp/GamePlay/MorterShell.cs
parent626381f061cde0c78564f6336e3131835cf20a5b (diff)
*move
Diffstat (limited to 'Assembly_CSharp/GamePlay/MorterShell.cs')
-rw-r--r--Assembly_CSharp/GamePlay/MorterShell.cs81
1 files changed, 0 insertions, 81 deletions
diff --git a/Assembly_CSharp/GamePlay/MorterShell.cs b/Assembly_CSharp/GamePlay/MorterShell.cs
deleted file mode 100644
index ce93441..0000000
--- a/Assembly_CSharp/GamePlay/MorterShell.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using UnityEngine;
-
-public class MorterShell : Projectile
-{
- [SerializeField]
- private GameObject artObject;
-
- [SerializeField]
- private LayerMask layersAffectedByBlast;
-
- public float blastRadius = 1f;
-
- private Vector3 destination;
-
- private float timeOfFlight;
-
- [SerializeField]
- private float vSpeed;
-
- [SerializeField]
- private float hSpeed;
-
- [SerializeField]
- private float gravity = 5f;
-
- [SerializeField]
- private GameObject explosion;
-
- private float lookAhead;
-
- private Vector3 previousPos;
-
- public void SetMorterPhysics(Vector3 pos)
- {
- destination = pos;
- timeOfFlight = speed;
- vSpeed = gravity * timeOfFlight / 2f;
- hSpeed = Vector3.Magnitude(base.transform.position - destination) / timeOfFlight;
- lookAhead = vSpeed + hSpeed;
- }
-
- protected override void MoveProjectile()
- {
- previousPos = base.transform.position;
- base.transform.Translate(Vector3.forward * hSpeed * Time.fixedDeltaTime);
- base.transform.Translate(Vector3.up * vSpeed * Time.fixedDeltaTime);
- vSpeed -= gravity * Time.fixedDeltaTime;
- artObject.transform.rotation = Quaternion.LookRotation(base.transform.position - previousPos, Vector3.up);
- }
-
- protected override void CheckForHits()
- {
- if (!(vSpeed > 0f) && Physics.Raycast(artObject.transform.position, artObject.transform.forward, out var hitInfo, lookAhead * Time.fixedDeltaTime, layermask, QueryTriggerInteraction.Collide))
- {
- OnHit(hitInfo);
- }
- }
-
- protected override void OnHit(RaycastHit hit)
- {
- Collider[] array = Physics.OverlapSphere(base.transform.position, blastRadius, layersAffectedByBlast, QueryTriggerInteraction.Collide);
- for (int i = 0; i < array.Length; i++)
- {
- IDamageable component = array[i].GetComponent<IDamageable>();
- if (component != null)
- {
- DealDamage(component);
- }
- }
- if (detachOnDestruction != null)
- {
- detachOnDestruction.transform.parent = null;
- }
- if (extraFX != null)
- {
- extraFX.OnDetach();
- }
- Object.Instantiate(explosion, base.transform.position, Quaternion.identity);
- Object.Destroy(base.gameObject);
- }
-}