Inheritance: MonoBehaviour
Example #1
0
    public void SpitObject(bool left)
    {
        //Instantiate the object being held
        //Need to reset the state when the animation is completed.

        //Debug.Log(left);


        //TODO: Remove this explicit fireball script call. Look into if creating a 'Sin' class would help fix
        FireballScript fScript = heldObj.GetComponent <FireballScript>();


        //Set the held objects position to the players current position and reactivate it, changing it's tag
        heldObj.transform.position = transform.position;
        heldObj.SetActive(true);
        heldObj.tag = "Sin";

        if (left)
        {
            heldObj.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, 90f);
            fScript.SetOriginAndTarget(heldObj.transform.position, new Vector2(-50, heldObj.transform.position.y));
        }
        else
        {
            heldObj.transform.localRotation = Quaternion.Euler(0f, 0f, -90f);
            fScript.SetOriginAndTarget(heldObj.transform.position, new Vector2(50, heldObj.transform.position.y));
        }

        heldObj = null;
    }
Example #2
0
    public void DestroyTarget(GameObject block)
    {
        if (NetworkManager.Instance.IsViewMine(photonView))
        {
            GameObject newFireBall = NetworkManager.Instance.InstantiateGameObject(fireBall.name, attackSpawnLocation.position, Quaternion.Euler(Vector3.zero));

            FireballScript fireballScript = newFireBall.GetComponent <FireballScript>();
            fireballScript.SetTarget(block);
        }
    }
Example #3
0
    public void SuperAttack()
    {
        FireballScript superInstance = Instantiate(superFireballPrefab, transform.position + new Vector3(direction * 5, 0, 0), transform.rotation);

        superInstance.rb.velocity = new Vector2(direction * superInstance.moveSpeed * Time.fixedDeltaTime, 0);
        superInstance.SetDirection(direction);
        superInstance.GetComponent <AttackData>().origin = this;
        audio.Play("FireballSound");
        Debug.Log("Fireball Super");
    }
Example #4
0
 public void Fire(bool fireImmediate = false)
 {
     if (readyToFire && !fireballInMouth)
     {
         readyToFire = false;
         GameObject newFireball = new GameObject(transform.name + "_fireball");
         newFireball.transform.parent   = transform;
         newFireball.transform.position = transform.position;
         newFireball.transform.rotation = transform.rotation;
         currentFireball = Instantiate(FireballPref, newFireball.transform);
         fireballList.Add(newFireball);
         if (transform.localScale.y >= 0)
         {
             currentFireball.transform.localPosition = mouthPos;
         }
         else
         {
             currentFireball.transform.localPosition = new Vector3(mouthPos.x, -mouthPos.y, 0);
         }
         //currentFireball.transform.localScale = Vector3.one * 0.3f;
         FireballScript newFireballScript = currentFireball.GetComponent <FireballScript>();
         newFireballScript.speed = fireballSpeed
                                   + 2 * gameObject.GetComponent <Rigidbody2D>().velocity.magnitude;
         newFireballScript.lifespan     = fireballLifespan;
         newFireballScript.damage       = dragon.damage;
         newFireballScript.owner        = gameObject;
         newFireballScript.shouldGrow   = true;
         newFireballScript.growingTimer = newFireballScript.maxGrowingTime;
         fireballInMouth = true;
         anim.Play("Dragon_Armature|Head_Prepare_Fireball");
         for (int i = 0; i < newFireball.transform.childCount; i++)
         {
             newFireball.transform.GetChild(i).transform.localScale = Vector3.one * 0.05f;
         }
         if (fireImmediate)
         {
             fireballIsReleased = true;
         }
         currentFireball.transform.localScale = Vector3.one * 1.5f;
         StartCoroutine(Cooldown());
     }
 }
Example #5
0
 private void Update()
 {
     if (dead)
     {
         manager.PlaySound("ed");
         alive.enemiesAlive--;
         Instantiate(deathParticles, new Vector3(transform.position.x, transform.position.y, -1), Quaternion.identity);
         Destroy(gameObject);
     }
     timer -= Time.deltaTime;
     if (timer < 0)
     {
         timer = size;
         Transform      flame = Instantiate(fireBall, transform.position, Quaternion.identity);
         FireballScript fs    = flame.GetComponent <FireballScript>();
         Vector2        rot   = (transform.position - target.position).normalized;
         Vector2        dir   = (target.position - transform.position).normalized;
         fs.Setup(size, rot, dir);
     }
 }
Example #6
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "eUltimate")
     {
         Destroy(gameObject);
     }
     if (!ultimate)
     {
         if (collision.tag == "Enemy" || collision.tag == "eHalo")
         {
             Destroy(gameObject);
         }
         else if (collision.tag == "fireBall")
         {
             FireballScript fs = collision.gameObject.GetComponent <FireballScript>();
             if (fs.size == 3)
             {
                 Destroy(gameObject);
             }
         }
     }
 }
Example #7
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (!dead)
     {
         if (collision.tag == "fireBall")
         {
             FireballScript fs = collision.GetComponent <FireballScript>();
             hp -= fs.size;
             if (!dead)
             {
                 manager.PlaySound("ph");
             }
         }
         else if (collision.tag == "eHalo")
         {
             hp -= 2;
             if (!dead)
             {
                 manager.PlaySound("ph");
             }
         }
         else if (collision.tag == "eUltimate")
         {
             hp -= 6;
             if (!dead)
             {
                 manager.PlaySound("ph");
             }
         }
         if (hp <= 0)
         {
             manager.PlaySound("pd");
             StartCoroutine(DeathAnimation());
         }
     }
 }