Esempio n. 1
0
    void Start()
    {
        ctrlr             = GetComponent <EnemyAgentController>();
        TasksToProcess    = new Stack <Task>();
        FinalPlan         = new Stack <Task>();
        CurrentWorldState = new WorldState(2, false, false, false);

        htn = new EnemyAgentHTN();
    }
Esempio n. 2
0
    void CheckEnemyCollision(Collision collision)
    {
        //Study -- NMLAI Vs Player
        if (collision.transform.GetComponent <Client>() && shooter.transform.GetComponent <NMLAgent>())
        {
            //Apply damage
            collision.transform.GetComponent <Client>().health -= damageAmount;
            if (collision.transform.GetComponent <Client>().health <= 0)
            {
                collision.transform.GetComponent <Client>().isDead = true;
            }
            Destroy(this.gameObject);
        }

        //Study -- Player Vs NMLAI
        if (collision.transform.GetComponent <NMLAgent>() && shooter.transform.GetComponent <Client>())
        {
            //Apply damage
            collision.transform.GetComponent <NMLAgent>().health -= damageAmount;
            if (collision.transform.GetComponent <NMLAgent>().health <= 0)
            {
                collision.transform.GetComponent <NMLAgent>().isAlive = false;
            }
            Destroy(this.gameObject);
        }

        //Bullet code for AI training
        //For player hitting enemy
        if (collision.transform.GetComponent <NMLAgentTrainer>() && shooter.transform.GetComponent <AIController>())
        {
            //Apply damage
            collision.transform.GetComponent <NMLAgentTrainer>().health -= damageAmount;
            if (collision.transform.GetComponent <NMLAgentTrainer>().health <= 0)
            {
                collision.transform.GetComponent <NMLAgentTrainer>().isAlive = false;
                shooter.GetComponent <AIController>().GainedKill();
            }
            else
            {
                shooter.GetComponent <AIController>().InflictedDamage();
            }
            Destroy(this.gameObject);
        }

        //For enemy hitting player
        if (shooter.transform.GetComponent <NMLAgentTrainer>() && collision.transform.GetComponent <AIController>())
        {
            //Apply damage
            collision.transform.GetComponent <EnemyAgentController>().health -= damageAmount;
            if (collision.transform.GetComponent <EnemyAgentController>().health <= 0)
            {
                collision.transform.GetComponent <EnemyAgentController>().isAlive = false;
            }
            Destroy(this.gameObject);
        }

        //For in test enemy hitting player or vice versa
        if (shooter.transform.GetComponent <EnemyAgentController>() && collision.transform.GetComponent <EnemyAgentController>())
        {
            //Apply damage
            collision.transform.GetComponent <EnemyAgentController>().health -= damageAmount;
            if (collision.transform.GetComponent <EnemyAgentController>().health <= 0)
            {
                collision.transform.GetComponent <EnemyAgentController>().isAlive = false;
            }
            Destroy(this.gameObject);
        }

        //For study collision detection: enemy to player
        if (collision.transform.parent.GetComponent <Client>())
        {
            Client c = collision.transform.parent.GetComponent <Client>();
            c.health -= damageAmount;
            if (c.health <= 0)
            {
                c.isDead = true;
            }

            Destroy(this.gameObject);
        }

        //For study collision detection: enemy to player
        if (collision.transform.GetComponent <EnemyAgentController>() && shooter.transform.parent.GetComponent <Client>())
        {
            EnemyAgentController c = collision.transform.GetComponent <EnemyAgentController>();

            c.health -= 100;// damageAmount;
            if (c.health <= 0)
            {
                c.isAlive = false;
            }
            Destroy(this.gameObject);
        }

        //For study collision detection: enemy to player
        if (collision.transform.parent.GetComponent <Client>() && shooter.transform.parent.GetComponent <Client>())
        {
            Client c = collision.transform.parent.GetComponent <Client>();

            c.health -= damageAmount;
            if (c.health <= 0)
            {
                c.isDead = true;
            }
            Destroy(this.gameObject);
        }
    }
Esempio n. 3
0
 public void SetAgentScripts()
 {
     a1 = agent1.GetComponent <PlayerController2>();
     a2 = agent2.GetComponent <EnemyAgentController>();
 }