Esempio n. 1
0
    public void AttackHero()
    {
        float accuracy = Random.Range(1, 101);

        if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            if (accuracy > Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
            {
                Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
            }
        }
        else if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            if (accuracy > Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
            {
                Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
            }
        }
        else if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            if (accuracy > Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
            {
                Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
            }
        }
        attackTimer = 0.0f;
        animator.SetFloat("Cooldown Timer", 0);
    }
Esempio n. 2
0
File: Mob.cs Progetto: Bryan9815/SP4
 public virtual void Exit()
 {
     Destroy(gameObject);
     WaveManager.ListOfMobs.Remove(gameObject);
     WaveManager.AddKillCount();
     WaveManager.AddGoldEarned(goldValue);
     Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().IncreaseExp(exp);
     Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().IncreaseExp(exp);
     Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().IncreaseExp(exp);
 }
Esempio n. 3
0
    // Update is called once per frame
    protected override void Update()
    {
        Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);

        temp.x -= Time.deltaTime * 5.0f;
        gameObject.transform.position = temp;
        if (temp.x <= (Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x) && !hit_Hero1)
        {
            if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
            {
                float accuracy = Random.Range(1, 101);

                if (accuracy > Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                {
                    Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                }

                hit_Hero1 = true;
            }
        }
        else if (temp.x <= (Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x) && !hit_Hero2)
        {
            if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
            {
                float accuracy = Random.Range(1, 101);

                if (accuracy > Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                {
                    Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                }

                hit_Hero2 = true;
            }
        }
        else if (temp.x <= (Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x) && !hit_Hero3)
        {
            if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
            {
                float accuracy = Random.Range(1, 101);

                if (accuracy > Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                {
                    Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                }

                hit_Hero3 = true;
            }

            if (temp.x <= Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x - 5)
            {
                Exit();
            }
        }
    }
Esempio n. 4
0
    // Update is called once per frame
    protected override void Update()
    {
        if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero1.transform.position.x) * (gameObject.transform.position.x - Hero1.transform.position.x)));
        }
        else if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero2.transform.position.x) * (gameObject.transform.position.x - Hero2.transform.position.x)));
        }
        else if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero3.transform.position.x) * (gameObject.transform.position.x - Hero3.transform.position.x)));
        }

        // State Transitions
        if (distFromHero < 7.5)
        {
            state = States.Run;
            animator.SetTrigger("Run");
        }
        else
        {
            state = States.Idle;
            animator.SetTrigger("Idle");
        }
        if (Hp <= 0)
        {
            state = States.Death;
        }

        // States
        switch (state)
        {
        case States.Idle:
            foreach (GameObject hero in HeroList)
            {
                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);
                    temp.x -= Time.deltaTime * 0.8f;
                    gameObject.transform.position = temp;
                }
            }
            break;

        case States.Run:
            foreach (GameObject hero in HeroList)
            {
                Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);

                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    temp.x -= Time.deltaTime;
                    gameObject.transform.position = temp;
                }
                else
                {
                    attackTimer += Time.deltaTime;
                    if (attackTimer > attackTimer_Max)
                    {
                        float accuracy = Random.Range(1, 101);
                        if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead() && gameObject.GetComponent <BoxCollider2D>().IsTouching(Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                        {
                            if (accuracy > Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                            {
                                Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                                Vector3 position = new Vector3(Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x, Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.y, Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.z);

                                GameObject explode = Instantiate(explosion, new Vector3(position.x + 1, position.y, position.z), explosion.transform.rotation) as GameObject;
                                explode.SetActive(true);
                            }
                        }
                        else if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead() && gameObject.GetComponent <BoxCollider2D>().IsTouching(Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                        {
                            if (accuracy > Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                            {
                                Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                                Vector3 position = new Vector3(Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x, Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.y, Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.z);

                                GameObject explode = Instantiate(explosion, new Vector3(position.x + 1, position.y, position.z), explosion.transform.rotation) as GameObject;
                                explode.SetActive(true);
                            }
                        }
                        else if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead() && gameObject.GetComponent <BoxCollider2D>().IsTouching(Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                        {
                            if (accuracy > Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_Evasion())
                            {
                                Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().getHit(Attack);
                                Vector3 position = new Vector3(Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.x, Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.y, Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().transform.position.z);

                                GameObject explode = Instantiate(explosion, new Vector3(position.x + 1, position.y, position.z), explosion.transform.rotation) as GameObject;
                                explode.SetActive(true);
                            }
                        }
                        attackTimer = 0;
                    }
                }
            }
            break;

        case States.Death:
            Destroy(gameObject.GetComponent <BoxCollider2D>());
            animator.enabled = false;
            if (gameObject.transform.position.y < -(Screen.height / 20))
            {
                Exit();
            }
            break;

        default:
            break;
        }
    }
Esempio n. 5
0
    // Update is called once per frame
    protected override void Update()
    {
        if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero1.transform.position.x) * (gameObject.transform.position.x - Hero1.transform.position.x)));
        }
        else if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero2.transform.position.x) * (gameObject.transform.position.x - Hero2.transform.position.x)));
        }
        else if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero3.transform.position.x) * (gameObject.transform.position.x - Hero3.transform.position.x)));
        }

        // State Transition
        if (distFromHero < 7.5 && state != States.Attack && !animator.GetBool("Targets In Range"))
        {
            state = States.Walk;
            if (!TargetsDetected)
            {
                animator.SetTrigger("Target Detected");
                TargetsDetected = true;
            }
        }
        else if (distFromHero > 7.5 && state != States.Attack)
        {
            state           = States.Idle;
            TargetsDetected = false;
        }
        else if (distFromHero > 5 && state == States.Attack)
        {
            state = States.Walk;
            animator.SetBool("Targets In Range", false);
        }
        if (Hp <= 0)
        {
            state = States.Death;
            animator.SetTrigger("No HP");
        }

        // States
        switch (state)
        {
        case States.Idle:
            foreach (GameObject hero in HeroList)
            {
                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);
                    temp.x -= Time.deltaTime * 0.8f;
                    gameObject.transform.position = temp;
                }
            }
            break;

        case States.Walk:
            foreach (GameObject hero in HeroList)
            {
                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);
                    temp.x -= Time.deltaTime;
                    gameObject.transform.position = temp;
                }
                else
                {
                    state = States.Attack;
                    animator.SetBool("Targets In Range", true);
                    animator.SetBool("No Targets", false);
                }
            }
            break;

        case States.Attack:
            if (attackTimer < attackTimer_Max)
            {
                attackTimer += Time.deltaTime;
            }
            animator.SetFloat("Cooldown Timer", attackTimer);

            break;

        default:
            break;
        }
    }
