Make IPowerModifier require explicit implementation
Plus some 'collateral' explicit implementations on the affected traits.
This commit is contained in:
@@ -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>();
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>();
|
||||
}
|
||||
|
||||
@@ -223,5 +223,6 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[RequireExplicitImplementation]
|
||||
public interface IRangeModifierInfo : ITraitInfoInterface { int GetRangeModifierDefault(); }
|
||||
|
||||
[RequireExplicitImplementation]
|
||||
public interface IPowerModifier { int GetPowerModifier(); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user