コード例 #1
0
 public Vessel(Guid id, string name, CubicCoordinates cubicCoordinates, Player captain, Player radioman)
 {
     Id               = id;
     Name             = name;
     CubicCoordinates = cubicCoordinates;
     Captain          = captain;
     Radioman         = radioman;
 }
コード例 #2
0
ファイル: CubicCoordinates.cs プロジェクト: NaJ64/ballast
 public bool Equals(CubicCoordinates cubic)
 {
     if (cubic == null)
     {
         return(false);
     }
     return(
         X == cubic.X &&
         Y == cubic.Y &&
         Z == cubic.Z
         );
 }
コード例 #3
0
ファイル: Game.cs プロジェクト: NaJ64/ballast
        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));
        }
コード例 #4
0
 public CubicCoordinates ToCubic() => CubicCoordinates.FromAxial(this);
コード例 #5
0
 public bool EqualsCubic(CubicCoordinates cubic) =>
 AxialCoordinates
 .FromCubic(cubic)
 .Equals(this);
コード例 #6
0
 public static AxialCoordinates FromOffset(OffsetCoordinates offset) =>
 AxialCoordinates.FromCubic(
     CubicCoordinates.FromOffset(offset)
     );
コード例 #7
0
 public static AxialCoordinates FromCubic(CubicCoordinates cubic) =>
 new AxialCoordinates(x: cubic.X, z: cubic.Z);
コード例 #8
0
ファイル: Board.cs プロジェクト: NaJ64/ballast
 public Tile GetTileFromCoordinates(CubicCoordinates cubicCoordinates) =>
 Tiles.SingleOrDefault(x => x.CubicCoordinates.Equals(cubicCoordinates));
コード例 #9
0
 public CubicCoordinates ToCubic() => CubicCoordinates.FromOffset(this);
コード例 #10
0
 public static OffsetCoordinates FromCubic(CubicCoordinates cubic) =>
 OffsetCoordinates.FromAxial(
     AxialCoordinates.FromCubic(cubic)
     );
コード例 #11
0
 public CubicCoordinates UpdateCoordinates(CubicCoordinates cubicCoordinates)
 {
     CubicCoordinates = cubicCoordinates;
     return(CubicCoordinates);
 }
コード例 #12
0
ファイル: CubicCoordinates.cs プロジェクト: NaJ64/ballast
 public bool EqualsOffset(OffsetCoordinates offset) =>
 CubicCoordinates
 .FromOffset(offset)
 .Equals(this);
コード例 #13
0
ファイル: CubicCoordinates.cs プロジェクト: NaJ64/ballast
 public bool EqualsAxial(AxialCoordinates axial) =>
 CubicCoordinates
 .FromAxial(axial)
 .Equals(this);