Inspector List & Array Toolkit
4AI
$17.99
$29.99
40%OFF
(no ratings)
Date |
Price |
---|---|
Date |
Price($) |
03/16(2021) |
29.99 |
09/17(2021) |
17.99 |
11/24(2024) |
17.99 |
Jump AssetStore
This toolkit enables essential commands useful for arrays and lists - more precisely, operations on ranges of array and list elements. All "Geek Productivity Commands" are available in the context menu displayed in the Inspector.
FULL SOURCE CODE included.
WEBSITE | DOC | GEEK ADDONS | SUPPORT FORUM | BUG REPORTS | FORUM
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. The command names are shortened in this description usually.
--------------------------------------------------
PACKAGE CONTENT
--------------------------------------------------
• MOVE-RANGE-LOCK Geek Inspector Addons package content
• COPY-PASTE-RANGE Geek Inspector Addons package content
• CUT-INSERT-RANGE Geek Inspector Addons package content
(that includes “APPEND” and “DELETE” commands)
• “DUPLICATE”, “DUPLICATE Nx”, “COPY ALL” and “LOCK ALL” commands.
See the details below.
--------------------------------------------------
OTHER RELEASED 4AI GEEK ADDONS
--------------------------------------------------
• Geek Tools
• List & Array Toolbox
• Editor List & Array Toolkit
• MOVE-RANGE-LOCK Geek Inspector Addons
• SELECT-RANGE-LOCK Geek Inspector Addons
• COPY-PASTE-RANGE Geek Inspector Addons
• CUT-INSERT-RANGE Geek Inspector Addons
• Visit the publisher page for the full list of productivity extensions.
------------------------------
DEMO SCENE
------------------------------
You can test this package with the free demo scene available in the Asset Store.
For testing, you can also use two MonoBehaviour scripts: ExampleArrays.cs and ExampleLists.cs that contain many different arrays and lists. Attach the scripts to any game objects, define array and list data and then, just right-click on array/list element names to display a context menu with appended 4AI Geek Context Menu.
---------------------------
MAIN PLUGIN FEATURES
---------------------------
• 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.
As all our "Geek Utilities", this "move-copy-paste-cut-insert-append-duplicate-delete-range-lock" utility can enhance your workflow and increase productivity. It also eliminates the need of using e.g. reorderable lists or arrays that could be useful especially in older versions of Unity. You don't need to use any special Attributes with your arrays and lists for the toolkit commands to work. It should work with your list and array properties in the Unity Inspector out-of-the-box after installing the plugin.
The addons included in this package extend the Unity Editor with the commands described below.
------------------------------
BUNDLE COMMANDS
------------------------------
MOVE commands
--------------------
• MOVE (submenus; appears when the range is unlocked)
- MOVE to array Start or End
- MOVE by N
• MOVE and LOCK (submenus; appears when the range is unlocked)
- MOVE to array Start or End
- MOVE by N
• MOVE LOCKED (submenus; appears when the range is locked)
- MOVE to array Start or End
- MOVE by N
• MOVE and UNLOCK (submenus; appears when the range is locked)
- MOVE to array Start or End
- MOVE 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
PASTE commands
--------------------
• PASTE (appears when the range is unlocked)
• PASTE and LOCK range
DUPLICATE & DUPLICATE Nx commands
--------------------------------------------
• DUPLICATE range
• DUPLICATE range LOCKED
• DUPLICATE N x range (submenus)
• DUPLICATE N x range LOCKED (submenus)
CUT commands
----------------------
• CUT range (appears when the range is unlocked)
• CUT range LOCKED (appears when the range is locked)
DELETE commands
----------------------
• DELETE range (appears when the range is unlocked)
• DELETE range LOCKED (appears when the range is 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
------------------------------
HOW TO USE IT
------------------------------
For the purpose of this description the term “right-click” will be used as the operation opening a context menu.
You can open the 4AI Geek Context Menu as any context menu in the Unity Inspector by right-clicking on an array or list element name (not a value). In some versions of Unity it is also possible to right-click on the array/list name itself - in this case it assumes that the clicked element index is zero. 4AI Geek Context Menu is appended to the standard Unity context menu items. You can learn more details at:
https://4ai.io/geek-inspector-addons/
------------------------------
DEFINITIONS
------------------------------
Common terms and identifiers simplifying the descriptions:
• clickedINDEX – clicked array or list item index,
• START – current FIXED / LOCKED range start,
• END – current FIXED / LOCKED range end,
• R – current range size (equal to: END-START+1 in the LOCKED state or b-a+1 in the UNLOCKED state),
• – a range where a = clickedINDEX and (b - a + 1) = R
• , 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 - the range 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 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 and is LOCKED. See the LOCK range command for more information.
LOCK range
LOCK the range . 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 .
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 and LOCK the range , 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.
COPY range
COPY the range 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 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 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 . 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 . 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 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 so that it is copied to the GEEK CLIPBOARD and deleted.
The related context menu item is available when the range is LOCKED. The calculated range must be regular and must fit in the array or list.
DELETE range
DELETE the range .
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 .
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 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 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 by R, so that the final range is , 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 by R, so that the final range is , 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 (submenus)
MOVE the range :
• 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 and LOCK (submenus)
MOVE the range :
• 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 LOCKED (submenus)
MOVE the range :
• 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 and UNLOCK (submenus)
MOVE the range :
• 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.
------------------------------
EXTENSIONS
------------------------------
Some extensions for the Geek Inspector Addons framework are planned to be released in the Unity Asset Store, for example:
• Geek Context Menu style configuration (e.g. it will be possible to change some indentations, prefixes and suffixes),
• Geek Context Menu items visibility and priority (order).
Check the Unity Asset Store for availability.
---------------------------------------------------------------------------
TYPES SUPPORTED BY COPY & PASTE & CUT & INSERT & APPEND & DUPLICATE OPERATIONS
---------------------------------------------------------------------------
The following serialized property types (SerializedPropertyType) are supported by copy & paste & cut & insert & append & duplicate commands:
• ObjectReference,
• Integer,
• Float,
• Boolean,
• String,
• Vector2,
• Vector2Int,
• Vector3,
• Vector3Int,
• Vector4,
• Quaternion,
• Bounds,
• BoundsInt,
• Rect,
• RectInt,
• Enum,
• Color,
• Character,
• LayerMask,
• AnimationCurve,
• Generic,
• ArraySize - supported once copying & pasting & cuting & inserting & appending & duplicating generic types,
• ExposedReference - it is supported in the code, but it has not been tested.
The following types are not supported by copy & paste & cut & insert & append & duplicate operations:
• FixedBufferSize,
• Gradient.
This plugin performs a lot of reasonable conversions when pasting, inserting or appending values from the Geek Clipboard, for example:
• float to int,
• float to long,
• double to int,
• double to long,
• int to float,
• int to double,
• long to float,
• long to double,
• Vector2Int to Vector2,
• Vector2 to Vector2Int,
• Vector3Int to Vector3,
• Vector3 to Vector3Int,
• Vector4 to Quaternion,
• Quaternion to Vector4,
• BoundsInt to Bounds,
• Bounds to BoundsInt,
• RectInt to Rect,
• Rect to RectInt,
• many types to String...
This version of the plugin doesn't support copy & paste & cut & insert & append operations for array and list ranges between Unity projects. It might be possible with an extension in the future or e.g. in a PRO version.
Check the Unity Asset Store for availability.
------------------------------
LINKS
------------------------------
Links related to Geek Inspector Addons:
• PLUGIN WEBSITE & DOCUMENTATION
• Free Demo Scene - Geek Addons Demo
• Geek Addons page
• Geek Inspector Addons page
• Forum
• Support Forum
• Bug Reports Forum
• Unity forum thread related to Geek Inspector Addons (Works in Progress)
• Unity forum thread related to Inspector List & Array Toolkit release
• Contact
--------------------------------------------------
OTHER RELEASED 4AI GEEK ADDONS
--------------------------------------------------
• Geek Tools
• List & Array Toolbox
• Editor List & Array Toolkit
• MOVE-RANGE-LOCK Geek Inspector Addons
• SELECT-RANGE-LOCK Geek Inspector Addons
• COPY-PASTE-RANGE Geek Inspector Addons
• CUT-INSERT-RANGE Geek Inspector Addons
• Visit the publisher page for the full list of productivity extensions.
------------------------------------
SOCIAL PAGES
------------------------------------
• 4AI on Facebook
• 4AI on Twitter
• 4AI on Linkedin
FULL SOURCE CODE included.
WEBSITE | DOC | GEEK ADDONS | SUPPORT FORUM | BUG REPORTS | FORUM