override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { ai = animator.GetComponent <Trex>(); perception = animator.GetComponent <Perception>(); shootTimer = ai.attackCooldown; aiProjectile = ai.projectile; rigidbody = ai.GetComponent <Rigidbody2D>(); spriteRenderer = ai.GetComponent <SpriteRenderer>(); aimOrigin = ai.aimOrigin; }
void Shoot() { GameObject spawnedProjectile = Instantiate(projectilePrefab, transform); spawnedProjectile.transform.localPosition = Vector3.zero; spawnedProjectile.transform.localRotation = Quaternion.identity; spawnedProjectile.transform.parent = null; AIProjectile aiProjectile = spawnedProjectile.GetComponent <AIProjectile>(); aiProjectile.Setup(); }
void Shoot() { if (perception.targetTransform == null) { return; } AIProjectile projectile = Instantiate(aiProjectile, firingPos, aimOrigin.rotation); projectile.InitialiseProjectile(ai.attackDamage, directionToTarget, ai.projectileForce, ai.attackRange); if (SoundManager.instance != null) { SoundManager.instance.PlaySFX("SFX_AILaser"); } }
private void OnTriggerEnter2D(Collider2D col) { switch (col.tag) { case "HealthPickup": HealthPickup healthPickup = col.GetComponent <HealthPickup>(); ModifyHealth(healthPickup.healthBoost); ModifyShield(healthPickup.shieldBoost); Destroy(col.gameObject); break; case "EnemyProjectile": AIProjectile aiProjectile = col.GetComponent <AIProjectile>(); ModifyShield(-aiProjectile.projectileData.damage); Destroy(aiProjectile.gameObject); break; } }