Example #1
0
        private void NewControl()
        {
            if (m_root != null)
            {
                if (!EditorUtility.DisplayDialog("Confirm New Control", "Are you sure you would like to create a new control? Current layout will be discarded!", "Ok", "Cancel"))
                {
                    return;
                }

                foreach (Control child in m_root.Children)
                {
                    RemoveChildControl(child);
                }

                m_workarea.RemoveChild(m_root);
                RemoveHierarchyEntry(m_root);
            }

            m_root = new Control();

            m_root.SetSize(100.0f, 100.0f);
            m_root.SetPosition(m_workarea.Size.x / 2.0f - 50.0f, m_workarea.Size.y / 2.0f - 50.0f);
            m_root.AddDecorator(new BackgroundColor(Color.gray));

            m_workarea.AddChild(m_root);
            SetSelectedControl(m_root);
            SetInspectorTarget(m_root);

            CreateHierarchyEntry(m_root, 0);
        }
Example #2
0
        public override void DragAndDrop_Hover(Package p, int x, int y)
        {
            Vector2i localPos = CanvasPosToLocal(new Vector2i(x, y));

            Control droppedOn = GetControlAt(localPos.X, localPos.Y);

            if (droppedOn != null && droppedOn != this)
            {
                Vector2i dropPos = droppedOn.CanvasPosToLocal(new Vector2i(x, y));
                m_TabDragControl.SetBounds(new Rectangle(0, 0, 3, Height));
                m_TabDragControl.BringToFront();
                m_TabDragControl.SetPosition(droppedOn.X - 1, 0);

                if (dropPos.X > droppedOn.Width / 2)
                {
                    m_TabDragControl.MoveBy(droppedOn.Width - 1, 0);
                }
                m_TabDragControl.Dock = Pos.None;
            }
            else
            {
                m_TabDragControl.Dock = Pos.Left;
                m_TabDragControl.BringToFront();
            }
        }
Example #3
0
 private void OnLeftButtonDown()
 {
     if (easyModeMovement.GetPosition().x > 420)
     {
         easyModeMovement.SetPosition(new Vector2(easyModeMovement.GetPosition().x - 225, easyModeMovement.GetPosition().y));
     }
 }
Example #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ScrollControl"/> class.
        /// </summary>
        /// <param name="parent">Parent control.</param>
        public ScrollControl(Control parent)
            : base(parent)
        {
            MouseInputEnabled = false;

            m_VerticalScrollBar           = new VerticalScrollBar(this);
            m_VerticalScrollBar.Dock      = Pos.Right;
            m_VerticalScrollBar.BarMoved += VBarMoved;
            m_CanScrollV = true;
            m_VerticalScrollBar.NudgeAmount = 30;

            m_HorizontalScrollBar           = new HorizontalScrollBar(this);
            m_HorizontalScrollBar.Dock      = Pos.Bottom;
            m_HorizontalScrollBar.BarMoved += HBarMoved;
            m_CanScrollH = true;
            m_HorizontalScrollBar.NudgeAmount = 30;

            m_InnerPanel = new Control(this);
            m_InnerPanel.SetPosition(0, 0);
            m_InnerPanel.Margin = Margin.Five;
            m_InnerPanel.SendToBack();
            m_InnerPanel.MouseInputEnabled = false;

            m_AutoHideBars = false;
        }
 private void OnRightButtonDown()
 {
     if (easyModeMovement.GetPosition().x < 870)
     {
         easyModeMovement.SetPosition(new Vector2(easyModeMovement.GetPosition().x + 225, easyModeMovement.GetPosition().y));
     }
 }
Example #6
0
 public static void ScaleControl(Control control, float width, float height, float x, float y)
 {
     if (control == null)
     {
         return;
     }
     control.SetSize(new Vector2(width, height));
     control.SetPosition(new Vector2(x, y));
 }
