Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        timeUntilBlast -= Time.deltaTime;
        float g = timeUntilBlast / mBlastTime;

        rend.material.color = new Color(1f, 1f * g, 1f * g);

        MonsterGridMovement monster = null;

        if (timeUntilBlast <= float.Epsilon)
        {
            Instantiate(missileExplode);
            Collider[] hitColliders = Physics.OverlapSphere(blastArea.transform.position, blastArea.GetComponent <SphereCollider>().radius *blastArea.localScale.x);
            foreach (Collider c in hitColliders)
            {
                if (c.gameObject.GetComponent <MonsterGridMovement>())
                {
                    monster = c.gameObject.GetComponent <MonsterGridMovement>();
                }
            }
            if (monster != null)
            {
                monster.TakeDamage(5);
            }

            Destroy(this.gameObject);
        }
    }
Esempio n. 2
0
    PlayerBase targetBase; // fake chat aims here, adjusted in update if there's one closer


    // Use this for initialization
    void Start()
    {
        monster = GameObject.FindObjectOfType <MonsterGridMovement>();
        for (int i = 0; i < numFakeUsers; i++)
        {
            string   name = "user" + i;
            FakeUser fake = new FakeUser(name);
            // TODO: add random CD offset to the message so its not all at once?
            fakeUsers.Add(fake);
        }
    }
Esempio n. 3
0
    void FireAttack()
    {
        MonsterGridMovement monster = null;

        Instantiate(tankAttack);                                                          //Attack sound effect

        Collider[] hitColliders = Physics.OverlapSphere(transform.position, attackRange); //Find monster
        foreach (Collider c in hitColliders)
        {
            if (c.gameObject.GetComponent <MonsterGridMovement>())
            {
                monster = c.gameObject.GetComponent <MonsterGridMovement>();
            }
        }

        if (monster != null)
        {
            monster.TakeDamage(attackDamage);                       //Tell monster to take damage
        }
        LineRenderer shot = Instantiate(Resources.Load("Particles/Shot", typeof(LineRenderer)), transform.position, transform.rotation) as LineRenderer;

        shot.SetPosition(0, transform.position);
        shot.SetPosition(1, monster.transform.position);
    }