General uncontroversial cleanup:
- Made private methods static where possible (runtime can elide checking the object for null). - Declared attribute classes as sealed (allows reflection on attributes to complete faster). - Moved some static cctor's into field initializers (static cctor's are slower than static field initializers). - Made classes static if they contained only static methods (can't create instances of useless objects). - Use inferable Exts.Lazy and not new Lazy<T>(). - Added required STAThread attribute to CrashDialog. - Removed unused parameters in private methods. - Added Serializable attribute to exceptions. - Added parameter name in calls to ArgumentNullException. - Use of as operator instead of is + cast. - Changed (x as Foo).Bar anti-pattern into ((Foo)x).Bar. Results in sensible cast exceptions on error rather than null dereferences. - Removed unused method in NullShader.
This commit is contained in:
@@ -27,7 +27,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
public override void Activate(Actor collector)
|
||||
{
|
||||
Combat.DoExplosion(self, (info as ExplodeCrateActionInfo).Weapon, collector.CenterPosition);
|
||||
Combat.DoExplosion(self, ((ExplodeCrateActionInfo)info).Weapon, collector.CenterPosition);
|
||||
base.Activate(collector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +30,11 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
collector.World.AddFrameEndTask(w =>
|
||||
{
|
||||
var amount = (info as GiveCashCrateActionInfo).Amount;
|
||||
var crateInfo = (GiveCashCrateActionInfo)info;
|
||||
var amount = crateInfo.Amount;
|
||||
collector.Owner.PlayerActor.Trait<PlayerResources>().GiveCash(amount);
|
||||
|
||||
if ((info as GiveCashCrateActionInfo).UseCashTick)
|
||||
if (crateInfo.UseCashTick)
|
||||
w.Add(new CashTick(collector.CenterPosition, collector.Owner.Color.RGB, amount));
|
||||
});
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA.Crates
|
||||
.Any(a => a.Actor.Owner == collector.Owner);
|
||||
|
||||
return hasBase ? info.SelectionShares :
|
||||
(info as GiveMcvCrateActionInfo).NoBaseSelectionShares;
|
||||
((GiveMcvCrateActionInfo)info).NoBaseSelectionShares;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
var gainsExperience = collector.TraitOrDefault<GainsExperience>();
|
||||
if (gainsExperience != null)
|
||||
gainsExperience.GiveLevels((info as LevelUpCrateActionInfo).Levels);
|
||||
gainsExperience.GiveLevels(((LevelUpCrateActionInfo)info).Levels);
|
||||
});
|
||||
|
||||
base.Activate(collector);
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
bool ShouldReveal(Player collectingPlayer)
|
||||
{
|
||||
if ((info as RevealMapCrateActionInfo).IncludeAllies)
|
||||
if (((RevealMapCrateActionInfo)info).IncludeAllies)
|
||||
return collectingPlayer.World.LocalPlayer != null &&
|
||||
collectingPlayer.Stances[collectingPlayer.World.LocalPlayer] == Stance.Ally;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user