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); } }
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(); } }
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); } } }
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); }); } }
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>(); }
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);*/ }