Пример #1
0
 public virtual bool onDrop(Vector2 _Position)
 {
     if (MenuManager.menuManager.ActiveContainer != null)
     {
         Component var_Menu         = MenuManager.menuManager.ActiveContainer;
         Component var_TopComponent = var_Menu.getTopComponent(_Position);
         return(var_TopComponent.AllowsDropIn && var_TopComponent.componentIsDropedIn(this));
     }
     return(false);
 }
Пример #2
0
        //Basiert darauf das Objekte die zuletzt drauf kommen weiter oben sind. In der Ansicht!
        //TODO: Iteriere vll rückwärts ;) Also top down statt bottom up
        public override Component getTopComponent(Vector2 _Position)
        {
            Component var_Result = null;

            foreach (Component var_Component in this.components)
            {
                if (var_Component is DragAndDrop)
                {
                    if (!((DragAndDrop)var_Component).IsDraged)
                    {
                        if (var_Component.IsActive)
                        {
                            if (var_Component.IsInBounds(_Position))
                            {
                                var_Result = var_Component;
                            }
                        }
                    }
                }
                else
                {
                    if (var_Component.IsActive)
                    {
                        if (var_Component.IsInBounds(_Position))
                        {
                            var_Result = var_Component;
                        }
                    }
                }
            }
            if (var_Result != null)
            {
                return(var_Result.getTopComponent(_Position));
            }
            return(this);
        }