void Awake() { bossAttackController = GetComponent <BossAttackController>(); bossMovementController = GetComponent <BossMovementController>(); currentHealth = maxHealth; if (hpText) { hpText.text = currentHealth + "/" + maxHealth; } }
public override void Perform(GameInstanceManager gameInstance) { BossMovementController bossMovementScript = gameInstance.boss.GetComponent <BossMovementController>(); Vector3 targetPos = gameInstance.transform.position; if (coordinateName != CoordinateName.none) { targetPos += Coordinate.getCoordinate(coordinateName).transform.position; } else { targetPos += new Vector3(xPos, 2, zPos); } bossMovementScript.MoveToPosition(targetPos, timeToMove, delaybefore); }
override public void Perform(GameInstanceManager gameInstance) { BossMovementController bossMovementScript = gameInstance.boss.GetComponent <BossMovementController>(); Vector3 targetPos; Vector3 bossPosition = gameInstance.boss.transform.position; Vector3 playerPosition = gameInstance.player.transform.position; playerPosition.y = 0; bossPosition.y = 0; float distance = Vector3.Distance(playerPosition, bossPosition); Vector3 vectorTowardPlayer = (new Vector3(playerPosition.x - bossPosition.x, 0, playerPosition.z - bossPosition.z)).normalized; targetPos = gameInstance.boss.transform.position + vectorTowardPlayer * (distance + distanceOffset); bossMovementScript.MoveToPosition(targetPos, timeToMove, delaybefore); }