Exemplo n.º 1
0
 public BoardItemsEnumerator(BoardItemsManager parent)
 {
     this.parent   = parent;
     currList      = parent.BackBackgrounds;
     listIndex     = -1;
     currListIndex = 0;
 }
        private void GetObjsUnderPointFromList(IMapleList list, Point locationVirtualPos, ref BoardItem itemUnderPoint, ref BoardItem selectedUnderPoint, ref bool selectedItemHigher)
        {
            if (!list.IsItem)
            {
                return;
            }
            SelectionInfo sel = selectedBoard.GetUserSelectionInfo();

            if (list.ListType == ItemTypes.None)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    BoardItem item = (BoardItem)list[i];
                    if ((selectedBoard.EditedTypes & item.Type) != item.Type)
                    {
                        continue;
                    }
                    if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) &&
                        !(item is HaCreator.MapEditor.Input.Mouse) &&
                        item.CheckIfLayerSelected(sel) &&
                        !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
                    {
                        if (item.Selected)
                        {
                            selectedUnderPoint = item;
                            selectedItemHigher = true;
                        }
                        else
                        {
                            itemUnderPoint     = item;
                            selectedItemHigher = false;
                        }
                    }
                }
            }
            else if ((selectedBoard.EditedTypes & list.ListType) == list.ListType)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    BoardItem item = (BoardItem)list[i];
                    if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) &&
                        !(item is HaCreator.MapEditor.Input.Mouse) &&
                        !(item is HaCreator.MapEditor.Input.Mouse) &&
                        item.CheckIfLayerSelected(sel) &&
                        !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
                    {
                        if (item.Selected)
                        {
                            selectedUnderPoint = item;
                            selectedItemHigher = true;
                        }
                        else
                        {
                            itemUnderPoint     = item;
                            selectedItemHigher = false;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
 public void RenderList(IMapleList list, SpriteBatch sprite, int xShift, int yShift)
 {
     if (list.ListType == ItemTypes.None)
     {
         foreach (BoardItem item in list)
         {
             if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y) && ((ApplicationSettings.visibleTypes & item.Type) == item.Type))
             {
                 item.Draw(sprite, item.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex, item.Selected), xShift, yShift);
             }
         }
     }
     else if ((ApplicationSettings.visibleTypes & list.ListType) == list.ListType)
     {
         if (list.Selectable)
         {
             foreach (BoardItem item in list)
             {
                 if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y))
                 {
                     item.Draw(sprite, item.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex, item.Selected), xShift, yShift);
                 }
             }
         }
         else
         {
             foreach (MapleLine line in list)
             {
                 line.Draw(sprite, line.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex), xShift, yShift);
             }
         }
     }
 }
Exemplo n.º 4
0
 public ItemsEnumeratorBase(ItemsCollectionBase icb)
 {
     parent = icb.Manager;
     items = icb.Items;
     currList = parent.BackBackgrounds;
     listIndex = -1;
     currListIndex = 0;
 }
Exemplo n.º 5
0
 public ItemsEnumeratorBase(ItemsCollectionBase icb)
 {
     parent        = icb.Manager;
     items         = icb.Items;
     currList      = parent.BackBackgrounds;
     listIndex     = -1;
     currListIndex = 0;
 }