Example #7
0
        /// <summary>
        /// Centers the control vertically inside its parent.
        /// </summary>
        /// <param name="control"></param>
        public static void CenterVertically(Control control)
        {
            Control parent = control.Parent;

            if (null == parent)
            {
                return;
            }

            control.SetPosition(control.X, (parent.Height - control.Height) / 2);
        }
Example #8
0
        /// <summary>
        /// Moves the control to the bottom of its parent.
        /// </summary>
        /// <param name="control"></param>
        public static void AlignBottom(Control control)
        {
            Control parent = control.Parent;

            if (null == parent)
            {
                return;
            }

            control.SetPosition(control.X, parent.Height - control.Height);
        }
Example #9
0
        /// <summary>
        /// Moves the control to the left of its parent.
        /// </summary>
        /// <param name="control"></param>
        public static void AlignLeft(Control control)
        {
            Control parent = control.Parent;

            if (null == parent)
            {
                return;
            }

            control.SetPosition(parent.Padding.Left, control.Y);
        }
Example #10
0
        /// <summary>
        /// Centers the control inside its parent.
        /// </summary>
        /// <param name="control">Control to center.</param>
        public static void Center(Control control)
        {
            Control parent = control.Parent;

            if (parent == null)
            {
                return;
            }
            control.SetPosition(
                parent.Padding.Left + (((parent.Width - parent.Padding.Left - parent.Padding.Right) - control.Width) / 2),
                (parent.Height - control.Height) / 2);
        }
Example #11
0
        /// <summary>
        /// Centers the control horizontally inside its parent.
        /// </summary>
        /// <param name="control"></param>
        public static void CenterHorizontally(Control control)
        {
            Control parent = control.Parent;

            if (null == parent)
            {
                return;
            }


            control.SetPosition(parent.Padding.Left + (((parent.Width - parent.Padding.Left - parent.Padding.Right) - control.Width) / 2), control.Y);
        }
Example #12
0
        /// <summary>
        /// Moves the control to the right of its parent.
        /// </summary>
        /// <param name="control"></param>
        public static void AlignRight(Control control)
        {
            Control parent = control.Parent;

            if (null == parent)
            {
                return;
            }


            control.SetPosition(parent.Width - control.Width - parent.Padding.Right, control.Y);
        }
Example #13
0
 public void _on_button_pressed()
 {
     if (instanced_scene.Visible == false)
     {
         Vector2 pos = new Vector2(150, 150);
         instanced_scene.SetPosition(pos);
         instanced_scene.Show();
     }
     else
     {
         instanced_scene.Hide();
     }
 }
Example #14
0
        protected override void OnInitialize()
        {
            m_generator = new UFormsCodeGenerator();

            title = "Control Designer";

            m_menu = new DesignerTopMenu();
            m_menu.SetSize(100.0f, CONTROL_DISPLAY_HEIGHT, Control.MetricsUnits.Percentage, Control.MetricsUnits.Pixel);
            m_menu.MenuOptionSelected += HandleMenuOptionSelected;

            AddChild(m_menu);

            m_inspectorFields = new Dictionary <object, PropertyInfo>();
            m_hierarchyItems  = new Dictionary <Control, HierarchyItem>();

            m_inspector = new Control();
            m_inspector.SetPosition(position.width - INSPECTOR_WIDTH, CONTROL_DISPLAY_HEIGHT + TOP_MENU_SPACING);
            m_inspector.SetWidth(INSPECTOR_WIDTH);
            m_inspector.SetMargin(0.0f, 0.0f, SIDE_MARGIN, 0.0f);
            m_inspector.AddDecorator(new StackContent(StackContent.StackMode.Vertical, StackContent.OverflowMode.Flow));
            AddChild(m_inspector);

            m_hierarchy = new Control();
            m_hierarchy.SetPosition(0.0f, CONTROL_DISPLAY_HEIGHT + TOP_MENU_SPACING);
            m_hierarchy.SetWidth(HIERARCHY_WIDTH);
            m_hierarchy.SetMargin(SIDE_MARGIN, 0.0f, 0.0f, 0.0f);
            m_hierarchy.AddDecorator(new StackContent(StackContent.StackMode.Vertical, StackContent.OverflowMode.Flow));
            AddChild(m_hierarchy);

            m_workarea = new Control();
            m_workarea.SetPosition(m_viewportOffset);
            m_workarea.AddDecorator(new ClipContent());

            AddChild(m_workarea);

            m_resizeHandle = new Control();
            m_resizeHandle.SetSize(RESIZE_HANDLE_SIZE, RESIZE_HANDLE_SIZE);
            m_resizeHandle.AddDecorator(new BackgroundColor(Color.blue));
            m_resizeHandle.Visibility = Control.VisibilityMode.Hidden;

            AddChild(m_resizeHandle);

            SetSelectedControl(null);
            SetInspectorTarget(null);

            ShowToolbox();
        }
