예제 #1
0
    private void OnEnable()
    {
        _camera           = FindObjectOfType <Camera>();
        _lineCircle       = FindObjectOfType <LineCircle>();
        _shuffler         = FindObjectOfType <Shuffler>();
        _timeStepper      = FindObjectOfType <TimeStepper>();
        _snapToBounds     = FindObjectOfType <SnapToBounds>();
        _patternOverrides = FindObjectOfType <PatternOverrides>();
        _post             = FindObjectOfType <PostProcessVolume>().profile;
        _cameraControl    = FindObjectOfType <CameraControl>();
        _pauser           = FindObjectOfType <LineCirclePauser>();

        _mainPanel = transform.Find("Container").gameObject;

        var mainPanelTransform = _mainPanel.transform;

        SetupContainerControls(mainPanelTransform);
        SetupCameraControls();
        SetupPatternControls();
        SetupGeneratorControls();
        SetupAdvancedControls();

        _lineCircle.OnPatternChanged += HandlePatternChanged;

        NavigateToPage(0);
        SetMenu(false);
    }
예제 #2
0
        public ResizeHandles(Layer layer)
        {
            for (int i = 0; i < mHandles.Length; i++)
            {
                mHandles[i]        = new LineCircle();
                mHandles[i].Radius = RadiusAtNoZoom;
                ShapeManager.Self.Add(mHandles[i], layer);
            }

            mXLine1      = new Line(null);
            mXLine2      = new Line(null);
            mXLine1.Name = "Resize Handle X Line 1";
            mXLine2.Name = "Resize Handle X Line 2";

            ShapeManager.Self.Add(mXLine1, layer);
            ShapeManager.Self.Add(mXLine2, layer);

            mOriginLine      = new Line(null);
            mOriginLine.Name = "Resize Handle Offset Line";
            ShapeManager.Self.Add(mOriginLine, layer);


            Visible = true;
            UpdateToProperties();
        }
예제 #3
0
        internal static bool TryHandleAsBaseType(string baseType, SystemManagers systemManagers, out IRenderable containedObject)
        {
            bool handledAsBaseType = true;

            containedObject = null;

            switch (baseType)
            {
            case "Container":

                LineRectangle lineRectangle = new LineRectangle(systemManagers);
                containedObject = lineRectangle;
                break;

            case "Rectangle":
                LineRectangle rectangle = new LineRectangle();
                rectangle.IsDotted = false;
                containedObject    = rectangle;
                break;

            case "Circle":
                LineCircle circle = new LineCircle();
                circle.CircleOrigin = CircleOrigin.TopLeft;
                containedObject     = circle;
                break;

            case "ColoredRectangle":
                SolidRectangle solidRectangle = new SolidRectangle();
                containedObject = solidRectangle;
                break;

            case "Sprite":
                Texture2D texture = null;

                Sprite sprite = new Sprite(texture);
                containedObject = sprite;

                break;

            case "NineSlice":
            {
                NineSlice nineSlice = new NineSlice();
                containedObject = nineSlice;
            }
            break;

            case "Text":
            {
                Text text = new Text(systemManagers, "");
                containedObject = text;
            }
            break;

            default:
                handledAsBaseType = false;
                break;
            }

            return(handledAsBaseType);
        }
예제 #4
0
        public StandardWireframeEditor(Layer layer)
        {
            mResizeHandles            = new ResizeHandles(layer);
            mResizeHandles.ShowOrigin = true;
            mResizeHandles.Visible    = false;

            rotationHandle       = new LineCircle();
            rotationHandle.Color = Color.Yellow;
            ShapeManager.Self.Add(rotationHandle, layer);
            rotationHandle.Visible = false;
        }
예제 #5
0
    public static int CreateCircle(Vector2 center, float radius, Color c)
    {
        int        currentID = circle.Count;
        LineCircle l         = new LineCircle(center, radius, c);

        if (circle.Contains(l))
        {
            Debugger.LogError("Line existed: ");
            return(-1);
        }
        circle.Add(l);
        return(currentID);
    }
