public Bridge GetNeighbor(int[] offset, BridgeLayer bridges) { if (offset == null) { return(null); } return(bridges.GetBridge(self.Location + new CVec(offset[0], offset[1]))); }
public GroundLevelBridge(Actor self, GroundLevelBridgeInfo info) { Info = info; this.self = self; health = self.Trait <Health>(); bridgeLayer = self.World.WorldActor.Trait <BridgeLayer>(); var buildingInfo = self.Info.TraitInfo <BuildingInfo>(); cells = buildingInfo.PathableTiles(self.Location); }
public void LinkNeighbouringBridges(World world, BridgeLayer bridges) { for (var d = 0; d <= 1; d++) { if (neighbours[d] != null) { continue; // Already linked by reverse lookup } var offset = d == 0 ? info.NorthOffset : info.SouthOffset; if (offset == null) { continue; // End piece type } neighbours[d] = GetNeighbor(offset, bridges); if (neighbours[d] != null) { neighbours[d].neighbours[1 - d] = this; // Save reverse lookup } } }
public BridgePlaceholder(Actor self, BridgePlaceholderInfo info) { Info = info; this.self = self; bridgeLayer = self.World.WorldActor.Trait <BridgeLayer>(); }
public BridgeHut(World world, BridgeHutInfo info) { Info = info; bridgeLayer = world.WorldActor.Trait <BridgeLayer>(); }
public BridgePlaceholder(Actor self, BridgePlaceholderInfo info) { Info = info; this.self = self; bridgeLayer = self.World.WorldActor.Trait<BridgeLayer>(); }
public BridgeHut(World world, BridgeHutInfo info) { Info = info; bridgeLayer = world.WorldActor.Trait<BridgeLayer>(); }