Example #15
0
        protected override void Update()
        {
            if (m_workarea != null)
            {
                m_workarea.SetSize(position.width - INSPECTOR_WIDTH - HIERARCHY_WIDTH, position.height - CONTROL_DISPLAY_HEIGHT);
            }

            if (m_inspector != null)
            {
                m_inspector.SetPosition(position.width - INSPECTOR_WIDTH, CONTROL_DISPLAY_HEIGHT + TOP_MENU_SPACING);
                m_inspector.SetHeight(position.height - CONTROL_DISPLAY_HEIGHT - TOP_MENU_SPACING);
            }

            if (m_hierarchy != null)
            {
                m_hierarchy.SetHeight(position.height - CONTROL_DISPLAY_HEIGHT - TOP_MENU_SPACING);
            }

            if (m_resizeHandle != null && m_selectedControl != null)
            {
                float x = m_selectedControl.ScreenRect.x + m_selectedControl.Size.x - m_resizeHandle.Size.x / 2.0f + m_viewportOffset.x;
                float y = m_selectedControl.ScreenRect.y + m_selectedControl.Size.y - m_resizeHandle.Size.y / 2.0f + m_viewportOffset.y;

                m_resizeHandle.SetPosition(x, y);
            }

            // Ugliest hack possible, used to update the position field continiously as it is modifiable in the designer
            if (m_inspectorFields != null)
            {
                if (m_inspectorFields.Count > 0 && m_selectedControl != null)
                {
                    foreach (KeyValuePair <object, PropertyInfo> kvp in m_inspectorFields)
                    {
                        if (kvp.Value.Name == "Position" || kvp.Value.Name == "Size")
                        {
                            (kvp.Key as Vector2Field).Value = ( Vector2 )kvp.Value.GetValue(m_selectedControl, null);
                        }
                    }
                }
            }

            base.Update();

            Repaint();
        }
Example #16
0
    private void inicia_cosas()
    {
        try {
            Vector2 tamscreen   = GetViewport().GetVisibleRect().Size;
            Vector2 posicionHUD = new Vector2(tamscreen.x / 2 - 10, tamscreen.y / 2 - 10);

            Control HUD = (Control)GetNode("HUD");
            HUD.SetPosition(posicionHUD);

            // pruebas

            hud_debug = (HUD_Debug)GetNode("HUD_Debug");

/*
 *          for (int i=0;i<1000;i++)
 *              anyadeEnemigo();
 */
        }
        catch (Exception ex) {
        }
    }
Example #17
0
 internal void UpdateViewRect(Rect2 mapViewPortRect)
 {
     viewRect.RectSize = mapViewPortRect.Size * map.tileMap.Scale;
     viewRect.SetPosition((mapViewPortRect.Position + mapViewPortRect.Size / 2) * map.tileMap.Scale - viewRect.RectSize / 2);
 }
