player๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ์˜ ์ž์‹์œผ๋กœ
satellite๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์žˆ๊ณ 

๋‹ค์‹œ satellite์˜ ์ž์‹์œผ๋กœ

projectile์ด ์ƒ์„ฑ๋˜๋Š”๋ฐ


์ƒ์„ฑ๋  ๋•Œ๋Š” satellite๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž˜ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค.

๊ทผ๋ฐ ์ดํ›„์— ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์›€์ง์ด๋ฉด projectile์ด ์•ˆ ์›€์ง์ž…๋‹ˆ๋‹ค...

satellite๊ฐ€ ์•ˆ ์›€์ง์ด๋ƒ ํ•˜๋ฉด ๊ทธ๊ฑด ๋˜ ์•„๋‹Œ๊ฒŒ, ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์›€์ง์ด๋ฉด ์ƒ์„ฑ๋  ๋•Œ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํˆฌ์‚ฌ์ฒด๊ฐ€ ์ž˜ ์ƒ๊ฒจ์š”.

๊ทธ๋ฆฌ๊ณ  ์œ ๋‹ˆํ‹ฐ ์”ฌ ์ƒ์—์„œ satellite๋ฅผ ์žก๊ณ  ์›€์ง์ด๋ฉด ํˆฌ์‚ฌ์ฒด๊ฐ€ ๊ฐ™์ด ์ž˜ ์›€์ง์ž…๋‹ˆ๋‹ค...

์ง„์งœ ๋ญ๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ๊ฐ์ด ์•ˆ ์žกํ˜€์„œ ๋„์›€ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค

์ƒ์„ฑ ๊ณผ์ •์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค


ย  ย  ย  ย  Vector3 projDir = targets[0];//๋ฐฉํ–ฅ๋“ค ์ €์žฅํ•ด๋†“์€ ๋ฆฌ์ŠคํŠธ


ย  ย  ย  ย  GameObject proj = Instantiate(stat.projectile, transform.position, Quaternion.Euler(0,0,Mathf.Atan2(-projDir.x, projDir.y) * Mathf.Rad2Deg));//ํ”„๋ฆฌํŒน์ƒ์„ฑ

ย  ย  ย  ย  proj.GetComponent<Projectile_Satellite>().Init(stat.baseDamage,projDir,radius, gameObject.transform);//๋ฐ๋ฏธ์ง€, ๋ฐฉํ–ฅ, ์œ„์น˜ ๋„˜๊ฒจ์คŒ

ย  ย  ย  ย  targets.RemoveAt(0);//๋ฐฉํ–ฅ ์ฒซ๋ฒˆ์งธ ์ œ๊ฑฐ


ย  ย  public void Init(float damage, Vector3 dir, float rad, Transform parent)

ย  ย  {

ย  ย  ย  ย  this.transform.SetParent(parent);//๋ถ€๋ชจ์„ค์ •

ย  ย  ย  ย  this.transform.localPosition=(dir*radius);//์œ„์น˜์„ค์ •

ย  ย  ย  ย  this.damage = damage;

ย  ย  ย  ย  this.dir = dir;

ย  ย  ย  ย  rb = GetComponent<Rigidbody2D>();

ย  ย  ย  ย  this.penet = ps.penetration;

ย  ย  ย  ย  this.radius =rad;

ย  ย  }