Exemplo n.º 6
0
 private void GetObjsUnderPointFromList(IMapleList list, Point locationVirtualPos, ref BoardItem itemUnderPoint, ref BoardItem selectedUnderPoint, ref bool selectedItemHigher)
 {
     if (!list.Selectable)
     {
         return;
     }
     if (list.ListType == ItemTypes.None)
     {
         for (int i = 0; i < list.Count; i++)
         {
             BoardItem item = (BoardItem)list[i];
             if ((ApplicationSettings.editedTypes & item.Type) != item.Type)
             {
                 continue;
             }
             if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) && !(item is Mouse) && (selectedBoard.SelectedLayerIndex == -1 || item.CheckIfLayerSelected(selectedBoard.SelectedLayerIndex)) && !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
             {
                 if (item.Selected)
                 {
                     selectedUnderPoint = item;
                     selectedItemHigher = true;
                 }
                 else
                 {
                     itemUnderPoint     = item;
                     selectedItemHigher = false;
                 }
             }
         }
     }
     else if ((ApplicationSettings.editedTypes & list.ListType) == list.ListType)
     {
         for (int i = 0; i < list.Count; i++)
         {
             BoardItem item = (BoardItem)list[i];
             if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) && !(item is Mouse) && !(item is Mouse) && (selectedBoard.SelectedLayerIndex == -1 || item.CheckIfLayerSelected(selectedBoard.SelectedLayerIndex)) && !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
             {
                 if (item.Selected)
                 {
                     selectedUnderPoint = item;
                     selectedItemHigher = true;
                 }
                 else
                 {
                     itemUnderPoint     = item;
                     selectedItemHigher = false;
                 }
             }
         }
     }
 }
Exemplo n.º 7
0
 public bool MoveNext()
 {
     listIndex++;
     if (listIndex == currList.Count)
     {
         listIndex = 0;
         do
         {
         replaceList:
             currListIndex++;
             if (currListIndex == parent.AllItemLists.Length) return false;
             currList = parent.AllItemLists[currListIndex];
             if (currList.IsItem != items)
                 goto replaceList;
         }
         while (currList.Count == 0);
     }
     return true;
 }
Exemplo n.º 8
0
 public void RenderList(IMapleList list, SpriteBatch sprite, int xShift, int yShift)
 {
     if (list.ListType == ItemTypes.None)
     {
         foreach (BoardItem item in list)
             if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y) && ((ApplicationSettings.visibleTypes & item.Type) == item.Type))
                 item.Draw(sprite, item.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex, item.Selected), xShift, yShift);
     }
     else if ((ApplicationSettings.visibleTypes & list.ListType) == list.ListType)
     {
         if (list.Selectable)
         {
             foreach (BoardItem item in list)
                 if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y))
                     item.Draw(sprite, item.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex, item.Selected), xShift, yShift);
         }
         else
         {
             foreach (MapleLine line in list)
                 line.Draw(sprite, line.GetColor(ApplicationSettings.editedTypes, selectedLayerIndex), xShift, yShift);
         }
     }
 }
Exemplo n.º 9
0
        public bool MoveNext()
        {
            listIndex++;
            if (listIndex == currList.Count)
            {
                listIndex = 0;
                do
                {
replaceList:
                    currListIndex++;
                    if (currListIndex == parent.AllItemLists.Length)
                    {
                        return(false);
                    }
                    currList = parent.AllItemLists[currListIndex];
                    if (!currList.Selectable)
                    {
                        goto replaceList;
                    }
                }while (currList.Count == 0);
            }
            return(true);
        }
Exemplo n.º 10
0
 public void RenderList(IMapleList list, SpriteBatch sprite, int xShift, int yShift, SelectionInfo sel)
 {
     if (list.ListType == ItemTypes.None)
     {
         foreach (BoardItem item in list)
         {
             if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y) && ((sel.visibleTypes & item.Type) != 0))
             {
                 item.Draw(sprite, item.GetColor(sel, item.Selected), xShift, yShift);
             }
         }
     }
     else if ((sel.visibleTypes & list.ListType) != 0)
     {
         if (list.IsItem)
         {
             foreach (BoardItem item in list)
             {
                 if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y))
                 {
                     item.Draw(sprite, item.GetColor(sel, item.Selected), xShift, yShift);
                 }
             }
         }
         else
         {
             foreach (MapleLine line in list)
             {
                 if (parent.IsItemInRange(Math.Min(line.FirstDot.X, line.SecondDot.X), Math.Min(line.FirstDot.Y, line.SecondDot.Y), Math.Abs(line.FirstDot.X - line.SecondDot.X), Math.Abs(line.FirstDot.Y - line.SecondDot.Y), xShift, yShift))
                 {
                     line.Draw(sprite, line.GetColor(sel), xShift, yShift);
                 }
             }
         }
     }
 }
