Shift RevealsShroud onto Unit; fix "vehicles don't update shroud" regression in last
This commit is contained in:
@@ -48,7 +48,7 @@ namespace OpenRA.Traits
|
|||||||
public object Create(ActorInitializer init) { return new Building(init); }
|
public object Create(ActorInitializer init) { return new Building(init); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature
|
public class Building : INotifyDamage, IResolveOrder, ITick, IRenderModifier, IOccupySpace, IRadarSignature, IRevealShroud
|
||||||
{
|
{
|
||||||
readonly Actor self;
|
readonly Actor self;
|
||||||
public readonly BuildingInfo Info;
|
public readonly BuildingInfo Info;
|
||||||
|
|||||||
@@ -23,13 +23,23 @@ namespace OpenRA.Traits
|
|||||||
public object Create( ActorInitializer init ) { return new Unit(); }
|
public object Create( ActorInitializer init ) { return new Unit(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Unit : INotifyDamage, IRadarSignature
|
public class Unit : INotifyDamage, IRadarSignature, IRevealShroud, ITick
|
||||||
{
|
{
|
||||||
[Sync]
|
[Sync]
|
||||||
public int Facing;
|
public int Facing;
|
||||||
[Sync]
|
[Sync]
|
||||||
public int Altitude;
|
public int Altitude;
|
||||||
|
|
||||||
|
int2 previousLocation;
|
||||||
|
public void Tick(Actor self)
|
||||||
|
{
|
||||||
|
if (!self.IsIdle && previousLocation != self.Location)
|
||||||
|
{
|
||||||
|
previousLocation = self.Location;
|
||||||
|
self.World.WorldActor.traits.Get<Shroud>().UpdateActor(self);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Damaged(Actor self, AttackInfo e)
|
public void Damaged(Actor self, AttackInfo e)
|
||||||
{
|
{
|
||||||
if (e.DamageState == DamageState.Dead)
|
if (e.DamageState == DamageState.Dead)
|
||||||
|
|||||||
@@ -67,11 +67,8 @@ namespace OpenRA.Traits
|
|||||||
if (a.traits.WithInterface<IRevealShroud>().Count() == 0)
|
if (a.traits.WithInterface<IRevealShroud>().Count() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bool shareShroud = true; // Todo: make this a server flag
|
|
||||||
|
|
||||||
if (a.Owner == null || a.Owner.World.LocalPlayer == null
|
if (a.Owner == null || a.Owner.World.LocalPlayer == null
|
||||||
|| a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return;
|
|| a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return;
|
||||||
if (!shareShroud && a.Owner != a.Owner.World.LocalPlayer) return;
|
|
||||||
|
|
||||||
if (vis.ContainsKey(a))
|
if (vis.ContainsKey(a))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -183,7 +183,6 @@
|
|||||||
<Compile Include="Crates\SpeedUpgradeCrateAction.cs" />
|
<Compile Include="Crates\SpeedUpgradeCrateAction.cs" />
|
||||||
<Compile Include="Reservable.cs" />
|
<Compile Include="Reservable.cs" />
|
||||||
<Compile Include="ReturnOnIdle.cs" />
|
<Compile Include="ReturnOnIdle.cs" />
|
||||||
<Compile Include="RevealsShroud.cs" />
|
|
||||||
<Compile Include="SeedsResource.cs" />
|
<Compile Include="SeedsResource.cs" />
|
||||||
<Compile Include="SelfHealing.cs" />
|
<Compile Include="SelfHealing.cs" />
|
||||||
<Compile Include="ShroudPalette.cs" />
|
<Compile Include="ShroudPalette.cs" />
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
|
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
|
||||||
* available to you under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation. For more information,
|
|
||||||
* see LICENSE.
|
|
||||||
*/
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
using OpenRA.Traits;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
|
||||||
{
|
|
||||||
class RevealsShroudInfo : TraitInfo<RevealsShroud> { }
|
|
||||||
|
|
||||||
class RevealsShroud : ITick, IRevealShroud
|
|
||||||
{
|
|
||||||
int2 previousLocation;
|
|
||||||
|
|
||||||
public void Tick(Actor self)
|
|
||||||
{
|
|
||||||
if (!self.IsIdle && previousLocation != self.Location)
|
|
||||||
{
|
|
||||||
previousLocation = self.Location;
|
|
||||||
self.World.WorldActor.traits.Get<Shroud>().UpdateActor(self);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -12,7 +12,6 @@
|
|||||||
Passenger:
|
Passenger:
|
||||||
IronCurtainable:
|
IronCurtainable:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -32,7 +31,6 @@
|
|||||||
Passenger:
|
Passenger:
|
||||||
IronCurtainable:
|
IronCurtainable:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -44,7 +42,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Voice: VehicleVoice
|
Voice: VehicleVoice
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
MobileAir:
|
MobileAir:
|
||||||
@@ -67,7 +64,6 @@
|
|||||||
Passenger:
|
Passenger:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
PoisonedByTiberium:
|
PoisonedByTiberium:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
# SharesCell:
|
# SharesCell:
|
||||||
@@ -80,7 +76,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Voice: GenericVoice
|
Voice: GenericVoice
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -186,7 +181,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Priority: -1
|
Priority: -1
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
Burns:
|
Burns:
|
||||||
|
|
||||||
^Bridge:
|
^Bridge:
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
Passenger:
|
Passenger:
|
||||||
IronCurtainable:
|
IronCurtainable:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -33,7 +32,6 @@
|
|||||||
Passenger:
|
Passenger:
|
||||||
IronCurtainable:
|
IronCurtainable:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -53,7 +51,6 @@
|
|||||||
AutoTarget:
|
AutoTarget:
|
||||||
Passenger:
|
Passenger:
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
TeslaInstantKills:
|
TeslaInstantKills:
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
@@ -68,7 +65,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Voice: ShipVoice
|
Voice: ShipVoice
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -80,7 +76,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Voice: GenericVoice
|
Voice: GenericVoice
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
GainsExperience:
|
GainsExperience:
|
||||||
GivesExperience:
|
GivesExperience:
|
||||||
DrawLineToTarget:
|
DrawLineToTarget:
|
||||||
@@ -164,7 +159,6 @@
|
|||||||
Selectable:
|
Selectable:
|
||||||
Priority: -1
|
Priority: -1
|
||||||
HiddenUnderFog:
|
HiddenUnderFog:
|
||||||
RevealsShroud:
|
|
||||||
Burns:
|
Burns:
|
||||||
|
|
||||||
^Bridge:
|
^Bridge:
|
||||||
|
|||||||
Reference in New Issue
Block a user