Exemplo n.º 1
0
 public Vessel(Guid id, string name, CubicCoordinates cubicCoordinates, Player captain, Player radioman)
 {
     Id               = id;
     Name             = name;
     CubicCoordinates = cubicCoordinates;
     Captain          = captain;
     Radioman         = radioman;
 }
Exemplo n.º 2
0
 public bool Equals(CubicCoordinates cubic)
 {
     if (cubic == null)
     {
         return(false);
     }
     return(
         X == cubic.X &&
         Y == cubic.Y &&
         Z == cubic.Z
         );
 }
Exemplo n.º 3
0
        public CubicCoordinates UpdateVesselCoordinates(Guid vesselId, CubicCoordinates cubicCoordinates)
        {
            var foundVessel = this._vessels.SingleOrDefault(x => x.Id == vesselId);

            if (foundVessel == null)
            {
                throw new KeyNotFoundException($"Could not locate vessel with id '{vesselId}'");
            }
            var foundTile = this.Board.GetTileFromCoordinates(cubicCoordinates);

            if (foundTile == null)
            {
                throw new KeyNotFoundException($"Could not locate tile with coordinates '{cubicCoordinates.ToOrderedTriple()}'");
            }
            if (!foundTile.Terrain.Passable)
            {
                throw new InvalidOperationException($"The requested tile terrain is not passable");
            }
            return(foundVessel.UpdateCoordinates(cubicCoordinates));
        }
Exemplo n.º 4
0
 public CubicCoordinates ToCubic() => CubicCoordinates.FromAxial(this);
Exemplo n.º 5
0
 public bool EqualsCubic(CubicCoordinates cubic) =>
 AxialCoordinates
 .FromCubic(cubic)
 .Equals(this);
Exemplo n.º 6
0
 public static AxialCoordinates FromOffset(OffsetCoordinates offset) =>
 AxialCoordinates.FromCubic(
     CubicCoordinates.FromOffset(offset)
     );
Exemplo n.º 7
0
 public static AxialCoordinates FromCubic(CubicCoordinates cubic) =>
 new AxialCoordinates(x: cubic.X, z: cubic.Z);
Exemplo n.º 8
0
 public Tile GetTileFromCoordinates(CubicCoordinates cubicCoordinates) =>
 Tiles.SingleOrDefault(x => x.CubicCoordinates.Equals(cubicCoordinates));
Exemplo n.º 9
0
 public CubicCoordinates ToCubic() => CubicCoordinates.FromOffset(this);
Exemplo n.º 10
0
 public static OffsetCoordinates FromCubic(CubicCoordinates cubic) =>
 OffsetCoordinates.FromAxial(
     AxialCoordinates.FromCubic(cubic)
     );
Exemplo n.º 11
0
 public CubicCoordinates UpdateCoordinates(CubicCoordinates cubicCoordinates)
 {
     CubicCoordinates = cubicCoordinates;
     return(CubicCoordinates);
 }
Exemplo n.º 12
0
 public bool EqualsOffset(OffsetCoordinates offset) =>
 CubicCoordinates
 .FromOffset(offset)
 .Equals(this);
Exemplo n.º 13
0
 public bool EqualsAxial(AxialCoordinates axial) =>
 CubicCoordinates
 .FromAxial(axial)
 .Equals(this);