Example #1
0
    private Vector3 ForceVectorByDiraction(MovingDiractions Diraction)
    {
        Vector3 ResultVector;

        switch (Diraction)
        {
        case MovingDiractions.Forward:
            ResultVector = Functions.SetFlatMagnitude(ForwardPoint - transform.position, GetIntensivity(Diraction));
            break;

        case MovingDiractions.Backward:
            ResultVector = Functions.SetFlatMagnitude(BackwardPoint - transform.position, GetIntensivity(Diraction));
            break;

        case MovingDiractions.Left:
            ResultVector = Functions.SetFlatMagnitude(LeftPoint - transform.position, GetIntensivity(Diraction));
            break;

        case MovingDiractions.Right:
            ResultVector = Functions.SetFlatMagnitude(RightPoint - transform.position, GetIntensivity(Diraction));
            break;

        default:
            Debug.LogError("Cant compute vector for unknown diraction" + Diraction.ToString());
            ResultVector = Vector3.zero;
            break;
        }
        Logger.AddContent(UILogDataTypes.PressedButton, "Ball diraction - " + Diraction.ToString(), true);
        if (writeLog)
        {
            Functions.DrawTemporalLine(transform.position, transform.position + ResultVector);
        }
        return(ResultVector);
    }
Example #2
0
    private float GetIntensivity(MovingDiractions diraction)
    {
        switch (diraction)
        {
        case MovingDiractions.Forward:
            if (isInTheAir)
            {
                //return Settings.ballInAirMoveIntensivity; Временно перенесены из сеттингов для тюнинга
                return(ballInAirMoveIntensivity);
            }
            else
            {
                //return Settings.ballMoveIntensivity;
                return(ballMoveIntensivity);
            }

        case MovingDiractions.Backward:
            if (isInTheAir)
            {
                //return Settings.ballInAirMoveIntensivity;
                return(ballInAirMoveIntensivity);
            }
            else
            {
                //return Settings.ballMoveIntensivity;
                return(ballMoveIntensivity);
            }

        case MovingDiractions.Left:
            if (isInTheAir)
            {
                //return Settings.ballInAirSideMoveIntensivity;
                return(ballInAirSideMoveIntensivity);
            }
            else
            {
                //return Settings.ballSideMoveIntensivity;
                return(ballSideMoveIntensivity);
            }

        case MovingDiractions.Right:
            if (isInTheAir)
            {
                //return Settings.ballInAirSideMoveIntensivity;
                return(ballInAirSideMoveIntensivity);
            }
            else
            {
                //return Settings.ballSideMoveIntensivity;
                return(ballSideMoveIntensivity);
            }

        default:
            Debug.LogError("Cant get intensivity for unknown diraction " + diraction.ToString());
            return(0f);
        }
    }
Example #3
0
 private void Move(MovingDiractions Diraction)
 {
     if (spentEnergy < Settings.levelEnergy)
     {
         BallBody.AddForce(NormalizedForceVectorByDiraction(Diraction));
         spentEnergy += NormalizedForceVectorByDiraction(Diraction).magnitude *Settings.energyMultiplyer;
         Logger.UpdateContent(UILogDataTypes.EnergyAmount, "Energy spent: " + spentEnergy + "/" + Settings.levelEnergy);
     }
     else
     {
         Defeat();
     }
 }
Example #4
0
    private float GetIntensivity(MovingDiractions diraction)
    {
        switch (diraction)
        {
        case MovingDiractions.Forward:
            if (isInTheAir)
            {
                return(ballInAirMoveIntensivity);
            }
            else
            {
                return(ballMoveIntensivity);
            }

        case MovingDiractions.Backward:
            if (isInTheAir)
            {
                return(ballInAirMoveIntensivity);
            }
            else
            {
                return(ballMoveIntensivity);
            }

        case MovingDiractions.Left:
            if (isInTheAir)
            {
                return(ballInAirSideMoveIntensivity);
            }
            else
            {
                return(ballSideMoveIntensivity);
            }

        case MovingDiractions.Right:
            if (isInTheAir)
            {
                return(ballInAirSideMoveIntensivity);
            }
            else
            {
                return(ballSideMoveIntensivity);
            }

        default:
            Debug.LogError("Cant get intensivity for unknown diraction " + diraction.ToString());
            return(0f);
        }
    }
Example #5
0
 private void Move(MovingDiractions Diraction)
 {
     BallBody.AddForce(ForceVectorByDiraction(Diraction));
 }