Esempio n. 6
0
File: Mob.cs Progetto: Bryan9815/SP4
 // Update is called once per frame
 protected virtual void Update()
 {
     if (Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead() && Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead() && Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
     {
         WaveManager.GameOver();
     }
 }
Esempio n. 7
0
    // Update is called once per frame
    protected override void Update()
    {
        if (!Hero1.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero1.transform.position.x) * (gameObject.transform.position.x - Hero1.transform.position.x)));
        }
        else if (!Hero2.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero2.transform.position.x) * (gameObject.transform.position.x - Hero2.transform.position.x)));
        }
        else if (!Hero3.GetComponent <HeroHolder>().Get_GameObject().GetComponent <Hero>().Get_IsDead())
        {
            distFromHero = Mathf.Sqrt(((float)(gameObject.transform.position.x - Hero3.transform.position.x) * (gameObject.transform.position.x - Hero3.transform.position.x)));
        }

        // State Transitions
        if (distFromHero < 7.5)
        {
            state = States.Run;
            animator.SetTrigger("Run");
        }
        else
        {
            state = States.Idle;
            animator.SetTrigger("Idle");
        }
        if (Hp <= 0)
        {
            state = States.Death;
        }

        // States
        switch (state)
        {
        case States.Idle:
            foreach (GameObject hero in HeroList)
            {
                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);
                    temp.x -= Time.deltaTime * 0.8f;
                    gameObject.transform.position = temp;
                }
            }
            break;

        case States.Run:
            foreach (GameObject hero in HeroList)
            {
                Vector3 temp = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z);

                if (!gameObject.GetComponent <BoxCollider2D>().IsTouching(hero.GetComponent <HeroHolder>().Get_GameObject().GetComponent <BoxCollider2D>()))
                {
                    temp.x -= Time.deltaTime;
                    gameObject.transform.position = temp;
                }
            }
            break;

        case States.Death:
            Destroy(gameObject.GetComponent <BoxCollider2D> ());
            animator.enabled = false;
            if (gameObject.transform.position.y < -(Screen.height / 20))
            {
                gameObject.SetActive(false);
                TutorialManager.counter++;
            }
            break;

        default:
            break;
        }
    }