public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { PortVisual port = rayMeshResult.VisualHit as PortVisual; if (port !=null) { board.ShowSideNeighbours(port.XmlPort.SideLocation); return BehaviourResult.NoSuccess; } HexVisual hex = rayMeshResult.VisualHit as HexVisual; if (hex != null) { List<HexPoint> temp = new List<HexPoint>(); List<HexPoint> temp2 = hex.Hex.Location.GetNeighbourPoints(); temp.Add(temp2[0]); temp.Add(temp2[1]); temp.Add(temp2[4]); board.ShowPoints(temp); } Road road = rayMeshResult.VisualHit as Road; if (road != null) { //board.Game.PlayerOnTurn.Towns.Add(buildPoint.Location); //board.ShowNeighbours(road.Location); board.ShowSideNeighbours(road.Location); return BehaviourResult.NoSuccess; } return BehaviourResult.NoSuccess; }