private void SetPlacement(PlacementOptions placement) { switch (placement) { case PlacementOptions.Top: elements.GetPlacementComboBox().SelectItemByName("Top"); break; case PlacementOptions.Bottom: elements.GetPlacementComboBox().SelectItemByName("Bottom"); break; case PlacementOptions.Left: elements.GetPlacementComboBox().SelectItemByName("Left"); break; case PlacementOptions.Right: elements.GetPlacementComboBox().SelectItemByName("Right"); break; case PlacementOptions.TopEdgeAlignedRight: elements.GetPlacementComboBox().SelectItemByName("TopEdgeAlignedRight"); break; case PlacementOptions.TopEdgeAlignedLeft: elements.GetPlacementComboBox().SelectItemByName("TopEdgeAlignedLeft"); break; case PlacementOptions.BottomEdgeAlignedRight: elements.GetPlacementComboBox().SelectItemByName("BottomEdgeAlignedRight"); break; case PlacementOptions.BottomEdgeAlignedLeft: elements.GetPlacementComboBox().SelectItemByName("BottomEdgeAlignedLeft"); break; case PlacementOptions.LeftEdgeAlignedTop: elements.GetPlacementComboBox().SelectItemByName("LeftEdgeAlignedTop"); break; case PlacementOptions.LeftEdgeAlignedBottom: elements.GetPlacementComboBox().SelectItemByName("LeftEdgeAlignedBottom"); break; case PlacementOptions.RightEdgeAlignedTop: elements.GetPlacementComboBox().SelectItemByName("RightEdgeAlignedTop"); break; case PlacementOptions.RightEdgeAlignedBottom: elements.GetPlacementComboBox().SelectItemByName("RightEdgeAlignedBottom"); break; default: elements.GetPlacementComboBox().SelectItemByName("Auto"); break; } elements.GetSetPlacementButton().Invoke(); }
private bool GetTrialPosition(PlacementOptions options, bool mainTarget, List <Vector3> objectsToAvoid, out Vector3 position) { var referencePosition = m_groundZeroPosition; float minDist = options != null ? options.minDistFromMainTarget : 2000; float maxDist = options != null ? options.maxDistFromMainTarget : 3000; float minSeparation = options != null ? options.minSeparation : 200; float minAngle = options != null ? options.minAngleFromNorth : 0; float maxAngle = options != null ? options.maxAngleFromNorth : 360; if (mainTarget) { referencePosition = m_playerPosition; minDist = m_minDistanceFromPlayer; maxDist = m_maxDistanceFromPlayer; minAngle = m_minAngleFromNorth; maxAngle = m_maxAngleFromNorth; } referencePosition.y = 0; float distance = Random.Range(minDist, maxDist); float radialAngle = Random.Range(minAngle, maxAngle); var radialRotation = Quaternion.Euler(0, radialAngle, 0); bool success = true; position = Vector3.forward * distance; position = radialRotation * position; position += referencePosition; if (objectsToAvoid == null) { return(true); } for (int i = 0; i < objectsToAvoid.Count; i++) { var otherPosition = objectsToAvoid[i]; otherPosition.y = 0; float separation = (position - otherPosition).magnitude; success = success && separation >= minSeparation; if (!success) { break; } } return(success); }
private void SetPreferredPlacement(PlacementOptions placement) { switch (placement) { case PlacementOptions.Top: elements.GetPreferredPlacementComboBox().SelectItemByName("Top"); break; case PlacementOptions.Bottom: elements.GetPreferredPlacementComboBox().SelectItemByName("Bottom"); break; case PlacementOptions.Left: elements.GetPreferredPlacementComboBox().SelectItemByName("Left"); break; case PlacementOptions.Right: elements.GetPreferredPlacementComboBox().SelectItemByName("Right"); break; case PlacementOptions.TopRight: elements.GetPreferredPlacementComboBox().SelectItemByName("TopRight"); break; case PlacementOptions.TopLeft: elements.GetPreferredPlacementComboBox().SelectItemByName("TopLeft"); break; case PlacementOptions.BottomRight: elements.GetPreferredPlacementComboBox().SelectItemByName("BottomRight"); break; case PlacementOptions.BottomLeft: elements.GetPreferredPlacementComboBox().SelectItemByName("BottomLeft"); break; case PlacementOptions.LeftTop: elements.GetPreferredPlacementComboBox().SelectItemByName("LeftTop"); break; case PlacementOptions.LeftBottom: elements.GetPreferredPlacementComboBox().SelectItemByName("LeftBottom"); break; case PlacementOptions.RightTop: elements.GetPreferredPlacementComboBox().SelectItemByName("RightTop"); break; case PlacementOptions.RightBottom: elements.GetPreferredPlacementComboBox().SelectItemByName("RightBottom"); break; case PlacementOptions.Center: elements.GetPreferredPlacementComboBox().SelectItemByName("Center"); break; default: elements.GetPreferredPlacementComboBox().SelectItemByName("Auto"); break; } elements.GetSetPreferredPlacementButton().Invoke(); }
private void SetPlacement(PlacementOptions placement) { if (elements.placementComboBox == null) { Log.Comment("Find the PlacementComboBox"); elements.placementComboBox = new ComboBox(FindElement.ByName("PlacementComboBox")); Verify.IsNotNull(elements.placementComboBox); } if (elements.setPlacementButton == null) { Log.Comment("Find the SetPlacementButton"); elements.setPlacementButton = new Button(FindElement.ByName("SetPlacementButton")); Verify.IsNotNull(elements.setPlacementButton); } switch (placement) { case PlacementOptions.Top: elements.placementComboBox.SelectItemByName("Top"); break; case PlacementOptions.Bottom: elements.placementComboBox.SelectItemByName("Bottom"); break; case PlacementOptions.Left: elements.placementComboBox.SelectItemByName("Left"); break; case PlacementOptions.Right: elements.placementComboBox.SelectItemByName("Right"); break; case PlacementOptions.TopEdgeAlignedRight: elements.placementComboBox.SelectItemByName("TopEdgeAlignedRight"); break; case PlacementOptions.TopEdgeAlignedLeft: elements.placementComboBox.SelectItemByName("TopEdgeAlignedLeft"); break; case PlacementOptions.BottomEdgeAlignedRight: elements.placementComboBox.SelectItemByName("BottomEdgeAlignedRight"); break; case PlacementOptions.BottomEdgeAlignedLeft: elements.placementComboBox.SelectItemByName("BottomEdgeAlignedLeft"); break; case PlacementOptions.LeftEdgeAlignedTop: elements.placementComboBox.SelectItemByName("LeftEdgeAlignedTop"); break; case PlacementOptions.LeftEdgeAlignedBottom: elements.placementComboBox.SelectItemByName("LeftEdgeAlignedBottom"); break; case PlacementOptions.RightEdgeAlignedTop: elements.placementComboBox.SelectItemByName("RightEdgeAlignedTop"); break; case PlacementOptions.RightEdgeAlignedBottom: elements.placementComboBox.SelectItemByName("RightEdgeAlignedBottom"); break; default: elements.placementComboBox.SelectItemByName("Auto"); break; } elements.setPlacementButton.Invoke(); }