using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// Áñµ¯·¢ÉäÆ÷
///
public class Weapon_GrenadeLauncher : WeaponBase
{
public override string name => "Áñµ¯·¢ÉäÆ÷";
public override string iconPath => "art/ui/weaponicon/grenade";
public override AutoMode autoMode => AutoMode.Interval;
public override float interval => 2f;
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)
{
CrewScript crew = owner.GetComponent();
// grenade
TestPeaceMakerGrenade grenade = UnityEngine.Object.Instantiate(ResourceManager.Instance.Load(prefabPath));
Vector3 position = owner.GetComponent().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(ResourceManager.Instance.Load(vfxPath), crew.transform);
eff.transform.position = crew.launchPoint.position;
eff.SetActive(true);
}
}