Merge MathHelper and FloatMath
Requires space-wizards/RobustToolbox#1234
This commit is contained in:
@@ -106,13 +106,13 @@ namespace Content.Client.Chat
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Lerp to our new vertical offset if it's been modified.
|
// Lerp to our new vertical offset if it's been modified.
|
||||||
if (FloatMath.CloseTo(_verticalOffsetAchieved - VerticalOffset, 0, 0.1))
|
if (MathHelper.CloseTo(_verticalOffsetAchieved - VerticalOffset, 0, 0.1))
|
||||||
{
|
{
|
||||||
_verticalOffsetAchieved = VerticalOffset;
|
_verticalOffsetAchieved = VerticalOffset;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_verticalOffsetAchieved = FloatMath.Lerp(_verticalOffsetAchieved, VerticalOffset, 10 * args.DeltaSeconds);
|
_verticalOffsetAchieved = MathHelper.Lerp(_verticalOffsetAchieved, VerticalOffset, 10 * args.DeltaSeconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
var worldPos = _senderEntity.Transform.WorldPosition;
|
var worldPos = _senderEntity.Transform.WorldPosition;
|
||||||
@@ -122,7 +122,7 @@ namespace Content.Client.Chat
|
|||||||
var screenPos = lowerCenter - (Width / 2, ContentHeight + _verticalOffsetAchieved);
|
var screenPos = lowerCenter - (Width / 2, ContentHeight + _verticalOffsetAchieved);
|
||||||
LayoutContainer.SetPosition(this, screenPos);
|
LayoutContainer.SetPosition(this, screenPos);
|
||||||
|
|
||||||
var height = FloatMath.Clamp(lowerCenter.Y - screenPos.Y, 0, ContentHeight);
|
var height = MathHelper.Clamp(lowerCenter.Y - screenPos.Y, 0, ContentHeight);
|
||||||
LayoutContainer.SetSize(this, (Size.X, height));
|
LayoutContainer.SetSize(this, (Size.X, height));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,12 +113,12 @@ namespace Content.Client.GameObjects.Components.Disposal
|
|||||||
if (normalized <= leftSideSize)
|
if (normalized <= leftSideSize)
|
||||||
{
|
{
|
||||||
normalized /= leftSideSize; // Adjust range to 0.0 to 1.0
|
normalized /= leftSideSize; // Adjust range to 0.0 to 1.0
|
||||||
finalHue = FloatMath.Lerp(leftHue, middleHue, normalized);
|
finalHue = MathHelper.Lerp(leftHue, middleHue, normalized);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
normalized = (normalized - leftSideSize) / rightSideSize; // Adjust range to 0.0 to 1.0.
|
normalized = (normalized - leftSideSize) / rightSideSize; // Adjust range to 0.0 to 1.0.
|
||||||
finalHue = FloatMath.Lerp(middleHue, rightHue, normalized);
|
finalHue = MathHelper.Lerp(middleHue, rightHue, normalized);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if null first to avoid repeatedly creating this.
|
// Check if null first to avoid repeatedly creating this.
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ namespace Content.Client.GameObjects.Components
|
|||||||
|
|
||||||
int level;
|
int level;
|
||||||
|
|
||||||
if (FloatMath.CloseTo(charge, 0))
|
if (MathHelper.CloseTo(charge, 0))
|
||||||
{
|
{
|
||||||
level = 0;
|
level = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ namespace Content.Client.GameObjects.Components
|
|||||||
|
|
||||||
if (int.TryParse(ev.Text, out var result))
|
if (int.TryParse(ev.Text, out var result))
|
||||||
{
|
{
|
||||||
result = FloatMath.Clamp(result, 0, byte.MaxValue);
|
result = MathHelper.Clamp(result, 0, byte.MaxValue);
|
||||||
|
|
||||||
_ignoreEvents = true;
|
_ignoreEvents = true;
|
||||||
_colorValue = (byte) result;
|
_colorValue = (byte) result;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ namespace Content.Client.GameObjects.Components.Mobs
|
|||||||
// Continually restore camera to 0.
|
// Continually restore camera to 0.
|
||||||
var normalized = _currentKick.Normalized;
|
var normalized = _currentKick.Normalized;
|
||||||
_lastKickTime += frameTime;
|
_lastKickTime += frameTime;
|
||||||
var restoreRate = FloatMath.Lerp(RestoreRateMin, RestoreRateMax, Math.Min(1, _lastKickTime/RestoreRateRamp));
|
var restoreRate = MathHelper.Lerp(RestoreRateMin, RestoreRateMax, Math.Min(1, _lastKickTime/RestoreRateRamp));
|
||||||
var restore = normalized * restoreRate * frameTime;
|
var restore = normalized * restoreRate * frameTime;
|
||||||
var (x, y) = _currentKick - restore;
|
var (x, y) = _currentKick - restore;
|
||||||
if (Math.Sign(x) != Math.Sign(_currentKick.X))
|
if (Math.Sign(x) != Math.Sign(_currentKick.X))
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ namespace Content.Client.GameObjects.Components.Mobs
|
|||||||
var progress = (_gameTiming.CurTime - start).TotalSeconds / length;
|
var progress = (_gameTiming.CurTime - start).TotalSeconds / length;
|
||||||
var ratio = (progress <= 1 ? (1 - progress) : (_gameTiming.CurTime - end).TotalSeconds * -5);
|
var ratio = (progress <= 1 ? (1 - progress) : (_gameTiming.CurTime - end).TotalSeconds * -5);
|
||||||
|
|
||||||
cooldownGraphic.Progress = FloatMath.Clamp((float)ratio, -1, 1);
|
cooldownGraphic.Progress = MathHelper.Clamp((float)ratio, -1, 1);
|
||||||
cooldownGraphic.Visible = ratio > -1f;
|
cooldownGraphic.Visible = ratio > -1f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,12 +86,12 @@ namespace Content.Client.GameObjects.Components.Power
|
|||||||
if (normalizedCharge <= leftSideSize)
|
if (normalizedCharge <= leftSideSize)
|
||||||
{
|
{
|
||||||
normalizedCharge /= leftSideSize; // Adjust range to 0.0 to 1.0
|
normalizedCharge /= leftSideSize; // Adjust range to 0.0 to 1.0
|
||||||
finalHue = FloatMath.Lerp(leftHue, middleHue, normalizedCharge);
|
finalHue = MathHelper.Lerp(leftHue, middleHue, normalizedCharge);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
normalizedCharge = (normalizedCharge - leftSideSize) / rightSideSize; // Adjust range to 0.0 to 1.0.
|
normalizedCharge = (normalizedCharge - leftSideSize) / rightSideSize; // Adjust range to 0.0 to 1.0.
|
||||||
finalHue = FloatMath.Lerp(middleHue, rightHue, normalizedCharge);
|
finalHue = MathHelper.Lerp(middleHue, rightHue, normalizedCharge);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if null first to avoid repeatedly creating this.
|
// Check if null first to avoid repeatedly creating this.
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ namespace Content.Client.GameObjects.Components.Weapons
|
|||||||
const float xOffset = 0.0f;
|
const float xOffset = 0.0f;
|
||||||
|
|
||||||
// Overkill but easy to adjust if you want to mess around with the design
|
// Overkill but easy to adjust if you want to mess around with the design
|
||||||
var result = (float) FloatMath.Clamp(slope * (float) Math.Pow(ratio - xOffset, exponent) + yOffset, 0.0, 1.0);
|
var result = (float) MathHelper.Clamp(slope * (float) Math.Pow(ratio - xOffset, exponent) + yOffset, 0.0, 1.0);
|
||||||
DebugTools.Assert(!float.IsNaN(result));
|
DebugTools.Assert(!float.IsNaN(result));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace Content.Client.UserInterface
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var alpha = FloatMath.Clamp(0.5f * lerp, 0f, 0.5f);
|
var alpha = MathHelper.Clamp(0.5f * lerp, 0f, 0.5f);
|
||||||
color = new Color(1f, 1f, 1f, alpha);
|
color = new Color(1f, 1f, 1f, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ namespace Content.Client.UserInterface
|
|||||||
var progress = (_gameTiming.CurTime - start).TotalSeconds / length;
|
var progress = (_gameTiming.CurTime - start).TotalSeconds / length;
|
||||||
var ratio = (progress <= 1 ? (1 - progress) : (_gameTiming.CurTime - end).TotalSeconds * -5);
|
var ratio = (progress <= 1 ? (1 - progress) : (_gameTiming.CurTime - end).TotalSeconds * -5);
|
||||||
|
|
||||||
cooldownDisplay.Progress = FloatMath.Clamp((float)ratio, -1, 1);
|
cooldownDisplay.Progress = MathHelper.Clamp((float)ratio, -1, 1);
|
||||||
|
|
||||||
if (ratio > -1f)
|
if (ratio > -1f)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace Content.Server.AI.Utility.Considerations
|
|||||||
var modificationFactor = 1.0f - 1.0f / considerationsCount;
|
var modificationFactor = 1.0f - 1.0f / considerationsCount;
|
||||||
var makeUpValue = (1.0f - score) * modificationFactor;
|
var makeUpValue = (1.0f - score) * modificationFactor;
|
||||||
var adjustedScore = score + makeUpValue * score;
|
var adjustedScore = score + makeUpValue * score;
|
||||||
return FloatMath.Clamp(adjustedScore, 0.0f, 1.0f);
|
return MathHelper.Clamp(adjustedScore, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Pure]
|
[Pure]
|
||||||
@@ -59,7 +59,7 @@ namespace Content.Server.AI.Utility.Considerations
|
|||||||
[Pure]
|
[Pure]
|
||||||
private static float LogisticCurve(float x, float slope, float exponent, float yOffset, float xOffset)
|
private static float LogisticCurve(float x, float slope, float exponent, float yOffset, float xOffset)
|
||||||
{
|
{
|
||||||
return FloatMath.Clamp(
|
return MathHelper.Clamp(
|
||||||
exponent * (1 / (1 + (float) Math.Pow(Math.Log(1000) * slope, -1 * x + xOffset))) + yOffset, 0.0f, 1.0f);
|
exponent * (1 / (1 + (float) Math.Pow(Math.Log(1000) * slope, -1 * x + xOffset))) + yOffset, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ namespace Content.Server.AI.Utility.Considerations
|
|||||||
[Pure]
|
[Pure]
|
||||||
private static float QuadraticCurve(float x, float slope, float exponent, float yOffset, float xOffset)
|
private static float QuadraticCurve(float x, float slope, float exponent, float yOffset, float xOffset)
|
||||||
{
|
{
|
||||||
return FloatMath.Clamp(slope * (float) Math.Pow(x - xOffset, exponent) + yOffset, 0.0f, 1.0f);
|
return MathHelper.Clamp(slope * (float) Math.Pow(x - xOffset, exponent) + yOffset, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Func<float> QuadraticCurve(Blackboard context, float slope, float exponent, float yOffset, float xOffset)
|
public Func<float> QuadraticCurve(Blackboard context, float slope, float exponent, float yOffset, float xOffset)
|
||||||
|
|||||||
@@ -53,14 +53,14 @@ namespace Content.Server.Atmos
|
|||||||
{
|
{
|
||||||
if (throwTarget != GridCoordinates.InvalidGrid)
|
if (throwTarget != GridCoordinates.InvalidGrid)
|
||||||
{
|
{
|
||||||
var moveForce = maxForce * FloatMath.Clamp(moveProb, 0, 100) / 150f;
|
var moveForce = maxForce * MathHelper.Clamp(moveProb, 0, 100) / 150f;
|
||||||
var pos = ((throwTarget.Position - transform.GridPosition.Position).Normalized + direction.ToVec()).Normalized;
|
var pos = ((throwTarget.Position - transform.GridPosition.Position).Normalized + direction.ToVec()).Normalized;
|
||||||
LinearVelocity = pos * moveForce;
|
LinearVelocity = pos * moveForce;
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var moveForce = MathF.Min(maxForce * FloatMath.Clamp(moveProb, 0, 100) / 2500f, 20f);
|
var moveForce = MathF.Min(maxForce * MathHelper.Clamp(moveProb, 0, 100) / 2500f, 20f);
|
||||||
LinearVelocity = direction.ToVec() * moveForce;
|
LinearVelocity = direction.ToVec() * moveForce;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ namespace Content.Server.Atmos
|
|||||||
{
|
{
|
||||||
if(_soundCooldown == 0)
|
if(_soundCooldown == 0)
|
||||||
EntitySystem.Get<AudioSystem>().PlayAtCoords("/Audio/Effects/space_wind.ogg",
|
EntitySystem.Get<AudioSystem>().PlayAtCoords("/Audio/Effects/space_wind.ogg",
|
||||||
GridIndices.ToGridCoordinates(_mapManager, GridIndex), AudioHelpers.WithVariation(0.125f).WithVolume(FloatMath.Clamp(PressureDifference / 10, 10, 100)));
|
GridIndices.ToGridCoordinates(_mapManager, GridIndex), AudioHelpers.WithVariation(0.125f).WithVolume(MathHelper.Clamp(PressureDifference / 10, 10, 100)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1021,7 +1021,7 @@ namespace Content.Server.Atmos
|
|||||||
|
|
||||||
private void HandleDecompressionFloorRip(float sum)
|
private void HandleDecompressionFloorRip(float sum)
|
||||||
{
|
{
|
||||||
var chance = FloatMath.Clamp(sum / 500, 0.005f, 0.5f);
|
var chance = MathHelper.Clamp(sum / 500, 0.005f, 0.5f);
|
||||||
if (sum > 20 && _robustRandom.Prob(chance))
|
if (sum > 20 && _robustRandom.Prob(chance))
|
||||||
_gridAtmosphereComponent.PryTile(GridIndices);
|
_gridAtmosphereComponent.PryTile(GridIndices);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ namespace Content.Server.GameObjects.Components.Power
|
|||||||
|
|
||||||
private void SetCurrentCharge(float newChargeAmount)
|
private void SetCurrentCharge(float newChargeAmount)
|
||||||
{
|
{
|
||||||
_currentCharge = FloatMath.Clamp(newChargeAmount, 0, MaxCharge);
|
_currentCharge = MathHelper.Clamp(newChargeAmount, 0, MaxCharge);
|
||||||
UpdateStorageState();
|
UpdateStorageState();
|
||||||
OnChargeChanged();
|
OnChargeChanged();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Barrels
|
|||||||
{
|
{
|
||||||
var currentTime = _gameTiming.CurTime;
|
var currentTime = _gameTiming.CurTime;
|
||||||
var timeSinceLastFire = (currentTime - _lastFire).TotalSeconds;
|
var timeSinceLastFire = (currentTime - _lastFire).TotalSeconds;
|
||||||
var newTheta = FloatMath.Clamp(_currentAngle.Theta + _angleIncrease - _angleDecay * timeSinceLastFire, _minAngle.Theta, _maxAngle.Theta);
|
var newTheta = MathHelper.Clamp(_currentAngle.Theta + _angleIncrease - _angleDecay * timeSinceLastFire, _minAngle.Theta, _maxAngle.Theta);
|
||||||
_currentAngle = new Angle(newTheta);
|
_currentAngle = new Angle(newTheta);
|
||||||
|
|
||||||
var random = (_robustRandom.NextDouble() - 0.5) * 2;
|
var random = (_robustRandom.NextDouble() - 0.5) * 2;
|
||||||
|
|||||||
@@ -647,7 +647,7 @@ namespace Content.Server.GameObjects.EntitySystems.AI.Steering
|
|||||||
var additionalVector = (centerGrid.Position - entityGridCoords.Position);
|
var additionalVector = (centerGrid.Position - entityGridCoords.Position);
|
||||||
var distance = additionalVector.Length;
|
var distance = additionalVector.Length;
|
||||||
// If we're too far no point, if we're close then cap it at the normalized vector
|
// If we're too far no point, if we're close then cap it at the normalized vector
|
||||||
distance = FloatMath.Clamp(2.5f - distance, 0.0f, 1.0f);
|
distance = MathHelper.Clamp(2.5f - distance, 0.0f, 1.0f);
|
||||||
additionalVector = new Angle(90 * distance).RotateVec(additionalVector);
|
additionalVector = new Angle(90 * distance).RotateVec(additionalVector);
|
||||||
avoidanceVector += additionalVector;
|
avoidanceVector += additionalVector;
|
||||||
// if we do need to avoid that means we'll have to lookahead for the next tile
|
// if we do need to avoid that means we'll have to lookahead for the next tile
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ namespace Content.Server.GameTicking.GamePresets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var numTraitors = FloatMath.Clamp(readyPlayers.Count % PlayersPerTraitor,
|
var numTraitors = MathHelper.Clamp(readyPlayers.Count % PlayersPerTraitor,
|
||||||
MinTraitors, readyPlayers.Count);
|
MinTraitors, readyPlayers.Count);
|
||||||
|
|
||||||
for (var i = 0; i < numTraitors; i++)
|
for (var i = 0; i < numTraitors; i++)
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ namespace Content.Server.Preferences
|
|||||||
await _prefsSemaphore.WaitAsync();
|
await _prefsSemaphore.WaitAsync();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
index = FloatMath.Clamp(index, 0, _maxCharacterSlots - 1);
|
index = MathHelper.Clamp(index, 0, _maxCharacterSlots - 1);
|
||||||
await _prefsDb.SaveSelectedCharacterIndex(username, index);
|
await _prefsDb.SaveSelectedCharacterIndex(username, index);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|||||||
Reference in New Issue
Block a user