Exemplo n.º 11
0
 public void Reset()
 {
     listIndex     = -1;
     currListIndex = 0;
     currList      = parent.BackBackgrounds;
 }
Exemplo n.º 12
0
 private void GetObjsUnderPointFromList(IMapleList list, Point locationVirtualPos, ref BoardItem itemUnderPoint, ref BoardItem selectedUnderPoint, ref bool selectedItemHigher)
 {
     if (!list.Selectable) return;
     if (list.ListType == ItemTypes.None)
     {
         for (int i = 0; i < list.Count; i++)
         {
             BoardItem item = (BoardItem)list[i];
             if ((ApplicationSettings.editedTypes & item.Type) != item.Type) continue;
             if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) && !(item is Mouse) && (selectedBoard.SelectedLayerIndex == -1 || item.CheckIfLayerSelected(selectedBoard.SelectedLayerIndex)) && !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
             {
                 if (item.Selected)
                 {
                     selectedUnderPoint = item;
                     selectedItemHigher = true;
                 }
                 else
                 {
                     itemUnderPoint = item;
                     selectedItemHigher = false;
                 }
             }
         }
     }
     else if ((ApplicationSettings.editedTypes & list.ListType) == list.ListType)
     {
         for (int i = 0; i < list.Count; i++)
         {
             BoardItem item = (BoardItem)list[i];
             if (IsPointInsideRectangle(locationVirtualPos, item.Left, item.Top, item.Right, item.Bottom) && !(item is Mouse) && !(item is Mouse) && (selectedBoard.SelectedLayerIndex == -1 || item.CheckIfLayerSelected(selectedBoard.SelectedLayerIndex)) && !item.IsPixelTransparent(locationVirtualPos.X - item.Left, locationVirtualPos.Y - item.Top))
             {
                 if (item.Selected)
                 {
                     selectedUnderPoint = item;
                     selectedItemHigher = true;
                 }
                 else
                 {
                     itemUnderPoint = item;
                     selectedItemHigher = false;
                 }
             }
         }
     }
 }
Exemplo n.º 13
0
 public void Reset()
 {
     listIndex = -1;
     currListIndex = 0;
     currList = parent.BackBackgrounds;
 }
Exemplo n.º 14
0
 public void RenderList(IMapleList list, SpriteBatch sprite, int xShift, int yShift, SelectionInfo sel)
 {
     if (list.ListType == ItemTypes.None)
     {
         foreach (BoardItem item in list)
         {
             if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y) && ((sel.visibleTypes & item.Type) != 0))
                 item.Draw(sprite, item.GetColor(sel, item.Selected), xShift, yShift);
         }
     }
     else if ((sel.visibleTypes & list.ListType) != 0)
     {
         if (list.IsItem)
         {
             foreach (BoardItem item in list)
             {
                 if (parent.IsItemInRange(item.X, item.Y, item.Width, item.Height, xShift - item.Origin.X, yShift - item.Origin.Y))
                     item.Draw(sprite, item.GetColor(sel, item.Selected), xShift, yShift);
             }
         }
         else
         {
             foreach (MapleLine line in list)
             {
                 if (parent.IsItemInRange(Math.Min(line.FirstDot.X, line.SecondDot.X), Math.Min(line.FirstDot.Y, line.SecondDot.Y), Math.Abs(line.FirstDot.X - line.SecondDot.X), Math.Abs(line.FirstDot.Y - line.SecondDot.Y), xShift, yShift))
                     line.Draw(sprite, line.GetColor(sel), xShift, yShift);
             }
         }
     }
 }