public Vessel(Guid id, string name, CubicCoordinates cubicCoordinates, Player captain, Player radioman) { Id = id; Name = name; CubicCoordinates = cubicCoordinates; Captain = captain; Radioman = radioman; }
public bool Equals(CubicCoordinates cubic) { if (cubic == null) { return(false); } return( X == cubic.X && Y == cubic.Y && Z == cubic.Z ); }
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)); }
public CubicCoordinates ToCubic() => CubicCoordinates.FromAxial(this);
public bool EqualsCubic(CubicCoordinates cubic) => AxialCoordinates .FromCubic(cubic) .Equals(this);
public static AxialCoordinates FromOffset(OffsetCoordinates offset) => AxialCoordinates.FromCubic( CubicCoordinates.FromOffset(offset) );
public static AxialCoordinates FromCubic(CubicCoordinates cubic) => new AxialCoordinates(x: cubic.X, z: cubic.Z);
public Tile GetTileFromCoordinates(CubicCoordinates cubicCoordinates) => Tiles.SingleOrDefault(x => x.CubicCoordinates.Equals(cubicCoordinates));
public CubicCoordinates ToCubic() => CubicCoordinates.FromOffset(this);
public static OffsetCoordinates FromCubic(CubicCoordinates cubic) => OffsetCoordinates.FromAxial( AxialCoordinates.FromCubic(cubic) );
public CubicCoordinates UpdateCoordinates(CubicCoordinates cubicCoordinates) { CubicCoordinates = cubicCoordinates; return(CubicCoordinates); }
public bool EqualsOffset(OffsetCoordinates offset) => CubicCoordinates .FromOffset(offset) .Equals(this);
public bool EqualsAxial(AxialCoordinates axial) => CubicCoordinates .FromAxial(axial) .Equals(this);