コード例 #1
0
        public IActivateableWorldObject[,] CreateTiles(Coordinate dimensions, IRectangleSection fittingRectangle)
        {
            var tiles     = new IActivateableWorldObject[dimensions.Y, dimensions.X];
            var tileRects = fittingRectangle.Section.Split(dimensions);

            var coordinateRectangle = new CoordinateRectangle(Coordinates.Zero, dimensions);

            foreach (var coordinate in coordinateRectangle.Points)
            {
                tiles.Set(coordinate, tileFactory.Create());
                tiles.Get(coordinate).Position = tileRects.Get(coordinate).Center;
                tiles.Get(coordinate).Scale    = tileRects.Get(coordinate).Dimensions;
            }
            return(tiles);
        }
コード例 #2
0
 public void SetPipeLink(CoordinatePair edge, IActivateableWorldObject pipeLink)
 {
     pipeLinks[edge] = pipeLink;
 }
コード例 #3
0
 public void SetShipComponent(Coordinate position, IActivateableWorldObject shipComponent)
 {
     shipComponents.Add(position, shipComponent);
 }
コード例 #4
0
 public void SetBlock(Coordinate position, IActivateableWorldObject block)
 {
     blocks.Add(position, block);
 }