예제 #6
0
        public ResizeHandles(Layer layer)
        {
            for (int i = 0; i < mHandles.Length; i++)
            {
                mHandles[i]        = new LineCircle();
                mHandles[i].Radius = RadiusAtNoZoom;
                ShapeManager.Self.Add(mHandles[i], layer);
            }

            originDisplay = new OriginDisplay(layer);

            Visible = true;
            UpdateToProperties();
        }
예제 #7
0
        public override void Init(string word, double duration)
        {
            if (Parent != null)
            {
                transform.SetParent(Parent);
            }
            transform.localPosition = Vector3.zero;
            lineCircle = gameObject.AddComponent <LineCircle>();
            radius     = FontSize > 0 ? FontSize : Random.Range(100, 400);
            lineCircle.transform.localPosition = OffsetLocalPosition;

            gameObject.layer = 12;
//            lineCircle.lineWidth = 4;
            lineCircle.Init();
        }
예제 #8
0
        public RectangleSelector(SystemManagers managers)
        {
            HandleSize            = 4;
            ResetsCursorIfNotOver = true;
            mShowHandles          = true;
            mHandles       = new List <LineCircle>();
            mLineRectangle = new LineRectangle(managers);

            for (int i = 0; i < 8; i++)
            {
                LineCircle lineCircle = new LineCircle(managers);
                lineCircle.Radius = HandleSize;
                mHandles.Add(lineCircle);
            }

            Width  = 34;
            Height = 34;
        }
예제 #9
0
    private void Awake()
    {
        _camera       = FindObjectOfType <Camera>();
        _camTransform = _camera.transform;

        _lineCircle   = FindObjectOfType <LineCircle>();
        _shuffler     = FindObjectOfType <Shuffler>();
        _snapToBounds = FindObjectOfType <SnapToBounds>();

        _lineCircle.OnPatternChanged += HandlePatternChanged;

        _targetFovSize = FovToSize(_camera.fieldOfView, _snapToBounds.PerspectiveCenterDistance);
        _fovSize       = _targetFovSize;

        _orbitReference          = new GameObject("Orbit Reference").transform;
        _orbitReference.position = new Vector3(0f, 0f, _snapToBounds.PerspectiveCenterDistance);
        UpdateCameraPosition();
    }
        internal static bool TryHandleAsBaseType(string baseType, SystemManagers systemManagers, out IRenderable containedObject)
        {
            bool handledAsBaseType = true;

            containedObject = null;
#if MONOGAME
            switch (baseType)
            {
            case "Container":
            case "Component":     // this should never be set in Gum, but there could be XML errors or someone could have used an old Gum...
                if (GraphicalUiElement.ShowLineRectangles)
                {
                    LineRectangle lineRectangle = new LineRectangle(systemManagers);
                    containedObject = lineRectangle;
                }
                else
                {
                    containedObject = new InvisibleRenderable();
                }
                break;

            case "Rectangle":
                LineRectangle rectangle = new LineRectangle(systemManagers);
                rectangle.IsDotted = false;
                containedObject    = rectangle;
                break;

            case "Circle":
                LineCircle circle = new LineCircle(systemManagers);
                circle.CircleOrigin = CircleOrigin.TopLeft;
                containedObject     = circle;
                break;

            case "Polygon":
                LinePolygon polygon = new LinePolygon(systemManagers);
                containedObject = polygon;
                break;

            case "ColoredRectangle":
                SolidRectangle solidRectangle = new SolidRectangle();
                containedObject = solidRectangle;
                break;

            case "Sprite":
                Texture2D texture = null;

                Sprite sprite = new Sprite(texture);
                containedObject = sprite;

                break;

            case "NineSlice":
            {
                NineSlice nineSlice = new NineSlice();
                containedObject = nineSlice;
            }
            break;

            case "Text":
            {
                Text text = new Text(systemManagers, "");
                containedObject = text;
            }
            break;

            default:
                handledAsBaseType = false;
                break;
            }
#endif
            return(handledAsBaseType);
        }