Make RangeModifier interfaces require explicit implementation

This commit is contained in:
reaperrr
2016-10-22 21:53:14 +02:00
parent 02f14f0761
commit 2d0560dcb7
2 changed files with 6 additions and 2 deletions

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Traits
{
public override object Create(ActorInitializer init) { return new RangeMultiplier(this, init.Self.Info.Name); }
public int GetRangeModifierDefault()
int IRangeModifierInfo.GetRangeModifierDefault()
{
return BaseLevel > 0 || UpgradeTypes.Length == 0 ? 100 : Modifier[0];
}
@@ -29,6 +29,6 @@ namespace OpenRA.Mods.Common.Traits
public RangeMultiplier(RangeMultiplierInfo info, string actorType)
: base(info, "RangeMultiplier", actorType) { }
public int GetRangeModifier() { return GetModifier(); }
int IRangeModifier.GetRangeModifier() { return GetModifier(); }
}
}

View File

@@ -217,7 +217,11 @@ namespace OpenRA.Mods.Common.Traits
[RequireExplicitImplementation]
public interface IInaccuracyModifier { int GetInaccuracyModifier(); }
[RequireExplicitImplementation]
public interface IRangeModifier { int GetRangeModifier(); }
[RequireExplicitImplementation]
public interface IRangeModifierInfo : ITraitInfoInterface { int GetRangeModifierDefault(); }
public interface IPowerModifier { int GetPowerModifier(); }
}