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); }
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); } }
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(); } }
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); } }
private void Move(MovingDiractions Diraction) { BallBody.AddForce(ForceVectorByDiraction(Diraction)); }