public override BehaviourResult Clicked(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { Road side = rayMeshResult.VisualHit as Road; if (side != null) { List<BuildPointVisual> x = new List<BuildPointVisual>(); foreach (BuildPointVisual bpv in board.Children.OfType<BuildPointVisual>()) x.Add(bpv); foreach (BuildPointVisual bp in x) board.Children.Remove(bp); BuildPointVisual bpv1 = new BuildPointVisual(board.CalculatePosition(side.Location.HexPoint1), side.Location.HexPoint1); BuildPointVisual bpv2 = new BuildPointVisual(board.CalculatePosition(side.Location.HexPoint2), side.Location.HexPoint2); board.Children.Add(bpv1); board.Children.Add(bpv2); } return BehaviourResult.NoSuccess; }
public override void Moved(RayMeshGeometry3DHitTestResult rayMeshResult, BoardVisual board) { BuildPointVisual buildPoint = rayMeshResult.VisualHit as BuildPointVisual; if (buildPoint != null) { buildPoint.Scale.ScaleX = 2; buildPoint.Scale.ScaleY = 2; buildPoint.Scale.ScaleZ = 2; _OldBuildPoint = buildPoint; } else { if (_OldBuildPoint != null) { _OldBuildPoint.Scale.ScaleX = 1; _OldBuildPoint.Scale.ScaleY = 1; _OldBuildPoint.Scale.ScaleZ = 1; } } }