Example #18
0
 /// <summary>
 /// Places the control below other control (left aligned), taking margins into account.
 /// </summary>
 /// <param name="control">Control to place.</param>
 /// <param name="anchor">Anchor control.</param>
 /// <param name="spacing">Optional spacing.</param>
 public static void PlaceDownLeft(Control control, Control anchor, int spacing = 0)
 {
     control.SetPosition(anchor.X, anchor.Bottom + spacing);
 }
Example #19
0
 /// <summary>
 /// Places the control to the right of other control (bottom aligned), taking margins into account.
 /// </summary>
 /// <param name="control">Control to place.</param>
 /// <param name="anchor">Anchor control.</param>
 /// <param name="spacing">Optional spacing.</param>
 public static void PlaceRightBottom(Control control, Control anchor, int spacing = 0)
 {
     control.SetPosition(anchor.Right + spacing, anchor.Y - control.Height + anchor.Height);
 }
Example #20
0
 /// <summary>
 /// Moves the control to the top of its parent.
 /// </summary>
 /// <param name="control"></param>
 public static void AlignTop(Control control)
 {
     control.SetPosition(control.X, 0);
 }
Example #21
0
        private void NewControl()
        {
            if ( m_root != null )
            {
                if ( !EditorUtility.DisplayDialog( "Confirm New Control", "Are you sure you would like to create a new control? Current layout will be discarded!", "Ok", "Cancel" ) )
                {
                    return;
                }

                foreach( Control child in m_root.Children )
                {
                    RemoveChildControl( child );                    
                }

                m_workarea.RemoveChild( m_root );
                RemoveHierarchyEntry( m_root );
            }

            m_root = new Control();

            m_root.SetSize( 100.0f, 100.0f );
            m_root.SetPosition( m_workarea.Size.x / 2.0f - 50.0f, m_workarea.Size.y / 2.0f - 50.0f );
            m_root.AddDecorator( new BackgroundColor( Color.gray ) );

            m_workarea.AddChild( m_root );
            SetSelectedControl( m_root );
            SetInspectorTarget( m_root );

            CreateHierarchyEntry( m_root, 0 );
        }
        public BehaviorNodeControl(EditorCachedNode node)
        {
            m_fieldControls = new Dictionary <string, Control>();
            m_node          = node;

            int lines = 0;

            foreach (EditorCachedNodeField field in node.fields)
            {
                Control fieldControl = null;
                int     l            = 0;

                // Create fields per type
                if (field.type == typeof(int))
                {
                    fieldControl = AddChild(new IntField(default(int), field.name));
                    l            = 1;
                }
                else if (field.type == typeof(float))
                {
                    fieldControl = AddChild(new FloatField(default(float), field.name));
                    l            = 1;
                }
                else if (field.type == typeof(Vector2))
                {
                    fieldControl = AddChild(new Vector2Field(default(Vector2), field.name));
                    l            = 2;
                }
                else if (field.type == typeof(Vector3))
                {
                    fieldControl = AddChild(new Vector3Field(default(Vector3), field.name));
                    l            = 2;
                }
                else if (field.type == typeof(Vector4))
                {
                    fieldControl = AddChild(new Vector4Field(default(Vector4), field.name));
                    l            = 2;
                }
                else if (field.type == typeof(string))
                {
                    fieldControl = AddChild(new TextField("", field.name));
                    l            = 1;
                }
                else if (field.type == typeof(Rect))
                {
                    fieldControl = AddChild(new RectField(default(Rect), field.name));
                    l            = 3;
                }
                else if (field.type == typeof(Color))
                {
                    fieldControl = AddChild(new ColorField(default(Color), field.name));
                    l            = 1;
                }
                else if (field.type == typeof(Bounds))
                {
                    fieldControl = AddChild(new BoundsField(default(Bounds), field.name));
                    l            = 3;
                }
                else if (field.type.IsEnum)
                {
                    fieldControl = AddChild(new EnumDropdown((System.Enum)Activator.CreateInstance(field.type), field.name));
                    l            = 1;
                }
                else if (field.type == typeof(bool))
                {
                    fieldControl = AddChild(new Toggle(field.name, false, false));
                    l            = 1;
                }
                else if (field.type == typeof(GameObject))
                {
//                    fieldControl = AddChild(new ObjectField(typeof(GameObject), true, null, "Object Target"));
                    fieldControl = AddChild(new ObjectField(new Vector2(50, 50), new Vector2(50, 10), typeof(GameObject), true, null, "Object Target"));
                    l            = 1;
                }
                else
                {
                    Debug.LogWarning(string.Format("Unsupported field type `{0}({1})` encountered in node `{2}`", field.name, field.type, node.displayName));
                }

                if (fieldControl != null)
                {
                    m_fieldControls.Add(field.name, fieldControl);

                    fieldControl
                    .SetPosition(INNER_PADDING, HEADER_SIZE + LINE_SIZE * lines)
                    .SetSize(BOX_WIDTH - INNER_PADDING - INNER_PADDING, LINE_SIZE);

                    lines += l;
                }
            }

            if (m_node.nodeType != BehaviorTrees.BehaviorNodeAttribute.NodeType.Leaf)
            {
                lines++;    // Add extra line of padding at the bottom
            }

            m_canvas = (GraphicsCanvas)AddDecorator(new GraphicsCanvas());

            SetHeight(HEADER_SIZE + FOOTER_PADDING + LINE_SIZE * lines);

            // Create outputs
            m_outputs       = new List <BehaviorNodeControl>();
            m_outputButtons = new List <Button>();
            m_outputLines   = new List <BezierCurve>();

            UpdateOutputs();
        }
