示例#1
0
    void Awake()
    {
        bossAttackController   = GetComponent <BossAttackController>();
        bossMovementController = GetComponent <BossMovementController>();
        currentHealth          = maxHealth;

        if (hpText)
        {
            hpText.text = currentHealth + "/" + maxHealth;
        }
    }
示例#2
0
    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);
    }
示例#3
0
    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);
    }