// Fireball will be returned to fireballPool when going off screen
 private void _CheckBounds()
 {
     if (transform.position.y > verticalBoundary || transform.position.y < -verticalBoundary)
     {
         FireballManager.Instance().ReturnFireball(gameObject);
     }
 }
예제 #2
0
    // Start is called before the first frame update
    void Start()
    {
        gem   = Resources.Load("Prefabs/Gem") as GameObject;
        enemy = Resources.Load("Prefabs/Enemy") as GameObject;

        // Prepare Fireball pool using by Player and Enemies
        FireballManager.Instance().Init(MaxFireballs, fireballType, enemyFireballType);
    }
예제 #3
0
 // Friring Fireball
 public void _FireballFire()
 {
     // delay enemy fireball firing
     if (Time.frameCount % 120 == 0 && FireballManager.Instance().HasEnemyFireballs())
     {
         FireballManager.Instance().GetEnemyFireball(transform.position);
     }
 }
    public static FireballManager Instance()
    {
        if (m_instance == null)
        {
            m_instance = new FireballManager();
        }

        return(m_instance);
    }
 private void _FireballFire()
 {
     // delay fireball firing
     if (Time.frameCount % 10 == 0 && FireballManager.Instance().HasFireballs())
     {
         shootingSound.Play();
         FireballManager.Instance().GetFireball(transform.position);
     }
 }
예제 #6
0
    void OnCollisionEnter2D(Collision2D col)
    {
        FireballManager fireball = col.gameObject.GetComponent <FireballManager> ();

        if (fireball)
        {
            //Debug.Log (fireball.damage);
            currentHealth -= fireball.damage;
        }
    }
    // Fireball will be returned to fireballPool when colliding with other objects
    public void OnTriggerEnter2D(Collider2D other)
    {
        if (gameObject.tag == "Fireball" && other.gameObject.tag == "Enemy")
        {
            FireballManager.Instance().ReturnFireball(gameObject);
        }

        if (gameObject.tag == "E_Fireball" && other.gameObject.tag == "Player")
        {
            FireballManager.Instance().ReturnEnemyFireball(gameObject);
        }
    }
 private void Awake()
 {
     mana = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerMana>();
     if (Instance == null)
     {
         Instance = this;
         //DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
예제 #9
0
    void OnCollisionEnter2D(Collision2D col)
    {
        FireballManager fireball = col.gameObject.GetComponent <FireballManager> ();

        if (fireball)
        {
            currentHealth -= fireball.damage;
        }

        //	Destroy (target);
        //		if (this.gameObject.transform.position.y < col.gameObject.transform.position.y) {
        //			col.gameObject.GetComponent<Collider2D> ().enabled = false;
        //			Debug.Log (string.Format ("SHOULD GO THROUGH"));
        //		} else {
        //			this.GetComponent<Collider2D> ().enabled = true;
        //		}
    }
 private void Awake()
 {
     health    = GetComponent <PlayerHealth>();
     manager   = GetComponent <FireballManager>();
     damageRef = GetComponent <Character>();
 }