Inheritance: IWorldLoaded
Beispiel #1
0
        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);
        }
Beispiel #3
0
 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
         }
     }
 }
Beispiel #4
0
 public BridgePlaceholder(Actor self, BridgePlaceholderInfo info)
 {
     Info        = info;
     this.self   = self;
     bridgeLayer = self.World.WorldActor.Trait <BridgeLayer>();
 }
Beispiel #5
0
 public BridgeHut(World world, BridgeHutInfo info)
 {
     Info        = info;
     bridgeLayer = world.WorldActor.Trait <BridgeLayer>();
 }
Beispiel #6
0
 public BridgePlaceholder(Actor self, BridgePlaceholderInfo info)
 {
     Info = info;
     this.self = self;
     bridgeLayer = self.World.WorldActor.Trait<BridgeLayer>();
 }
Beispiel #7
0
 public BridgeHut(World world, BridgeHutInfo info)
 {
     Info = info;
     bridgeLayer = world.WorldActor.Trait<BridgeLayer>();
 }