Shift RevealsShroud onto Unit; fix "vehicles don't update shroud" regression in last

This commit is contained in:
Paul Chote
2010-07-27 15:15:26 +12:00
parent a91ebb4eda
commit 9a704e69b2
7 changed files with 12 additions and 48 deletions

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Traits
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;
public readonly BuildingInfo Info;

View File

@@ -23,13 +23,23 @@ namespace OpenRA.Traits
public object Create( ActorInitializer init ) { return new Unit(); }
}
public class Unit : INotifyDamage, IRadarSignature
public class Unit : INotifyDamage, IRadarSignature, IRevealShroud, ITick
{
[Sync]
public int Facing;
[Sync]
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)
{
if (e.DamageState == DamageState.Dead)

View File

@@ -67,11 +67,8 @@ namespace OpenRA.Traits
if (a.traits.WithInterface<IRevealShroud>().Count() == 0)
return;
bool shareShroud = true; // Todo: make this a server flag
if (a.Owner == null || a.Owner.World.LocalPlayer == null
|| a.Owner.Stances[a.Owner.World.LocalPlayer] != Stance.Ally) return;
if (!shareShroud && a.Owner != a.Owner.World.LocalPlayer) return;
if (vis.ContainsKey(a))
{

View File

@@ -183,7 +183,6 @@
<Compile Include="Crates\SpeedUpgradeCrateAction.cs" />
<Compile Include="Reservable.cs" />
<Compile Include="ReturnOnIdle.cs" />
<Compile Include="RevealsShroud.cs" />
<Compile Include="SeedsResource.cs" />
<Compile Include="SelfHealing.cs" />
<Compile Include="ShroudPalette.cs" />

View File

@@ -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);
}
}
}
}

View File

@@ -12,7 +12,6 @@
Passenger:
IronCurtainable:
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -32,7 +31,6 @@
Passenger:
IronCurtainable:
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -44,7 +42,6 @@
Selectable:
Voice: VehicleVoice
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
MobileAir:
@@ -67,7 +64,6 @@
Passenger:
HiddenUnderFog:
PoisonedByTiberium:
RevealsShroud:
GainsExperience:
GivesExperience:
# SharesCell:
@@ -80,7 +76,6 @@
Selectable:
Voice: GenericVoice
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -186,7 +181,6 @@
Selectable:
Priority: -1
HiddenUnderFog:
RevealsShroud:
Burns:
^Bridge:

View File

@@ -13,7 +13,6 @@
Passenger:
IronCurtainable:
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -33,7 +32,6 @@
Passenger:
IronCurtainable:
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -53,7 +51,6 @@
AutoTarget:
Passenger:
HiddenUnderFog:
RevealsShroud:
TeslaInstantKills:
GainsExperience:
GivesExperience:
@@ -68,7 +65,6 @@
Selectable:
Voice: ShipVoice
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -80,7 +76,6 @@
Selectable:
Voice: GenericVoice
HiddenUnderFog:
RevealsShroud:
GainsExperience:
GivesExperience:
DrawLineToTarget:
@@ -164,7 +159,6 @@
Selectable:
Priority: -1
HiddenUnderFog:
RevealsShroud:
Burns:
^Bridge: