void Start() { ctrlr = GetComponent <EnemyAgentController>(); TasksToProcess = new Stack <Task>(); FinalPlan = new Stack <Task>(); CurrentWorldState = new WorldState(2, false, false, false); htn = new EnemyAgentHTN(); }
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); } }
public void SetAgentScripts() { a1 = agent1.GetComponent <PlayerController2>(); a2 = agent2.GetComponent <EnemyAgentController>(); }