Example #23
0
        protected override void OnInitialize()
        {
            m_generator = new UFormsCodeGenerator();

            title = "Control Designer";
            
            m_menu = new DesignerTopMenu();
            m_menu.SetSize( 100.0f, CONTROL_DISPLAY_HEIGHT, Control.MetricsUnits.Percentage, Control.MetricsUnits.Pixel );
            m_menu.MenuOptionSelected += HandleMenuOptionSelected;

            AddChild( m_menu );

            m_inspectorFields = new Dictionary<object, PropertyInfo>();
            m_hierarchyItems = new Dictionary<Control, HierarchyItem>();

            m_inspector = new Control();
            m_inspector.SetPosition( position.width - INSPECTOR_WIDTH , CONTROL_DISPLAY_HEIGHT + TOP_MENU_SPACING );
            m_inspector.SetWidth( INSPECTOR_WIDTH );
            m_inspector.SetMargin( 0.0f, 0.0f, SIDE_MARGIN, 0.0f );
            m_inspector.AddDecorator( new StackContent( StackContent.StackMode.Vertical, StackContent.OverflowMode.Flow ) );
            AddChild( m_inspector );

            m_hierarchy = new Control();
            m_hierarchy.SetPosition( 0.0f, CONTROL_DISPLAY_HEIGHT + TOP_MENU_SPACING );
            m_hierarchy.SetWidth( HIERARCHY_WIDTH );
            m_hierarchy.SetMargin( SIDE_MARGIN, 0.0f, 0.0f, 0.0f );
            m_hierarchy.AddDecorator( new StackContent( StackContent.StackMode.Vertical, StackContent.OverflowMode.Flow ) );
            AddChild( m_hierarchy );

            m_workarea = new Control();
            m_workarea.SetPosition( m_viewportOffset );
            m_workarea.AddDecorator( new ClipContent() );

            AddChild( m_workarea );

            m_resizeHandle = new Control();
            m_resizeHandle.SetSize( RESIZE_HANDLE_SIZE, RESIZE_HANDLE_SIZE );
            m_resizeHandle.AddDecorator( new BackgroundColor( Color.blue ) );
            m_resizeHandle.Visibility = Control.VisibilityMode.Hidden;

            AddChild( m_resizeHandle );

            SetSelectedControl( null );
            SetInspectorTarget( null );

            ShowToolbox();
        }