Make IPowerModifier require explicit implementation

Plus some 'collateral' explicit implementations on the affected traits.
This commit is contained in:
reaperrr
2016-10-22 22:13:08 +02:00
parent 2d0560dcb7
commit ad6ea52bff
5 changed files with 15 additions and 10 deletions

View File

@@ -26,9 +26,11 @@ namespace OpenRA.Mods.Common.Traits
public PowerMultiplier(Actor self, PowerMultiplierInfo info)
: base(info, "PowerMultiplier", self.Info.Name) { power = self.Owner.PlayerActor.Trait<PowerManager>(); }
public int GetPowerModifier() { return GetModifier(); }
int IPowerModifier.GetPowerModifier() { return GetModifier(); }
protected override void Update(Actor self) { power.UpdateActor(self); }
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
{
power = newOwner.PlayerActor.Trait<PowerManager>();
}

View File

@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Traits
bool ISelectionBar.DisplayWhenEmpty { get { return false; } }
public int GetPowerModifier()
int IPowerModifier.GetPowerModifier()
{
return playerPower.PowerOutageRemainingTicks > 0 ? 0 : 100;
}
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.Common.Traits
get { return playerPower.PowerOutageRemainingTicks > 0; }
}
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
{
playerPower = newOwner.PlayerActor.Trait<PowerManager>();
}

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits
public bool Disabled { get { return disabled; } }
public void ResolveOrder(Actor self, Order order)
void IResolveOrder.ResolveOrder(Actor self, Order order)
{
if (!IsTraitDisabled && order.OrderString == "PowerDown")
{
@@ -72,12 +72,12 @@ namespace OpenRA.Mods.Common.Traits
}
}
public int GetPowerModifier()
int IPowerModifier.GetPowerModifier()
{
return !IsTraitDisabled && disabled ? 0 : 100;
}
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
{
power = newOwner.PlayerActor.Trait<PowerManager>();
}
@@ -86,6 +86,7 @@ namespace OpenRA.Mods.Common.Traits
{
if (!disabled || !Info.CancelWhenDisabled)
return;
disabled = false;
if (Info.PowerupSound != null)

View File

@@ -30,13 +30,14 @@ namespace OpenRA.Mods.Common.Traits
health = self.Trait<Health>();
}
public int GetPowerModifier()
int IPowerModifier.GetPowerModifier()
{
return 100 * health.HP / health.MaxHP;
}
public void Damaged(Actor self, AttackInfo e) { power.UpdateActor(self); }
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
void INotifyDamage.Damaged(Actor self, AttackInfo e) { power.UpdateActor(self); }
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner)
{
power = newOwner.PlayerActor.Trait<PowerManager>();
}

View File

@@ -223,5 +223,6 @@ namespace OpenRA.Mods.Common.Traits
[RequireExplicitImplementation]
public interface IRangeModifierInfo : ITraitInfoInterface { int GetRangeModifierDefault(); }
[RequireExplicitImplementation]
public interface IPowerModifier { int GetPowerModifier(); }
}