rename WDist.Range to WDist.Length

This commit is contained in:
Matthias Mailänder
2015-07-06 18:58:21 +02:00
parent 7447e0bf93
commit 413baf9d8b
35 changed files with 85 additions and 85 deletions

View File

@@ -196,7 +196,7 @@ namespace OpenRA.Graphics
public void DrawRangeCircle(WPos pos, WDist range, Color c) public void DrawRangeCircle(WPos pos, WDist range, Color c)
{ {
var offset = new WVec(range.Range, 0, 0); var offset = new WVec(range.Length, 0, 0);
for (var i = 0; i < 32; i++) for (var i = 0; i < 32; i++)
{ {
var pa = pos + offset.Rotate(WRot.FromFacing(8 * i)); var pa = pos + offset.Rotate(WRot.FromFacing(8 * i));

View File

@@ -74,7 +74,7 @@ namespace OpenRA.Traits
public static IEnumerable<CPos> CellsInRange(Map map, WPos pos, WDist range) public static IEnumerable<CPos> CellsInRange(Map map, WPos pos, WDist range)
{ {
var r = (range.Range + 1023) / 1024; var r = (range.Length + 1023) / 1024;
var limit = range.RangeSquared; var limit = range.RangeSquared;
var cell = map.CellContaining(pos); var cell = map.CellContaining(pos);

View File

@@ -22,25 +22,25 @@ namespace OpenRA
/// </summary> /// </summary>
public struct WDist : IComparable, IComparable<WDist>, IEquatable<WDist>, IScriptBindable, ILuaAdditionBinding, ILuaSubtractionBinding, ILuaEqualityBinding, ILuaTableBinding public struct WDist : IComparable, IComparable<WDist>, IEquatable<WDist>, IScriptBindable, ILuaAdditionBinding, ILuaSubtractionBinding, ILuaEqualityBinding, ILuaTableBinding
{ {
public readonly int Range; public readonly int Length;
public long RangeSquared { get { return (long)Range * (long)Range; } } public long RangeSquared { get { return (long)Length * (long)Length; } }
public WDist(int r) { Range = r; } public WDist(int r) { Length = r; }
public static readonly WDist Zero = new WDist(0); public static readonly WDist Zero = new WDist(0);
public static WDist FromCells(int cells) { return new WDist(1024 * cells); } public static WDist FromCells(int cells) { return new WDist(1024 * cells); }
public static WDist operator +(WDist a, WDist b) { return new WDist(a.Range + b.Range); } public static WDist operator +(WDist a, WDist b) { return new WDist(a.Length + b.Length); }
public static WDist operator -(WDist a, WDist b) { return new WDist(a.Range - b.Range); } public static WDist operator -(WDist a, WDist b) { return new WDist(a.Length - b.Length); }
public static WDist operator -(WDist a) { return new WDist(-a.Range); } public static WDist operator -(WDist a) { return new WDist(-a.Length); }
public static WDist operator /(WDist a, int b) { return new WDist(a.Range / b); } public static WDist operator /(WDist a, int b) { return new WDist(a.Length / b); }
public static WDist operator *(WDist a, int b) { return new WDist(a.Range * b); } public static WDist operator *(WDist a, int b) { return new WDist(a.Length * b); }
public static WDist operator *(int a, WDist b) { return new WDist(a * b.Range); } public static WDist operator *(int a, WDist b) { return new WDist(a * b.Length); }
public static bool operator <(WDist a, WDist b) { return a.Range < b.Range; } public static bool operator <(WDist a, WDist b) { return a.Length < b.Length; }
public static bool operator >(WDist a, WDist b) { return a.Range > b.Range; } public static bool operator >(WDist a, WDist b) { return a.Length > b.Length; }
public static bool operator <=(WDist a, WDist b) { return a.Range <= b.Range; } public static bool operator <=(WDist a, WDist b) { return a.Length <= b.Length; }
public static bool operator >=(WDist a, WDist b) { return a.Range >= b.Range; } public static bool operator >=(WDist a, WDist b) { return a.Length >= b.Length; }
public static bool operator ==(WDist me, WDist other) { return me.Range == other.Range; } public static bool operator ==(WDist me, WDist other) { return me.Length == other.Length; }
public static bool operator !=(WDist me, WDist other) { return !(me == other); } public static bool operator !=(WDist me, WDist other) { return !(me == other); }
// Sampled a N-sample probability density function in the range [-1024..1024] // Sampled a N-sample probability density function in the range [-1024..1024]
@@ -88,7 +88,7 @@ namespace OpenRA
return true; return true;
} }
public override int GetHashCode() { return Range.GetHashCode(); } public override int GetHashCode() { return Length.GetHashCode(); }
public bool Equals(WDist other) { return other == this; } public bool Equals(WDist other) { return other == this; }
public override bool Equals(object obj) { return obj is WDist && Equals((WDist)obj); } public override bool Equals(object obj) { return obj is WDist && Equals((WDist)obj); }
@@ -97,12 +97,12 @@ namespace OpenRA
{ {
if (!(obj is WDist)) if (!(obj is WDist))
return 1; return 1;
return Range.CompareTo(((WDist)obj).Range); return Length.CompareTo(((WDist)obj).Length);
} }
public int CompareTo(WDist other) { return Range.CompareTo(other.Range); } public int CompareTo(WDist other) { return Length.CompareTo(other.Length); }
public override string ToString() { return Range.ToString(); } public override string ToString() { return Length.ToString(); }
#region Scripting interface #region Scripting interface
public LuaValue Add(LuaRuntime runtime, LuaValue left, LuaValue right) public LuaValue Add(LuaRuntime runtime, LuaValue left, LuaValue right)
@@ -141,7 +141,7 @@ namespace OpenRA
{ {
switch (key.ToString()) switch (key.ToString())
{ {
case "Range": return Range; case "Range": return Length;
default: throw new LuaException("WPos does not define a member '{0}'".F(key)); default: throw new LuaException("WPos does not define a member '{0}'".F(key));
} }
} }

View File

@@ -22,7 +22,7 @@ namespace OpenRA
public readonly int X, Y, Z; public readonly int X, Y, Z;
public WPos(int x, int y, int z) { X = x; Y = y; Z = z; } public WPos(int x, int y, int z) { X = x; Y = y; Z = z; }
public WPos(WDist x, WDist y, WDist z) { X = x.Range; Y = y.Range; Z = z.Range; } public WPos(WDist x, WDist y, WDist z) { X = x.Length; Y = y.Length; Z = z.Length; }
public static readonly WPos Zero = new WPos(0, 0, 0); public static readonly WPos Zero = new WPos(0, 0, 0);

View File

@@ -21,7 +21,7 @@ namespace OpenRA
public readonly int X, Y, Z; public readonly int X, Y, Z;
public WVec(int x, int y, int z) { X = x; Y = y; Z = z; } public WVec(int x, int y, int z) { X = x; Y = y; Z = z; }
public WVec(WDist x, WDist y, WDist z) { X = x.Range; Y = y.Range; Z = z.Range; } public WVec(WDist x, WDist y, WDist z) { X = x.Length; Y = y.Length; Z = z.Length; }
public static readonly WVec Zero = new WVec(0, 0, 0); public static readonly WVec Zero = new WVec(0, 0, 0);

View File

@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Common.AI
foreach (var consideration in Considerations) foreach (var consideration in Considerations)
{ {
var radiusToUse = new WDist(consideration.CheckRadius.Range); var radiusToUse = new WDist(consideration.CheckRadius.Length);
var checkActors = world.FindActorsInCircle(pos, radiusToUse); var checkActors = world.FindActorsInCircle(pos, radiusToUse);
foreach (var scrutinized in checkActors) foreach (var scrutinized in checkActors)

View File

@@ -42,10 +42,10 @@ namespace OpenRA.Mods.Common.Activities
plane.Facing = Util.TickFacing(plane.Facing, desiredFacing, plane.ROT); plane.Facing = Util.TickFacing(plane.Facing, desiredFacing, plane.ROT);
if (altitude != desiredAltitude.Range) if (altitude != desiredAltitude.Length)
{ {
var delta = move.HorizontalLength * plane.Info.MaximumPitch.Tan() / 1024; var delta = move.HorizontalLength * plane.Info.MaximumPitch.Tan() / 1024;
var dz = (desiredAltitude.Range - altitude).Clamp(-delta, delta); var dz = (desiredAltitude.Length - altitude).Clamp(-delta, delta);
move += new WVec(0, 0, dz); move += new WVec(0, 0, dz);
} }
@@ -58,8 +58,8 @@ namespace OpenRA.Mods.Common.Activities
return NextActivity; return NextActivity;
// Inside the target annulus, so we're done // Inside the target annulus, so we're done
var insideMaxRange = maxRange.Range > 0 && target.IsInRange(plane.CenterPosition, maxRange); var insideMaxRange = maxRange.Length > 0 && target.IsInRange(plane.CenterPosition, maxRange);
var insideMinRange = minRange.Range > 0 && target.IsInRange(plane.CenterPosition, minRange); var insideMinRange = minRange.Length > 0 && target.IsInRange(plane.CenterPosition, minRange);
if (insideMaxRange && !insideMinRange) if (insideMaxRange && !insideMinRange)
return NextActivity; return NextActivity;
@@ -71,7 +71,7 @@ namespace OpenRA.Mods.Common.Activities
var desiredFacing = Util.GetFacing(d, plane.Facing); var desiredFacing = Util.GetFacing(d, plane.Facing);
// Don't turn until we've reached the cruise altitude // Don't turn until we've reached the cruise altitude
if (plane.CenterPosition.Z < plane.Info.CruiseAltitude.Range) if (plane.CenterPosition.Z < plane.Info.CruiseAltitude.Length)
desiredFacing = plane.Facing; desiredFacing = plane.Facing;
FlyToward(self, plane, desiredFacing, plane.Info.CruiseAltitude); FlyToward(self, plane, desiredFacing, plane.Info.CruiseAltitude);

View File

@@ -38,11 +38,11 @@ namespace OpenRA.Mods.Common.Activities
public static bool AdjustAltitude(Actor self, Helicopter helicopter, WDist targetAltitude) public static bool AdjustAltitude(Actor self, Helicopter helicopter, WDist targetAltitude)
{ {
var altitude = helicopter.CenterPosition.Z; var altitude = helicopter.CenterPosition.Z;
if (altitude == targetAltitude.Range) if (altitude == targetAltitude.Length)
return false; return false;
var delta = helicopter.Info.AltitudeVelocity.Range; var delta = helicopter.Info.AltitudeVelocity.Length;
var dz = (targetAltitude.Range - altitude).Clamp(-delta, delta); var dz = (targetAltitude.Length - altitude).Clamp(-delta, delta);
helicopter.SetPosition(self, helicopter.CenterPosition + new WVec(0, 0, dz)); helicopter.SetPosition(self, helicopter.CenterPosition + new WVec(0, 0, dz));
return true; return true;
@@ -65,20 +65,20 @@ namespace OpenRA.Mods.Common.Activities
var move = helicopter.FlyStep(desiredFacing); var move = helicopter.FlyStep(desiredFacing);
// Inside the minimum range, so reverse // Inside the minimum range, so reverse
if (minRange.Range > 0 && target.IsInRange(helicopter.CenterPosition, minRange)) if (minRange.Length > 0 && target.IsInRange(helicopter.CenterPosition, minRange))
{ {
helicopter.SetPosition(self, helicopter.CenterPosition - move); helicopter.SetPosition(self, helicopter.CenterPosition - move);
return this; return this;
} }
// Inside the maximum range, so we're done // Inside the maximum range, so we're done
if (maxRange.Range > 0 && target.IsInRange(helicopter.CenterPosition, maxRange)) if (maxRange.Length > 0 && target.IsInRange(helicopter.CenterPosition, maxRange))
return NextActivity; return NextActivity;
// The next move would overshoot, so just set the final position // The next move would overshoot, so just set the final position
if (dist.HorizontalLengthSquared < move.HorizontalLengthSquared) if (dist.HorizontalLengthSquared < move.HorizontalLengthSquared)
{ {
helicopter.SetPosition(self, pos + new WVec(0, 0, helicopter.Info.CruiseAltitude.Range - pos.Z)); helicopter.SetPosition(self, pos + new WVec(0, 0, helicopter.Info.CruiseAltitude.Length - pos.Z));
return NextActivity; return NextActivity;
} }

View File

@@ -58,7 +58,7 @@ namespace OpenRA.Mods.Common.Activities
} }
var landPos = dest.CenterPosition; var landPos = dest.CenterPosition;
var altitude = planeInfo.CruiseAltitude.Range; var altitude = planeInfo.CruiseAltitude.Length;
// Distance required for descent. // Distance required for descent.
var landDistance = altitude * 1024 / planeInfo.MaximumPitch.Tan(); var landDistance = altitude * 1024 / planeInfo.MaximumPitch.Tan();

View File

@@ -218,7 +218,7 @@ namespace OpenRA.Mods.Common.Activities
if (!mobile.CanMoveFreelyInto(nextCell, ignoredActor, true)) if (!mobile.CanMoveFreelyInto(nextCell, ignoredActor, true))
{ {
// Are we close enough? // Are we close enough?
var cellRange = nearEnough.Range / 1024; var cellRange = nearEnough.Length / 1024;
if ((mobile.ToCell - destination.Value).LengthSquared <= cellRange * cellRange) if ((mobile.ToCell - destination.Value).LengthSquared <= cellRange * cellRange)
{ {
path.Clear(); path.Clear();

View File

@@ -45,8 +45,8 @@ namespace OpenRA.Mods.Common.Activities
protected override IEnumerable<CPos> CandidateMovementCells(Actor self) protected override IEnumerable<CPos> CandidateMovementCells(Actor self)
{ {
var map = self.World.Map; var map = self.World.Map;
var maxCells = (maxRange.Range + 1023) / 1024; var maxCells = (maxRange.Length + 1023) / 1024;
var minCells = minRange.Range / 1024; var minCells = minRange.Length / 1024;
var outerSq = maxRange.RangeSquared; var outerSq = maxRange.RangeSquared;
var innerSq = minRange.RangeSquared; var innerSq = minRange.RangeSquared;

View File

@@ -82,20 +82,20 @@ namespace OpenRA.Mods.Common.Effects
angle = info.Angle[0]; angle = info.Angle[0];
if (info.Speed.Length > 1) if (info.Speed.Length > 1)
speed = new WDist(world.SharedRandom.Next(info.Speed[0].Range, info.Speed[1].Range)); speed = new WDist(world.SharedRandom.Next(info.Speed[0].Length, info.Speed[1].Length));
else else
speed = info.Speed[0]; speed = info.Speed[0];
target = args.PassiveTarget; target = args.PassiveTarget;
if (info.Inaccuracy.Range > 0) if (info.Inaccuracy.Length > 0)
{ {
var inaccuracy = OpenRA.Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, args.InaccuracyModifiers); var inaccuracy = OpenRA.Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Length, args.InaccuracyModifiers);
var maxOffset = inaccuracy * (target - pos).Length / args.Weapon.Range.Range; var maxOffset = inaccuracy * (target - pos).Length / args.Weapon.Range.Length;
target += WVec.FromPDF(world.SharedRandom, 2) * maxOffset / 1024; target += WVec.FromPDF(world.SharedRandom, 2) * maxOffset / 1024;
} }
facing = OpenRA.Traits.Util.GetFacing(target - pos, 0); facing = OpenRA.Traits.Util.GetFacing(target - pos, 0);
length = Math.Max((target - pos).Length / speed.Range, 1); length = Math.Max((target - pos).Length / speed.Length, 1);
if (!string.IsNullOrEmpty(info.Image)) if (!string.IsNullOrEmpty(info.Image))
{ {

View File

@@ -101,9 +101,9 @@ namespace OpenRA.Mods.Common.Effects
if (world.SharedRandom.Next(100) <= info.LockOnProbability) if (world.SharedRandom.Next(100) <= info.LockOnProbability)
lockOn = true; lockOn = true;
if (info.Inaccuracy.Range > 0) if (info.Inaccuracy.Length > 0)
{ {
var inaccuracy = OpenRA.Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, args.InaccuracyModifiers); var inaccuracy = OpenRA.Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Length, args.InaccuracyModifiers);
offset = WVec.FromPDF(world.SharedRandom, 2) * inaccuracy / 1024; offset = WVec.FromPDF(world.SharedRandom, 2) * inaccuracy / 1024;
} }
@@ -159,7 +159,7 @@ namespace OpenRA.Mods.Common.Effects
desiredFacing = facing; desiredFacing = facing;
facing = OpenRA.Traits.Util.TickFacing(facing, desiredFacing, info.RateOfTurn); facing = OpenRA.Traits.Util.TickFacing(facing, desiredFacing, info.RateOfTurn);
var move = new WVec(0, -1024, 0).Rotate(WRot.FromFacing(facing)) * info.Speed.Range / 1024; var move = new WVec(0, -1024, 0).Rotate(WRot.FromFacing(facing)) * info.Speed.Length / 1024;
if (pos.Z != desiredAltitude) if (pos.Z != desiredAltitude)
{ {

View File

@@ -104,8 +104,8 @@ namespace OpenRA.Mods.Common.Graphics
{ {
Start = LoadField<int>(d, "Start", 0); Start = LoadField<int>(d, "Start", 0);
ShadowStart = LoadField<int>(d, "ShadowStart", -1); ShadowStart = LoadField<int>(d, "ShadowStart", -1);
ShadowZOffset = LoadField<WDist>(d, "ShadowZOffset", DefaultShadowSpriteZOffset).Range; ShadowZOffset = LoadField<WDist>(d, "ShadowZOffset", DefaultShadowSpriteZOffset).Length;
ZOffset = LoadField<WDist>(d, "ZOffset", WDist.Zero).Range; ZOffset = LoadField<WDist>(d, "ZOffset", WDist.Zero).Length;
Tick = LoadField<int>(d, "Tick", 40); Tick = LoadField<int>(d, "Tick", 40);
transpose = LoadField<bool>(d, "Transpose", false); transpose = LoadField<bool>(d, "Transpose", false);
Frames = LoadField<int[]>(d, "Frames", null); Frames = LoadField<int[]>(d, "Frames", null);

View File

@@ -77,7 +77,7 @@ namespace OpenRA.Mods.Common.Scripting
throw new LuaException("Unknown actor type '{0}'".F(type)); throw new LuaException("Unknown actor type '{0}'".F(type));
var pi = ai.Traits.GetOrDefault<ICruiseAltitudeInfo>(); var pi = ai.Traits.GetOrDefault<ICruiseAltitudeInfo>();
return pi != null ? pi.GetCruiseAltitude().Range : 0; return pi != null ? pi.GetCruiseAltitude().Length : 0;
} }
} }
} }

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Scripting
if (entryLocation.HasValue) if (entryLocation.HasValue)
{ {
var pi = ai.Traits.GetOrDefault<AircraftInfo>(); var pi = ai.Traits.GetOrDefault<AircraftInfo>();
initDict.Add(new CenterPositionInit(owner.World.Map.CenterOfCell(entryLocation.Value) + new WVec(0, 0, pi != null ? pi.CruiseAltitude.Range : 0))); initDict.Add(new CenterPositionInit(owner.World.Map.CenterOfCell(entryLocation.Value) + new WVec(0, 0, pi != null ? pi.CruiseAltitude.Length : 0)));
initDict.Add(new LocationInit(entryLocation.Value)); initDict.Add(new LocationInit(entryLocation.Value));
} }

View File

@@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Traits
// Repulsion only applies when we're flying! // Repulsion only applies when we're flying!
var altitude = CenterPosition.Z; var altitude = CenterPosition.Z;
if (altitude != info.CruiseAltitude.Range) if (altitude != info.CruiseAltitude.Length)
return WVec.Zero; return WVec.Zero;
return self.World.FindActorsInCircle(self.CenterPosition, info.IdealSeparation) return self.World.FindActorsInCircle(self.CenterPosition, info.IdealSeparation)

View File

@@ -75,7 +75,7 @@ namespace OpenRA.Mods.Common.Traits
if (!target.IsInRange(self.CenterPosition, a.Weapon.Range)) if (!target.IsInRange(self.CenterPosition, a.Weapon.Range))
continue; continue;
var t = Target.FromPos(cp - new WVec(0, a.Weapon.Range.Range / 2, cp.Z).Rotate(WRot.FromFacing(f))); var t = Target.FromPos(cp - new WVec(0, a.Weapon.Range.Length / 2, cp.Z).Rotate(WRot.FromFacing(f)));
inAttackRange = true; inAttackRange = true;
a.CheckFire(self, facing.Value, t); a.CheckFire(self, facing.Value, t);
} }

View File

@@ -117,7 +117,7 @@ namespace OpenRA.Mods.Common.Traits
if (FireDelay > 0) if (FireDelay > 0)
--FireDelay; --FireDelay;
Recoil = new WDist(Math.Max(0, Recoil.Range - Info.RecoilRecovery.Range)); Recoil = new WDist(Math.Max(0, Recoil.Length - Info.RecoilRecovery.Length));
for (var i = 0; i < delayedActions.Count; i++) for (var i = 0; i < delayedActions.Count; i++)
{ {

View File

@@ -85,7 +85,7 @@ namespace OpenRA.Mods.Common.Traits
|| (target.Type == TargetType.FrozenActor && target.FrozenActor.Info.Traits.Contains<IMove>()); || (target.Type == TargetType.FrozenActor && target.FrozenActor.Info.Traits.Contains<IMove>());
// Try and sit at least one cell closer than the max range to give some leeway if the target starts moving. // Try and sit at least one cell closer than the max range to give some leeway if the target starts moving.
var maxRange = targetIsMobile ? new WDist(Math.Max(weapon.Weapon.MinRange.Range, weapon.Weapon.Range.Range - 1024)) var maxRange = targetIsMobile ? new WDist(Math.Max(weapon.Weapon.MinRange.Length, weapon.Weapon.Range.Length - 1024))
: weapon.Weapon.Range; : weapon.Weapon.Range;
attack.Target = target; attack.Target = target;

View File

@@ -125,7 +125,7 @@ namespace OpenRA.Mods.Common.Traits
return self.World.ActorsWithTrait<DetectCloaked>().Any(a => !a.Trait.IsTraitDisabled && a.Actor.Owner.IsAlliedWith(viewer) return self.World.ActorsWithTrait<DetectCloaked>().Any(a => !a.Trait.IsTraitDisabled && a.Actor.Owner.IsAlliedWith(viewer)
&& Info.CloakTypes.Intersect(a.Trait.Info.CloakTypes).Any() && Info.CloakTypes.Intersect(a.Trait.Info.CloakTypes).Any()
&& (self.CenterPosition - a.Actor.CenterPosition).Length <= WDist.FromCells(a.Trait.Info.Range).Range); && (self.CenterPosition - a.Actor.CenterPosition).Length <= WDist.FromCells(a.Trait.Info.Range).Length);
} }
public Color RadarColorOverride(Actor self) public Color RadarColorOverride(Actor self)

View File

@@ -61,12 +61,12 @@ namespace OpenRA.Mods.Common.Traits
if (randomize) if (randomize)
attackFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings); attackFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings);
var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Range; var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Length;
var attackRotation = WRot.FromFacing(attackFacing); var attackRotation = WRot.FromFacing(attackFacing);
var delta = new WVec(0, -1024, 0).Rotate(attackRotation); var delta = new WVec(0, -1024, 0).Rotate(attackRotation);
target = target + new WVec(0, 0, altitude); target = target + new WVec(0, 0, altitude);
var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Range * delta / 1024; var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Length * delta / 1024;
var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Range * delta / 1024; var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Length * delta / 1024;
Actor camera = null; Actor camera = null;
Beacon beacon = null; Beacon beacon = null;
@@ -172,7 +172,7 @@ namespace OpenRA.Mods.Common.Traits
Info.BeaconPalettePrefix, Info.BeaconPalettePrefix,
Info.BeaconPoster, Info.BeaconPoster,
Info.BeaconPosterPalette, Info.BeaconPosterPalette,
() => 1 - ((distanceTestActor.CenterPosition - target).HorizontalLength - info.BeaconDistanceOffset.Range) * 1f / distance); () => 1 - ((distanceTestActor.CenterPosition - target).HorizontalLength - info.BeaconDistanceOffset.Length) * 1f / distance);
w.Add(beacon); w.Add(beacon);
} }

View File

@@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Traits
// Calculate final position // Calculate final position
var throwRotation = WRot.FromFacing(Game.CosmeticRandom.Next(1024)); var throwRotation = WRot.FromFacing(Game.CosmeticRandom.Next(1024));
var throwDistance = Game.CosmeticRandom.Next(info.MinThrowRange.Range, info.MaxThrowRange.Range); var throwDistance = Game.CosmeticRandom.Next(info.MinThrowRange.Length, info.MaxThrowRange.Length);
initialPos = pos = info.Offset.Rotate(body.QuantizeOrientation(self, WRot.FromFacing(bodyFacing))); initialPos = pos = info.Offset.Rotate(body.QuantizeOrientation(self, WRot.FromFacing(bodyFacing)));
finalPos = initialPos + new WVec(throwDistance, 0, 0).Rotate(throwRotation); finalPos = initialPos + new WVec(throwDistance, 0, 0).Rotate(throwRotation);
@@ -74,7 +74,7 @@ namespace OpenRA.Mods.Common.Traits
length = (finalPos - initialPos).Length / info.Velocity; length = (finalPos - initialPos).Length / info.Velocity;
// Facing rotation // Facing rotation
rotation = WDist.FromPDF(Game.CosmeticRandom, 2).Range * info.ROT / 1024; rotation = WDist.FromPDF(Game.CosmeticRandom, 2).Length * info.ROT / 1024;
var anim = new Animation(init.World, rs.GetImage(self), () => (int)facing); var anim = new Animation(init.World, rs.GetImage(self), () => (int)facing);
anim.PlayRepeating(info.Anim); anim.PlayRepeating(info.Anim);

View File

@@ -106,10 +106,10 @@ namespace OpenRA.Mods.Common.Traits
var dropFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings); var dropFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings);
var delta = new WVec(0, -1024, 0).Rotate(WRot.FromFacing(dropFacing)); var delta = new WVec(0, -1024, 0).Rotate(WRot.FromFacing(dropFacing));
var altitude = self.World.Map.Rules.Actors[info.DeliveryAircraft].Traits.Get<PlaneInfo>().CruiseAltitude.Range; var altitude = self.World.Map.Rules.Actors[info.DeliveryAircraft].Traits.Get<PlaneInfo>().CruiseAltitude.Length;
var target = self.World.Map.CenterOfCell(p) + new WVec(0, 0, altitude); var target = self.World.Map.CenterOfCell(p) + new WVec(0, 0, altitude);
var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Range * delta / 1024; var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Length * delta / 1024;
var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Range * delta / 1024; var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Length * delta / 1024;
var plane = w.CreateActor(info.DeliveryAircraft, new TypeDictionary var plane = w.CreateActor(info.DeliveryAircraft, new TypeDictionary
{ {

View File

@@ -91,7 +91,7 @@ namespace OpenRA.Mods.Common.Traits
// Select only the tiles that are within range from the requested SubCell // Select only the tiles that are within range from the requested SubCell
// This assumes that the SubCell does not change during the path traversal // This assumes that the SubCell does not change during the path traversal
var tilesInRange = world.Map.FindTilesInCircle(targetCell, range.Range / 1024 + 1) var tilesInRange = world.Map.FindTilesInCircle(targetCell, range.Length / 1024 + 1)
.Where(t => (world.Map.CenterOfCell(t) - target).LengthSquared <= range.RangeSquared .Where(t => (world.Map.CenterOfCell(t) - target).LengthSquared <= range.RangeSquared
&& mi.CanEnterCell(self.World as World, self as Actor, t)); && mi.CanEnterCell(self.World as World, self as Actor, t));

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.Common.Warheads
var world = firedBy.World; var world = firedBy.World;
var range = Spread[0]; var range = Spread[0];
var hitActors = world.FindActorsInCircle(pos, range); var hitActors = world.FindActorsInCircle(pos, range);
if (Spread.Length > 1 && Spread[1].Range > 0) if (Spread.Length > 1 && Spread[1].Length > 0)
hitActors = hitActors.Except(world.FindActorsInCircle(pos, Spread[1])); hitActors = hitActors.Except(world.FindActorsInCircle(pos, Spread[1]));
foreach (var victim in hitActors) foreach (var victim in hitActors)

View File

@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Warheads
var healthInfo = victim.Info.Traits.GetOrDefault<HealthInfo>(); var healthInfo = victim.Info.Traits.GetOrDefault<HealthInfo>();
if (healthInfo != null) if (healthInfo != null)
{ {
var distance = Math.Max(0, (victim.CenterPosition - pos).Length - healthInfo.Radius.Range); var distance = Math.Max(0, (victim.CenterPosition - pos).Length - healthInfo.Radius.Length);
localModifiers = localModifiers.Append(GetDamageFalloff(distance)); localModifiers = localModifiers.Append(GetDamageFalloff(distance));
} }
@@ -67,10 +67,10 @@ namespace OpenRA.Mods.Common.Warheads
int GetDamageFalloff(int distance) int GetDamageFalloff(int distance)
{ {
var inner = Range[0].Range; var inner = Range[0].Length;
for (var i = 1; i < Range.Length; i++) for (var i = 1; i < Range.Length; i++)
{ {
var outer = Range[i].Range; var outer = Range[i].Length;
if (outer > distance) if (outer > distance)
return int2.Lerp(Falloff[i - 1], Falloff[i], distance - inner, outer - inner); return int2.Lerp(Falloff[i - 1], Falloff[i], distance - inner, outer - inner);

View File

@@ -46,10 +46,10 @@ namespace OpenRA.Mods.D2k.Traits
int GetNoisePercentageAtDistance(int distance) int GetNoisePercentageAtDistance(int distance)
{ {
var inner = Info.Range[0].Range; var inner = Info.Range[0].Length;
for (var i = 1; i < Info.Range.Length; i++) for (var i = 1; i < Info.Range.Length; i++)
{ {
var outer = Info.Range[i].Range; var outer = Info.Range[i].Length;
if (outer > distance) if (outer > distance)
return int2.Lerp(Info.Falloff[i - 1], Info.Falloff[i], distance - inner, outer - inner); return int2.Lerp(Info.Falloff[i - 1], Info.Falloff[i], distance - inner, outer - inner);
@@ -68,7 +68,7 @@ namespace OpenRA.Mods.D2k.Traits
var length = distance.Length; var length = distance.Length;
// Actor is too far to hear anything. // Actor is too far to hear anything.
if (length > Info.Range[Info.Range.Length - 1].Range) if (length > Info.Range[Info.Range.Length - 1].Length)
return WVec.Zero; return WVec.Zero;
var direction = 1024 * distance / length; var direction = 1024 * distance / length;

View File

@@ -91,7 +91,7 @@ namespace OpenRA.Mods.D2k.Traits
// If aircraft, spawn at cruise altitude // If aircraft, spawn at cruise altitude
var aircraftInfo = self.World.Map.Rules.Actors[deliveringActorName.ToLower()].Traits.GetOrDefault<AircraftInfo>(); var aircraftInfo = self.World.Map.Rules.Actors[deliveringActorName.ToLower()].Traits.GetOrDefault<AircraftInfo>();
if (aircraftInfo != null) if (aircraftInfo != null)
spawn += new WVec(0, 0, aircraftInfo.CruiseAltitude.Range); spawn += new WVec(0, 0, aircraftInfo.CruiseAltitude.Length);
// Create delivery actor // Create delivery actor
carrier = self.World.CreateActor(false, deliveringActorName, new TypeDictionary carrier = self.World.CreateActor(false, deliveringActorName, new TypeDictionary

View File

@@ -35,7 +35,7 @@ namespace OpenRA.Mods.D2k.Traits
// If aircraft, spawn at cruise altitude // If aircraft, spawn at cruise altitude
var aircraftInfo = producee.Traits.GetOrDefault<AircraftInfo>(); var aircraftInfo = producee.Traits.GetOrDefault<AircraftInfo>();
if (aircraftInfo != null) if (aircraftInfo != null)
pos += new WVec(0, 0, aircraftInfo.CruiseAltitude.Range); pos += new WVec(0, 0, aircraftInfo.CruiseAltitude.Length);
var initialFacing = self.World.Map.FacingBetween(location, self.Location, 0); var initialFacing = self.World.Map.FacingBetween(location, self.Location, 0);

View File

@@ -204,7 +204,7 @@ namespace OpenRA.Mods.D2k.Traits
if (anim != null && !self.World.FogObscures(self)) if (anim != null && !self.World.FogObscures(self))
{ {
anim.Tick(); anim.Tick();
var renderables = anim.Render(self.CenterPosition + new WVec(0, 0, -carryHeight.Range), var renderables = anim.Render(self.CenterPosition + new WVec(0, 0, -carryHeight.Length),
wr.Palette("player" + Carrying.Owner.InternalName)); wr.Palette("player" + Carrying.Owner.InternalName));
foreach (var rr in renderables) foreach (var rr in renderables)

View File

@@ -39,7 +39,7 @@ namespace OpenRA.Mods.D2k.Traits
{ {
var wep = self.World.Map.Rules.Weapons[name.ToLowerInvariant()]; var wep = self.World.Map.Rules.Weapons[name.ToLowerInvariant()];
var pieces = self.World.SharedRandom.Next(info.Pieces[0], info.Pieces[1]); var pieces = self.World.SharedRandom.Next(info.Pieces[0], info.Pieces[1]);
var range = self.World.SharedRandom.Next(info.Range[0].Range, info.Range[1].Range); var range = self.World.SharedRandom.Next(info.Range[0].Length, info.Range[1].Length);
for (var i = 0; pieces > i; i++) for (var i = 0; pieces > i; i++)
{ {

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.RA.Activities
from = self.CenterPosition; from = self.CenterPosition;
to = self.World.Map.CenterOfSubCell(targetMobile.FromCell, targetMobile.FromSubCell); to = self.World.Map.CenterOfSubCell(targetMobile.FromCell, targetMobile.FromSubCell);
length = Math.Max((to - from).Length / speed.Range, 1); length = Math.Max((to - from).Length / speed.Length, 1);
// HACK: why isn't this using the interface? // HACK: why isn't this using the interface?
self.Trait<WithInfantryBody>().Attacking(self, Target.FromActor(target)); self.Trait<WithInfantryBody>().Attacking(self, Target.FromActor(target));

View File

@@ -107,8 +107,8 @@ namespace OpenRA.Mods.RA.Graphics
var renderables = new List<IFinalizedRenderable>(); var renderables = new List<IFinalizedRenderable>();
if (Game.CosmeticRandom.Next(2) != 0) if (Game.CosmeticRandom.Next(2) != 0)
{ {
var p1 = from + (1 / 3f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Range * dist.Length / 4096 * norm; var p1 = from + (1 / 3f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Length * dist.Length / 4096 * norm;
var p2 = from + (2 / 3f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Range * dist.Length / 4096 * norm; var p2 = from + (2 / 3f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Length * dist.Length / 4096 * norm;
renderables.AddRange(DrawZap(wr, from, p1, s, out p1, pal)); renderables.AddRange(DrawZap(wr, from, p1, s, out p1, pal));
renderables.AddRange(DrawZap(wr, p1, p2, s, out p2, pal)); renderables.AddRange(DrawZap(wr, p1, p2, s, out p2, pal));
@@ -116,7 +116,7 @@ namespace OpenRA.Mods.RA.Graphics
} }
else else
{ {
var p1 = from + (1 / 2f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Range * dist.Length / 4096 * norm; var p1 = from + (1 / 2f) * dist + WDist.FromPDF(Game.CosmeticRandom, 2).Length * dist.Length / 4096 * norm;
renderables.AddRange(DrawZap(wr, from, p1, s, out p1, pal)); renderables.AddRange(DrawZap(wr, from, p1, s, out p1, pal));
renderables.AddRange(DrawZap(wr, p1, to, s, out z, pal)); renderables.AddRange(DrawZap(wr, p1, to, s, out z, pal));

View File

@@ -72,12 +72,12 @@ namespace OpenRA.Mods.RA.Traits
if (randomize) if (randomize)
dropFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings); dropFacing = Util.QuantizeFacing(self.World.SharedRandom.Next(256), info.QuantizedFacings) * (256 / info.QuantizedFacings);
var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Range; var altitude = self.World.Map.Rules.Actors[info.UnitType].Traits.Get<PlaneInfo>().CruiseAltitude.Length;
var dropRotation = WRot.FromFacing(dropFacing); var dropRotation = WRot.FromFacing(dropFacing);
var delta = new WVec(0, -1024, 0).Rotate(dropRotation); var delta = new WVec(0, -1024, 0).Rotate(dropRotation);
target = target + new WVec(0, 0, altitude); target = target + new WVec(0, 0, altitude);
var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Range * delta / 1024; var startEdge = target - (self.World.Map.DistanceToEdge(target, -delta) + info.Cordon).Length * delta / 1024;
var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Range * delta / 1024; var finishEdge = target + (self.World.Map.DistanceToEdge(target, delta) + info.Cordon).Length * delta / 1024;
Actor camera = null; Actor camera = null;
Beacon beacon = null; Beacon beacon = null;
@@ -201,7 +201,7 @@ namespace OpenRA.Mods.RA.Traits
Info.BeaconPalettePrefix, Info.BeaconPalettePrefix,
Info.BeaconPoster, Info.BeaconPoster,
Info.BeaconPosterPalette, Info.BeaconPosterPalette,
() => 1 - ((distanceTestActor.CenterPosition - target).HorizontalLength - info.BeaconDistanceOffset.Range) * 1f / distance); () => 1 - ((distanceTestActor.CenterPosition - target).HorizontalLength - info.BeaconDistanceOffset.Length) * 1f / distance);
w.Add(beacon); w.Add(beacon);
} }