The ScriptGroup/ScriptObject classes inherit from the SimGroup/SimObject classes but have onAdd/onRemove callbacks and have "class" and "superClass" internal variables.
Appendix Aclass - A new namespace to place after the object's name and before ScriptObject in the namespace chain.
superClass - A new namespace to place after class and before ScriptObject in the namespace chain.
Some other examplenew ScriptObject(MyObject) {
class = Bar;
superClass = Foo;
};
function Bar::doSomething(%this)
{
echo("Hi!");
}
This only works with a ScriptObject and not a SimObject. After trying this you seem to have to set the class when creating the object. (setting the variable afterwards doesn't affect which calls are done, which would have been helpful for some dynamic changing behaviour)
The only other Sim___ one I know about is SimSet, which is used like a SimGroup (can loop through it, get count, etc.) except objects can exist in any number of SimSets and only one SimGroup.