Esempio n. 1
0
        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();
        }
Esempio n. 2
0
    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();
        }
Esempio n. 4
0
        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();
        }