Stores instances reference by their UID in a group, each group is
Categories > Data structure > rex_ginstgroupIntroductionLinksDependenceUsageManage groupAdd instance(s)Copy groupRemove instance(s)Clean or destroy groupInstance is in groupAmount of instancesDump instancesSOLPass SOL into functionSet operationsList/array operationsPushPopListRetrieveGet UID by indexGet index of UIDPrivate groupSave&Load
None
Add instance(s) into a group
Action:Add instances, Action:Add instances by UIDAction:Clean & Add instances, Action:Clean & Add instance by UIDAction:Copy, copies content of a group to another one.
Remove instance(s) from a group
Action:Remove instances, Action:Remove instances by UIDRemove and destroy instances of a group
Action:Destroy instancesClean or destroy a group
Action:Clean groupAction:Destroy group, Action:Destroy allCondition:UID in group, returns true if an UID is in group.
Expression:InstCnt( group ) , returns count of instances in group.
Dump instances of a group by Expression:GroupToString( group ) , which returns a JSON string of UID list.
Pick instances of a group
Action:Pick instances, Condition:Pick instancesAction:Pop one instance, Condition:Pop one instanceIt is similar with Object condition: Pick by unique ID.
Merge two groups by one of these operations.
Action:A + BAction:A - BAction:A AND BCondition:Is a subsetCondition:EmptyInstances in an order list.
Action:Insert instances, Action:Insert instance by UIDAction:Push instances, Action:Push instance by UIDAction:Pop one instance, Condition:Pop one instance, Expression:Pop( group, index )Action:Pop random instance, Condition:Pop random instance, Expression:RandomPopAction:SliceAction:Sort by UID
Action:Sort by function
Condition:On sortingExpression:CmpUIDA, Expression:CmpUIDBAction:Set comparing result, or Action:Set comparing result by numberAction:ShuffleAction:ReverseRetrieve instances
Condition:Pick instancesSystem condition:For eachRetrieve UID
Condition:For each UID
Expression:Item, UIDExpression:IndexExpression:Index2UID( group, index ), returns UID by index. Returns (-1) if index is out of list.Expression:FirstUID( group ), returns UID of first instance in groupExpression:LastUID( group ), returns UID of the last instance in groupExpression:RandomIndex2UID( group ), return an UID randomly in groupExpression:UID2Index( group, UID) returns the index of UID in group. Returns (-1) if UID is not in group.Expression:RandomIndex( group ), returns a random index of group.Expression: PrivateGroup( UID, group ) returns a special group name formatted by
xxxxxxxxxx"@" + uid + "$" + group, to bind a group with an instance. This group will be removed automatically when related instance had been destroyed.
For example, group @10$aa,@10$bb will be destroyed automatically when instances which uid=10 had been destroyed.
This plugin supports official save/load system, i.e. it could be saved&loaded automatically.
Or save/load manually,
Expression:AllToString , Action:Load all : save/load all groupsExpression:GroupToString, Action:Load group : save/load a group