本文整理汇总了C#中Ship.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Ship.GetType方法的具体用法?C# Ship.GetType怎么用?C# Ship.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ship
的用法示例。
在下文中一共展示了Ship.GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Add
public void Add(Ship ship)
{
if (!GetDiffInQuantitiesOfRequiredAndActualShips().ContainsKey(ship.GetType()))
throw new BoardAlreadyHasNecessaryShipsException(
$"Board already has all necessary {ship.GetType().Name} ships!");
if (ship.EndX > 10 ||
ship.EndY > 10)
throw new ArgumentOutOfRangeException();
foreach (var alreadyAddedShip in _ships)
{
if (ship.OverlapsWith(alreadyAddedShip))
{
throw new ShipOverlapException($"Ship {ship} overlaps with {alreadyAddedShip}");
}
}
_ships.Add(ship);
}
示例2: addShipToMinimap
private void addShipToMinimap(Ship ship, ref Ship activeMiniShipDisplay)
{
if (ship.GetType() == typeof(Drone) || ship.ShipState == ShipState.Exploding || ship.ShipState == ShipState.Dead)
{
return;
}
Sprite miniShip = new Sprite(GameContent.Assets.Images.MiniShips[ship.ShipType], miniMap.Position + (ship.WorldCoords / MinimapDivAmount), playerSb);
if (StateManager.NetworkData.IsMultiplayer && StateManager.NetworkData.SessionMode == MultiplayerSessionType.TDM)
{
miniShip.Texture = GameContent.Assets.Images.MiniShips[ship.PlayerType];
}
miniShip.Scale = ship.PlayerType == PlayerType.MyShip || ship.PlayerType == PlayerType.Ally ? new Vector2(.1f) : new Vector2(.07f);
miniShip.Color = ship.PlayerType == PlayerType.MyShip || ship.PlayerType == PlayerType.Ally ? Color.Green : Color.Red;
if (StateManager.ShowShipData)
{
miniShip.Rotation = ship.Rotation;
}
miniShip.UseCenterAsOrigin = true;
miniShips.Add(miniShip);
if (ship.PlayerType == PlayerType.MyShip)
{
_minimapYou = miniShip;
}
#if WINDOWS
//TODO: Minimap ship info showing up on Xbox
if (miniShip.Intersects(MouseManager.CurrentMouseState) && activeMiniShipDisplay == null)
{
bool intersectsFOW = false;
if (fogOfWar != null)
{
for (int row = 0; row <= StateManager.KnownMap.GetUpperBound(1); row++)
{
for (int column = 0; column <= StateManager.KnownMap.GetUpperBound(0); column++)
{
intersectsFOW = !StateManager.KnownMap[column, row] && fogOfWar[column, row].Intersects(miniShip);
if (intersectsFOW)
{
break;
}
}
if (intersectsFOW)
{
break;
}
}
}
if (!intersectsFOW)
{
activeMiniShipDisplay = ship;
}
}
#endif
}