Beispiel #1
0
    public void HandleBarrelHit(GameObject barrelObjHit)
    {
        HandleBarrelBeat(barrelObjHit);

        float rotationDuration = DifficultyManager.MoveDurationBasedOnDifficulty();

        Barrel barrelObjHitBarrelScript = barrelObjHit.gameObject.GetComponent <Barrel>();

        barrelObjHitBarrelScript.HoldPlayer();

        int potentialNextBarrelIndex = barrels.IndexOf(barrelHolingPlayer) + 1;

        nextBarrel = potentialNextBarrelIndex < barrels.Count ? barrels[potentialNextBarrelIndex] : null;

        if (barrelsToJump > 0)
        {
            barrelObjHitBarrelScript.AutoFire(0.5f);
            barrelsToJump--;
        }
        else
        {
            MoveBehaviour barrelObjHitMoveBehaviour = barrelObjHit.gameObject.GetComponent <MoveBehaviour>();
            barrelObjHitMoveBehaviour.Activate(); //barrel will only move after the move duration, witch is the rotation duration
            barrelObjHitMoveBehaviour.RotateToInitialAngle(rotationDuration);
        }



        if (nextBarrel)
        {
            FocusCameraOnBarrel(nextBarrel);
        }

        HandleBarrelsJumped();
    }