Ejemplo n.º 1
0
    public override void Activate()
    {
        base.Activate ();

        tracked_enemy = null;
        current_node = null;
        id = global_id_counter ++;
        parameters.hp_current = parameters.hp_max;
    }
Ejemplo n.º 2
0
 public bool HasEnemyAround()
 {
     if (!ValidEnemy() ) {
         tracked_enemy = GetClosestActiveEnemy();
         if ( tracked_enemy != null ) last_tracked_enemy_id = tracked_enemy.id;
     }
     return tracked_enemy != null;
 }
Ejemplo n.º 3
0
    public void DealDamageToTrackedEnemy()
    {
        tracked_enemy.parameters.hp_current -= parameters.attack_damage;

        Debug.DrawLine (transform.position, tracked_enemy.transform.position, debug_attack_color);
        if (tracked_enemy.parameters.hp_current <= 0) {
            tracked_enemy.Deactivate();
            tracked_enemy = null;
        }
    }
Ejemplo n.º 4
0
 void ReselectTarget()
 {
     var r = GetClosestActiveEnemy ();
     if (r != null) {
         tracked_enemy = r;
         last_tracked_enemy_id = r.id;
     }
 }
Ejemplo n.º 5
0
 public bool ValidEnemy()
 {
     if (tracked_enemy == null)
         return false;
     if (!tracked_enemy.isActiveAndEnabled | tracked_enemy.id != last_tracked_enemy_id) {
         tracked_enemy = null;
         return false;
     }
     return true;
 }
Ejemplo n.º 6
0
 //# public f
 public void IgnoreCurrentEnemy()
 {
     tracked_enemy = null;
 }
Ejemplo n.º 7
0
 /* ########################## core mono functions ######################## */
 void Awake()
 {
     reactor = GetComponent<Reactor> ();
     core = GetComponent<AgentX2> ();
 }