diff options
Diffstat (limited to 'GameCode/Implosion.cs')
-rw-r--r-- | GameCode/Implosion.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/GameCode/Implosion.cs b/GameCode/Implosion.cs new file mode 100644 index 0000000..080936a --- /dev/null +++ b/GameCode/Implosion.cs @@ -0,0 +1,39 @@ +using System; +using Photon.Pun; +using UnityEngine; + +public class Implosion : MonoBehaviour +{ + public float force; + + public float drag; + + public float time; + + public float clampDist; + + private void Start() + { + Explosion component = GetComponent<Explosion>(); + component.HitTargetAction = (Action<Damagable, float>)Delegate.Combine(component.HitTargetAction, new Action<Damagable, float>(HitTarget)); + clampDist *= base.transform.localScale.x; + force *= base.transform.localScale.x; + } + + public void HitTarget(Damagable damageble, float distance) + { + DoPull(damageble, distance); + } + + private void DoPull(Damagable damageble, float distance) + { + bool num = GetComponent<SpawnedAttack>().IsMine(); + HealthHandler component = damageble.GetComponent<HealthHandler>(); + CharacterData component2 = damageble.GetComponent<CharacterData>(); + _ = (Vector2)((base.transform.position - component.transform.position) * 0.25f); + if (num) + { + component2.view.RPC("RPCA_SendForceTowardsPointOverTime", RpcTarget.All, force, drag, clampDist, (Vector2)base.transform.position, time, 0, false, false); + } + } +} |