Search Unity

Inspector List & Array Toolkit [RELEASED]

Discussion in 'Assets and Asset Store' started by 3dmars, Mar 17, 2021.

  1. 3dmars

    3dmars

    Joined:
    Jan 3, 2016
    Posts:
    52

    Inspector List & Array Toolkit
    This asset is a bundle of productivity editor extensions called Geek Inspector Addons. It extends the Unity Editor and enables:​
    • moving a range of array or list elements from one place to another within a given array or list,
    • copying a range of array or list elements to the Geek Clipboard,
    • copying all array or list elements to the Geek Clipboard,
    • pasting array or list elements available in the Geek Clipboard into an array or list,
    • copying either a locked element range or unlocked range (based on a clicked index),​
    • cutting a range of array or list elements and placing them in the Geek Clipboard,
    • inserting array or list elements available in the Geek Clipboard into an array or list at a clicked index,
    • appending array or list elements available in the Geek Clipboard after a clicked index in an array or list,
    • duplicating a range of array or list elements - once and many times,
    • deleting a range of array or list elements,
    • setting and resizing a range of array or list elements,​
    • different operation modes such as a locked or unlocked element range mode,​
    • locking all the list or array range.​
    This Geek Inspector Addons bundle includes the following families of commands described below: “MOVE”, “COPY”, “PASTE”, “CUT”, “DELETE”, “INSERT”, “APPEND”, “DUPLICATE”, “DUPLICATE Nx”, “RANGE”, “LOCK”, “COPY ALL” and “LOCK ALL” commands. You can access them in the 4AI Geek Context Menu appended to a standard Unity context menu related to array and list properties.
    BUNDLE COMMANDS
    MOVE commands
    • MOVE <a, b> (submenus; appears when the range is unlocked)
      • MOVE <a, b> to array Start or End
      • MOVE <a, b> by N
    • MOVE <a, b> and LOCK (submenus; appears when the range is unlocked)
      • MOVE <a, b> to array Start or End
      • MOVE <a, b> by N
    • MOVE <START, END> LOCKED (submenus; appears when the range is locked)
      • MOVE <START, END> to array Start or End
      • MOVE <a, b> by N
    • MOVE <START, END> and UNLOCK (submenus; appears when the range is locked)
      • MOVE <a, b> to array Start or End
      • MOVE <a, b> by N
    COPY & COPY ALL commands
    • COPY range
    • COPY range LOCKED (appears when the range is locked)
    • COPY and LOCK range and SET (range) END
    • COPY ONE item
    • COPY ALL items
    CUT commands



      • CUT range
      • CUT range LOCKED
    DELETE commands
    • DELETE range
    • DELETE range LOCKED
    INSERT commands
    • INSERT at [x] (appears when the range is unlocked)
    • INSERT at [x] and LOCK (appears when the range is locked)
    • INSERT and LOCK range at [x] (appears when the range is unlocked)
    APPEND commands
    • APPEND at [x] (appears when the range is unlocked)
    • APPEND at [x] and LOCK (appears when the range is locked)
    RANGE commands
    • SET RANGE to R (submenus)
    • SET RANGE to R LOCKED (submenus)
    • RESIZE RANGE by R (submenus)
    • RESIZE RANGE by R LOCKED (submenus)
    • SET range START and LOCK
    • SET range END and LOCK
    LOCK & LOCK ALL commands
    • LOCK range (appears when the range is unlocked)​
    • UNLOCK range (appears when the range is locked)​
    • RELOCK range (appears when the range is locked)​
    • LOCK ALL

    GEEK CONTEXT MENU ITEMS

    inspector-list-array-toolkit-cropped-c256.gif

    After the installation of "Inspector List & Array Toolkit" new menu items will be appended to the standard Unity context menu related to array and list properties. Submenus are not visible in the above image. Below you can see example submenus:

    inspector-list-array-toolkit-11.png inspector-list-array-toolkit-20.png
    inspector-list-array-toolkit-35.png
    inspector-list-array-toolkit-58.png

    >>> GET IT IN THE ASSET STORE <<<

    ADDON DESCRIPTIONS
    Below you can find descriptions of the current Geek Inspector Context Menu addons.

    Common terms and identifiers simplifying the descriptions
    • clickedINDEX – clicked array or list item index,
    • START – current fixed range start,
    • END – current fixed range end,
    • R – current range size (equal to: END-START+1 in the LOCKED state or b-a+1 in the UNLOCKED state),
    • <a, b> – a range where a = clickedINDEX and (b - a + 1) = R
    • <START, END>, LOCKED range – a range locked to specific array or list elements that is modified if the position of elements change,
    • FIXED range – a range that was usually LOCKED earlier and UNLOCKED later,
    • regular range <a, b> - the range <a, b> where b >= a,
    • GEEK CLIPBOARD – internal Geek Inspector Addons clipboard.
    SINGLE COMMANDS
    SET range START and LOCK
    SET the array or list range START to clickedINDEX so that the final range is <clickedINDEX, END> and is LOCKED. See the LOCK range command for more information.

    SET range END and LOCK
    SET the array or list range END to clickedINDEX so that the final range is <START, clickedINDEX> and is LOCKED. See the LOCK range command for more information.

    LOCK range
    LOCK the range <clickedINDEX, R>. If you execute a command such as MOVE range by N or SHIFT range by N on a LOCKED range, the whole range will be moved or shifted by N too. When you have a LOCKED range, you can click on any array / list item and it will not have any effect on the range a given command will use. The range will be equal to <START, END>.

    UNLOCK range
    Unlocks the range, which means that the current range will be recalculated based on the current clickedINDEX and current range size R. If you click at a different array or list element, the range will start at that element. The related context menu item is available when the range is LOCKED.

    RELOCK range
    UNLOCK the range <START, END> and LOCK the range <clickedINDEX, clickedINDEX+R-1>, so that the new range size is unchanged, but the START is equal to clickedINDEX. The related context menu item is available when the range is LOCKED.

    LOCK ALL
    LOCK the whole range of a given list or array. If you execute a command such as MOVE range by N or SHIFT range by N on a LOCKED range, the whole range will be moved or shifted by N too. When you have a LOCKED range, you can click on any array / list item and it will not have any effect on the range a given command will use. The range will be equal to <START, END>.

    COPY range
    COPY the range <clickedINDEX, clickedINDEX+R-1> to the GEEK CLIPBOARD.

    The final range and the range end must fit in the array or list.

    COPY range LOCKED
    COPY the LOCKED range <START, END> to the GEEK CLIPBOARD.

    The final range and the range end must fit in the array or list. The related context menu item is available when the range is LOCKED.

    COPY and LOCK range and SET (range) END
    COPY the range <START, clickedINDEX> to the GEEK CLIPBOARD and LOCK it. Set the range END to clickedINDEX.

    The final range and the range end must fit in the array or list.

    COPY ONE item
    COPY ONE clicked item to the GEEK CLIPBOARD.

    The final range and the range end (element index in this case) must fit in the array or list.

    COPY ALL items
    COPY the whole range of a given array or list to the GEEK CLIPBOARD.

    PASTE
    PASTE the GEEK CLIPBOARD contents at the clickedINDEX. The pasted values will override the old ones. The whole content and the last item must fit in the array or list.

    PASTE and LOCK range
    PASTE the GEEK CLIPBOARD contents at the clickedINDEX. The pasted values will override the old ones. Next, LOCK the pasted range. The whole content and the last item must fit in the array or list.

    DUPLICATE range
    DUPLICATE the range <clickedINDEX, clickedINDEX+R-1>. The whole content is appended just after the content being duplicated.

    The related context menu item is available when the range is UNLOCKED.

    DUPLICATE range LOCKED
    DUPLICATE the LOCKED range <START, END>. The whole content is appended just after the content being duplicated.

    The related context menu item is available when the range is LOCKED.

    CUT range
    CUT the range <clickedINDEX, clickedINDEX+R-1> so that it is copied to the GEEK CLIPBOARD and deleted.

    The related context menu item is available when the range is UNLOCKED. The calculated range must be regular and must fit in the array or list.

    CUT range LOCKED
    CUT the LOCKED range <START, END> so that it is copied to the GEEK CLIPBOARD and deleted.

    The related context menu item is available when the range is LOCKED. The range must be regular and must fit in the array or list.

    DELETE range
    DELETE the range <clickedINDEX, clickedINDEX+R-1>.

    The related context menu item is available when the range is UNLOCKED. The calculated range must be regular and must fit in the array or list.

    DELETE range LOCKED
    DELETE the LOCKED range <START, END>.

    The related context menu item is available when the range is LOCKED. The range must be regular and must fit in the array or list.

    INSERT at [x]
    INSERT the GEEK CLIPBOARD contents at x=clickedINDEX and just before the item[clickedINDEX]. No items are overridden during this operation.

    The related context menu item is available when the range is UNLOCKED.

    INSERT at [x] and LOCK
    INSERT the GEEK CLIPBOARD contents at the x=clickedINDEX and just before the item[clickedINDEX]. Next, lock the range of inserted elements. No items are overridden during this operation.

    The related context menu item is available when the range is LOCKED.

    INSERT and LOCK range at [x]
    INSERT the GEEK CLIPBOARD contents at the x=clickedINDEX and just before the item[clickedINDEX]. Next, lock the range of inserted elements. No items are overridden during this operation.

    The related context menu item is available when the range is UNLOCKED.

    APPEND at [x]
    APPEND the GEEK CLIPBOARD contents just after the x=clickedINDEX and just before the next item: clickedINDEX+1. No items are overridden during this operation.

    The related context menu item is available when the range is UNLOCKED.

    APPEND at [x] and LOCK
    APPEND the GEEK CLIPBOARD contents just after the x=clickedINDEX and just before the next item: clickedINDEX+1. Next, lock the range of appended elements. No items are overridden during this operation.

    The related context menu item is available when the range is LOCKED.

    SUBMENUS
    SET RANGE to R (submenus)
    SET range to <clickedINDEX, clickedINDEX+R-1> so that the range size equals R. R is chosen by one of the command submenu items.

    SET RANGE to R LOCKED (submenus)
    SET range to <START, START+R-1> so that the range size equals R. R is chosen by one of the command submenu items. Next, update the LOCKED range. The related context menu item is available when the range is LOCKED. See the LOCK range command for more information.

    RESIZE RANGE by R (submenus)
    RESIZE the range <clickedINDEX, clickedINDEX+currentR-1> by R, so that the final range is <clickedINDEX, clickedINDEX+currentR+R-1>, where currentR is the range size before the operation. R is chosen by one of the command submenu items.

    RESIZE RANGE by R LOCKED (submenus)
    RESIZE the range <START, END> by R, so that the final range is <START, END+R>, where currentR is the range size before the operation. R is chosen by one of the command submenu items. Next, update the LOCKED range. The related context menu item is available when the range is LOCKED. See the LOCK range command for more information.

    MOVE <a, b> (submenus)
    MOVE the range <clickedINDEX, clickedINDEX+R-1>:
    • to the array Start or End.
    • by N.
    The final range and the range end must fit in the array or list. N is chosen by one of the command submenu items.

    MOVE <a, b> and LOCK (submenus)
    MOVE the range <clickedINDEX, clickedINDEX+R-1>:
    • to the array Start or End.
    • by N.
    Next, LOCK the range. The final range and the range end must fit in the array or list. N is chosen by one of the command submenu items. See the LOCK range command for more information.

    MOVE <START, END> LOCKED (submenus)
    MOVE the range <START, END>:
    • to the array Start or End.
    • by N.
    Next, update the LOCKED range. The final range and the range end must fit in the array or list. N is chosen by one of the command submenu items. The related context menu item is available when the range is LOCKED. See the LOCK range command for more information.

    MOVE <START, END> and UNLOCK (submenus)
    MOVE the range <START, END>:
    • to the array Start or End.
    • by N.
    Next, UNLOCK the range. The final range and the range end must fit in the array or list. N is chosen by one of the command submenu items. The related context menu item is available when the range is LOCKED.

    DUPLICATE N x range (submenus; duplicate N times)
    DUPLICATE the range <clickedINDEX, clickedINDEX+R-1> N times. The whole content is appended just after the content being duplicated.

    DUPLICATE N x range LOCKED (submenus; duplicate N times)
    DUPLICATE the LOCKED range <START, END> N times. The whole content is appended just after the content being duplicated.


    You can find more details in the Unity Asset Store and on the plugin website at https://4ai.io/inspector-list-array-toolkit/.

    If you are interested in other addons, you can find more information on all current and planned Geek Inspector Addons at https://4ai.io/geek-inspector-addons/ .


     
    Last edited: Apr 23, 2021