add shroud, creates shroud and reveals shroud to syncreport
This commit is contained in:
@@ -47,8 +47,7 @@ namespace OpenRA
|
||||
|
||||
public Shroud.ActorVisibility Sight;
|
||||
|
||||
[Sync]
|
||||
public Player Owner;
|
||||
[Sync] public Player Owner;
|
||||
|
||||
Activity currentActivity;
|
||||
public Group Group;
|
||||
|
||||
@@ -18,10 +18,10 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new CreatesShroud(this); }
|
||||
}
|
||||
|
||||
public class CreatesShroud : ITick
|
||||
public class CreatesShroud : ITick, ISync
|
||||
{
|
||||
CreatesShroudInfo Info;
|
||||
CPos previousLocation;
|
||||
[Sync] CPos previousLocation;
|
||||
Shroud.ActorVisibility v;
|
||||
|
||||
public CreatesShroud(CreatesShroudInfo info)
|
||||
@@ -37,20 +37,20 @@ namespace OpenRA.Traits
|
||||
if (previousLocation != self.Location && v != null) {
|
||||
previousLocation = self.Location;
|
||||
|
||||
var shrouds = self.World.ActorsWithTrait<Traits.Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
var shrouds = self.World.ActorsWithTrait<Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
foreach (var shroud in shrouds) {
|
||||
shroud.UnhideActor(self, v, Info.Range);
|
||||
}
|
||||
}
|
||||
|
||||
if (!self.TraitsImplementing<IDisable>().Any(d => d.Disabled)) {
|
||||
var shrouds = self.World.ActorsWithTrait<Traits.Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
var shrouds = self.World.ActorsWithTrait<Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
foreach (var shroud in shrouds) {
|
||||
shroud.HideActor(self, Info.Range);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var shrouds = self.World.ActorsWithTrait<Traits.Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
var shrouds = self.World.ActorsWithTrait<Shroud>().Select(s => s.Actor.Owner.Shroud);
|
||||
foreach (var shroud in shrouds) {
|
||||
shroud.UnhideActor(self, v, Info.Range);
|
||||
}
|
||||
|
||||
@@ -75,13 +75,10 @@ namespace OpenRA.Traits
|
||||
AdviceInterval = info.AdviceInterval;
|
||||
}
|
||||
|
||||
[Sync]
|
||||
public int Cash;
|
||||
[Sync] public int Cash;
|
||||
|
||||
[Sync]
|
||||
public int Ore;
|
||||
[Sync]
|
||||
public int OreCapacity;
|
||||
[Sync] public int Ore;
|
||||
[Sync] public int OreCapacity;
|
||||
|
||||
public int DisplayCash;
|
||||
public int DisplayOre;
|
||||
|
||||
@@ -16,10 +16,10 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new RevealsShroud(this); }
|
||||
}
|
||||
|
||||
public class RevealsShroud : ITick
|
||||
public class RevealsShroud : ITick, ISync
|
||||
{
|
||||
RevealsShroudInfo Info;
|
||||
CPos previousLocation;
|
||||
[Sync] CPos previousLocation;
|
||||
|
||||
public RevealsShroud(RevealsShroudInfo info)
|
||||
{
|
||||
|
||||
@@ -20,19 +20,19 @@ namespace OpenRA.Traits
|
||||
public object Create(ActorInitializer init) { return new Shroud(init.world); }
|
||||
}
|
||||
|
||||
public class Shroud
|
||||
public class Shroud : ISync
|
||||
{
|
||||
Map map;
|
||||
World world;
|
||||
|
||||
public Player Owner;
|
||||
[Sync] public Player Owner;
|
||||
public int[,] visibleCells;
|
||||
public bool[,] exploredCells;
|
||||
public bool[,] foggedCells;
|
||||
public Rectangle? exploredBounds;
|
||||
bool disabled = false;
|
||||
public bool dirty = true;
|
||||
public bool Disabled
|
||||
[Sync] public bool Disabled
|
||||
{
|
||||
get { return disabled; }
|
||||
set { disabled = value; Dirty(); }
|
||||
@@ -70,7 +70,7 @@ namespace OpenRA.Traits
|
||||
|
||||
// cache of positions that were added, so no matter what crazy trait code does, it
|
||||
// can't make us invalid.
|
||||
public class ActorVisibility { public int range; public CPos[] vis; }
|
||||
public class ActorVisibility { [Sync] public int range; [Sync] public CPos[] vis; }
|
||||
public Dictionary<Actor, ActorVisibility> vis = new Dictionary<Actor, ActorVisibility>();
|
||||
|
||||
static IEnumerable<CPos> FindVisibleTiles(World world, CPos a, int r)
|
||||
|
||||
@@ -102,12 +102,9 @@ namespace OpenRA.Mods.RA.Air
|
||||
|
||||
|
||||
protected readonly Actor self;
|
||||
[Sync]
|
||||
public int Facing { get; set; }
|
||||
[Sync]
|
||||
public int Altitude { get; set; }
|
||||
[Sync]
|
||||
public PSubPos SubPxPosition;
|
||||
[Sync] public int Facing { get; set; }
|
||||
[Sync] public int Altitude { get; set; }
|
||||
[Sync] public PSubPos SubPxPosition;
|
||||
public PPos PxPosition { get { return SubPxPosition.ToPPos(); } }
|
||||
public CPos TopLeft { get { return PxPosition.ToCPos(); } }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user