public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { HexSideVisual hexSideVisual = rayMeshResult.VisualHit as HexSideVisual; if (hexSideVisual != null) { _Location = hexSideVisual.Location; board.SetNeutral(); ((BuildShipAction)_OriginatingAction).Intersection = hexSideVisual.Location; return BehaviourResult.Success; } return BehaviourResult.NoSuccess; }
public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { BuildPointVisual buildPoint = rayMeshResult.VisualHit as BuildPointVisual; if (buildPoint != null) { //board.Game.PlayerOnTurn.Towns.Add(buildPoint.Location); board.SetNeutral(); ((BuildTownAction)_OriginatingAction).Location = buildPoint.Location; return BehaviourResult.Success; } return BehaviourResult.NoSuccess; }
public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { Road hsv = rayMeshResult.VisualHit as Road; if (hsv != null) { hsv.IsRoadSelected = true; } BuildPointVisual buildPoint = rayMeshResult.VisualHit as BuildPointVisual; if (buildPoint != null) { //board.Game.PlayerOnTurn.Cities.Add(buildPoint.Location); _Location = buildPoint.Location; board.SetNeutral(); ((BuildCityAction)_OriginatingAction).Location = buildPoint.Location; return BehaviourResult.Success; } return BehaviourResult.NoSuccess; }
public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { HexSideVisual hexSide = rayMeshResult.VisualHit as HexSideVisual; if (hexSide != null) { if (_ShipToMove == null) { // player has not yet selected a ship to move. Show moveable ships //board.SetMoveShip(); _ShipToMove = hexSide.Location; board.SetMoveToShip(_ShipToMove); return BehaviourResult.NoSuccess; } else { MoveShipAction moveShip = _OriginatingAction as MoveShipAction; moveShip.OldLocation = _ShipToMove; moveShip.NewLocation = hexSide.Location; board.SetNeutral(); return BehaviourResult.Success; } } return BehaviourResult.NoSuccess; }
public override void RemoveStartState(BoardVisual board) { board.SetNeutral(); }