Exemplo n.º 1
0
    void Update()
    {
        GameObject go = GameObject.FindGameObjectWithTag("Player");

        ally_targeting at = (ally_targeting)go.GetComponent("ally_targeting");

        Enemy_health_tracking eh = (Enemy_health_tracking)GetComponent("Enemy_health_tracking");

        if (timeSinceLastSpawn == 0)         //New time
        {
            timeSinceLastSpawn = Time.time;  //Set the current time
        }
        else
        {
            if (curEnemys.Count < maxNumberOfEnemys && (int)(Time.time - timeSinceLastSpawn) >= spawnDelay)
            {
                Instantiate(enemyToSpawn, spawnPlace, Quaternion.identity);
                at.targets = new List <Transform>();
                curEnemys  = new List <Transform>();
                AddAllEnemy();
                at.AddAllEnemy();
                timeSinceLastSpawn = 0;
            }
        }

        if (eh.curHealth == 0)
        {
            curEnemys = new List <Transform>();
            AddAllEnemy();
        }

        //Debug.Log((int)(Time.time - timeSinceLastSpawn));
    }
Exemplo n.º 2
0
    private void Attack()
    {
        Vector3 dir = (target.transform.position - transform.position).normalized;

        float distance = Vector3.Distance(target.transform.position, transform.position);

        float direction = Vector3.Dot(dir, transform.forward);

        if (distance < range)
        {
            if (direction > 0)
            {
                Enemy_AI ea = (Enemy_AI)target.GetComponent("Enemy_AI");
                Enemy_health_tracking eh = (Enemy_health_tracking)target.GetComponent("Enemy_health_tracking");

                if (ea.isFollowing == false)
                {
                    eh.curHealth = 0;
                }
                else
                {
                    eh.AddjustCurentHealth(-10);
                }
            }
        }
    }
Exemplo n.º 3
0
    // Update is called once per frame
    void Update()
    {
        Enemy_health_tracking eh = (Enemy_health_tracking) me.GetComponent ("Enemy_health_tracking");

        if(eh.curHealth == 0){
            Instantiate (itemsPossibleToDrop[Random.Range(0,itemsPossibleToDrop.Count)],me.transform.position, Quaternion.identity);
        }
    }
Exemplo n.º 4
0
    public void Explode()
    {
        foreach (Transform trans in bombables)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Destroy(trans.gameObject);
                audio.Play();
            }
        }
        foreach (Transform trans in enemys)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Enemy_health_tracking eh = (Enemy_health_tracking)trans.gameObject.GetComponent("Enemy_health_tracking");
                eh.AddjustCurentHealth(-damage);
                audio.Play();
            }
        }

        foreach (Transform trans in players)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Ally_Health_Tracking al = (Ally_Health_Tracking)trans.gameObject.GetComponent("Ally_Health_Tracking");
                al.AddjustCurentHealth(-damage);
                audio.Play();
            }
        }

        foreach (Transform trans in moveables)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                trans.rigidbody.isKinematic = false;
                trans.rigidbody.WakeUp( );
                audio.Play();
            }
        }

        bombables = new List <Transform>();
        moveables = new List <Transform>();
    }