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)
|
public PowerMultiplier(Actor self, PowerMultiplierInfo info)
|
||||||
: base(info, "PowerMultiplier", self.Info.Name) { power = self.Owner.PlayerActor.Trait<PowerManager>(); }
|
: 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); }
|
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>();
|
power = newOwner.PlayerActor.Trait<PowerManager>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
bool ISelectionBar.DisplayWhenEmpty { get { return false; } }
|
bool ISelectionBar.DisplayWhenEmpty { get { return false; } }
|
||||||
|
|
||||||
public int GetPowerModifier()
|
int IPowerModifier.GetPowerModifier()
|
||||||
{
|
{
|
||||||
return playerPower.PowerOutageRemainingTicks > 0 ? 0 : 100;
|
return playerPower.PowerOutageRemainingTicks > 0 ? 0 : 100;
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
get { return playerPower.PowerOutageRemainingTicks > 0; }
|
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>();
|
playerPower = newOwner.PlayerActor.Trait<PowerManager>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public bool Disabled { get { return disabled; } }
|
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")
|
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;
|
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>();
|
power = newOwner.PlayerActor.Trait<PowerManager>();
|
||||||
}
|
}
|
||||||
@@ -86,6 +86,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
if (!disabled || !Info.CancelWhenDisabled)
|
if (!disabled || !Info.CancelWhenDisabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
disabled = false;
|
disabled = false;
|
||||||
|
|
||||||
if (Info.PowerupSound != null)
|
if (Info.PowerupSound != null)
|
||||||
|
|||||||
@@ -30,13 +30,14 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
health = self.Trait<Health>();
|
health = self.Trait<Health>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetPowerModifier()
|
int IPowerModifier.GetPowerModifier()
|
||||||
{
|
{
|
||||||
return 100 * health.HP / health.MaxHP;
|
return 100 * health.HP / health.MaxHP;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Damaged(Actor self, AttackInfo e) { power.UpdateActor(self); }
|
void INotifyDamage.Damaged(Actor self, AttackInfo e) { 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>();
|
power = newOwner.PlayerActor.Trait<PowerManager>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,5 +223,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
[RequireExplicitImplementation]
|
[RequireExplicitImplementation]
|
||||||
public interface IRangeModifierInfo : ITraitInfoInterface { int GetRangeModifierDefault(); }
|
public interface IRangeModifierInfo : ITraitInfoInterface { int GetRangeModifierDefault(); }
|
||||||
|
|
||||||
|
[RequireExplicitImplementation]
|
||||||
public interface IPowerModifier { int GetPowerModifier(); }
|
public interface IPowerModifier { int GetPowerModifier(); }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user