public override void use(UtilityAIHandler controller)
 {
     if (controller.bossUdokEnemyUnit.returnLivingMinions() < controller.bossUdokEnemyUnit.minionsLivingCount && !controller.bossUdokEnemyUnit.isSpawning)
     {
         controller.bossUdokEnemyUnit.spawnMinions();
     }
 }
 public override void use(UtilityAIHandler controller)
 {
     if (controller.unit.waitTimer(controller.unit.enemyStats.attackRateMin))
     {
         controller.unit.animator.SetTrigger("Attack");
         SoundManager.Instance.playRandomSFX(controller.unit.attackSFX, controller.unit.audioSource, 0.8f, 1.2f);
     }
 }
    public override void use(UtilityAIHandler controller)
    {
        if (Vector3.Distance(controller.gameObject.transform.position, PlayerController.Instance.gameObject.transform.position) < controller.unit.enemyStats.stoppingDistance)
        {
            return;
        }

        if (controller.unit.navAgent.agent != null)
        {
            controller.unit.navAgent.MoveToLocation(PlayerController.Instance.transform.position);
        }
    }
Exemple #4
0
 public override void use(UtilityAIHandler controller)
 {
     if (controller.bossUdokEnemyUnit.fireBalls.Count < controller.bossUdokEnemyUnit.maxFireBalls && controller.unit.waitTimer(2f))
     {
         controller.bossUdokEnemyUnit.fireBalls.Add(Instantiate <GameObject>(controller.bossUdokEnemyUnit.fireBallPF, controller.gameObject.transform.position + new Vector3(0, 2, 2), Quaternion.identity, controller.gameObject.transform));
         Projectile proj = controller.bossUdokEnemyUnit.fireBalls[controller.bossUdokEnemyUnit.fireBalls.Count - 1].GetComponent <Projectile>();
         proj.projectileSource = controller.gameObject;
         proj.bossUdok         = controller.bossUdokEnemyUnit;
         proj.damageType       = controller.bossUdokEnemyUnit.damageType;
         proj.startCircleAround();
     }
 }
Exemple #5
0
    public override void use(UtilityAIHandler controller)
    {
        if (controller.bossUdokEnemyUnit.waitTimer(waitShootTimer))
        {
            GameObject proj = controller.bossUdokEnemyUnit.fireBalls[Random.Range(0, controller.bossUdokEnemyUnit.fireBalls.Count)];
            controller.bossUdokEnemyUnit.fireBalls.Remove(proj);
            controller.unit.animator.SetTrigger("Attack");

            if (proj != null)
            {
                proj.GetComponent <Projectile>().ShootToTarget(100f, PlayerController.Instance.transform.position - controller.transform.position);
            }
        }
    }
Exemple #6
0
    public override void use(UtilityAIHandler controller)
    {
        if (controller.wrathEnemyUnit.waitTimer(controller.unit.enemyStats.attackRateMin) && controller.wrathEnemyUnit.currentProj == null)
        {
            controller.wrathEnemyUnit.currentProj = Instantiate(controller.wrathEnemyUnit.projectilePF, controller.wrathEnemyUnit.projectileShootingPos.transform.position, Quaternion.identity, controller.gameObject.transform);
            controller.wrathEnemyUnit.currentProj.transform.localScale = Vector3.zero;
            Projectile proj = controller.wrathEnemyUnit.currentProj.GetComponent <Projectile>();
            proj.projectileSource = controller.gameObject;
            proj.damageType       = controller.unit.damageType;

            controller.unit.animator.SetTrigger("Attack");

            LeanTween.scale(controller.wrathEnemyUnit.currentProj, Vector3.one, 1.5f).setEaseInBounce().setOnComplete(() => {
                proj.ShootToTarget(100f, PlayerController.Instance.transform.position - controller.transform.position);
            });
        }
    }
Exemple #7
0
    public override void Start()
    {
        spriteRend = GetComponentInChildren <SpriteRenderer>();
        baseMat    = spriteRend.material;
        rb         = GetComponent <Rigidbody>();
        navAgent   = GetComponent <NavAgentController>();

        base.Start();

        utilityAI = GetComponent <UtilityAIHandler>();
        vfx       = GetComponentInChildren <ParticleSystem>();
        if (vfx != null)
        {
            vfx.Stop();
        }

        audioSource = GetComponentInChildren <AudioSource>();
    }
Exemple #8
0
 public abstract void use(UtilityAIHandler controller);
 public override void use(UtilityAIHandler controller)
 {
     controller.unit.navAgent.StayInSight(PlayerController.Instance.transform.position, 30, 5, 5);
 }
 public override void use(UtilityAIHandler controller)
 {
     /*if (Vector3.Distance(controller.gameObject.transform.position, PlayerController.Instance.gameObject.transform.position) < controller.navAgent.stoppingDistance)
      *  controller.navAgent.SetDestination(PlayerController.Instance.gameObject.transform.position);*/
 }