diff options
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs b/SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs index 6e3eb26..090c3ab 100644 --- a/SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_GrenadeLauncher.cs @@ -7,12 +7,45 @@ using UnityEngine; /// </summary> public class Equip_GrenadeLauncher : EquipBase { + + public override string name => "Áñµ¯·¢ÉäÆ÷"; + + public override string iconPath => "art/ui/equipicon/grenade"; + public override AutoMode autoMode => AutoMode.Interval; public override float interval => 0.5f; + private string prefabPath = "prefabs/grenade/grenade_v1"; + + // ÌØÐ§vfx + private string vfxPath = "prefabs/effect/eff_launch"; + + Vector3 GetRandomLaunchGrenadeDirection(CrewScript crew) + { + Vector3 dirOnPlane = Quaternion.Euler(0, 0, Random.Range(-15f, 15f)) * new Vector3(crew.aimDirection.x, crew.aimDirection.y, 0); + dirOnPlane = dirOnPlane.normalized; + Vector3 dir = new Vector3(dirOnPlane.x, dirOnPlane.y, Random.Range(0f, 1f)).normalized; + return dir.normalized; + } + + public override void OnTrigger(GameObject owner) { + Debug.Log("Grenade !!!"); + + CrewScript crew = owner.GetComponent<CrewScript>(); + + //// grenade + TestPeaceMakerGrenade grenade = UnityEngine.Object.Instantiate<TestPeaceMakerGrenade>(ResourceManager.Instance.Load<TestPeaceMakerGrenade>(prefabPath)); + Vector3 position = owner.GetComponent<TopDownTransform>().position + new Vector3(0, 0, 1.8f); + grenade.Set(position, GetRandomLaunchGrenadeDirection(crew), Random.Range(8f, 10f)); + grenade.gameObject.SetActive(true); + + //// vfx + GameObject eff = UnityEngine.Object.Instantiate<GameObject>(ResourceManager.Instance.Load<UnityEngine.GameObject>(vfxPath), crew.transform); + eff.transform.position = crew.launchPoint.position; + eff.SetActive(true); } }
\ No newline at end of file |