private void Awake() { sInstance = this; Initialize(10); Initialize_FireObj(10); Initialize_IceObj(10); Initialize_HealObj(10); }
IEnumerator CoroutinSkill_Heal() { mIsIdle = false; mAnim.CrossFade("skill", 0.2f); var skill_HealBox = ObjectPoolIG.GetHealObject(); skill_HealBox.transform.position = transform.Find("Skill_Heal").position; skill_HealBox.Shoot(transform.position + transform.forward * 10f); yield return(new WaitForSeconds(3f)); }
private void skillAttack(bool attack) { if (attack) { mIsIdle = false; mAnim.CrossFade("attack", 0.2f); var bullet = ObjectPoolIG.GetObject(); bullet.transform.position = attackPoint.transform.position; bullet.Shoot(transform.forward * 10f); } }
IEnumerator CoroutinSkill_Fire() { Vector3 monsVec; mIsIdle = false; mAnim.CrossFade("skill", 0.2f); var skill_FireBox = ObjectPoolIG.GetFireObject(); skill_FireBox.transform.position = transform.Find("Skill_Fire").position; monsVec = skill_FireBox.transform.position; //NearEnemyAttack(out monsVec); skill_FireBox.Shoot(transform.forward * 10f); skill_true = true; yield return(new WaitForSeconds(3f)); }
//private void OnCollisionEnter(Collision collision) //{ // if (collision.gameObject == monster) // { // mHp -= 1; // Debug.Log("hp:" + mHp); // if(mHp == 0) // { // mIsDeath = true; // } // } //} public void NearEnemyAttack(out Vector3 monsVec) { monsVec = new Vector3(transform.position.x + 10, transform.position.y, transform.position.z + 1); //주변에 있는 모든 적을 추출해서 배열에 저장 (원점, 반경, 레이어) Collider[] colls = Physics.OverlapSphere(monsVec, 300f, 1 << 10); for (int i = 0; i < colls.Length; i++) //자기자신포함 { MonsterAI mon = colls[i].GetComponent <MonsterAI>(); if (mon != null && !mon.mIsDeath) { var bullet = ObjectPoolIG.GetObject(); bullet.transform.position = mon.transform.position; } monsVec = colls[i].transform.position; } }
public void DestroyBullet() { ObjectPoolIG.sReturnObject(this); Destroy(fx_obj); }