AddScriptSection(...) takes a section name as it''s first parameter.. is this utilised anywhere in the scripting engine, or is it just a formality?
It would be nice to be able to use script sections as name spaces so that we could (for example) set up a script for Bob called "Routine" and set up a script for John called "Routine".
Is this currently possible?
I imagine AngelScript''s engine might need an overloaded function such as:
int AS_CALL GetFunctionIDByName(const char *sectionName, const char *functionName);
Which builds only the functions that exist within the specified section name.
This would be *extremely* handy for dynamically scripted environments that require scripts to be modified on the fly e.g. Scripted characters in a persistent world.. if you change the script for a single NPC in a world filled with hundreds of NPCs, it would be undesirable for the entire world to have to reset..
I saw your post on the Ogre3D forum. Thanks for the support for AngelScript
I realize that it is a useful feature in scripting to be able to recompile parts of the script during run-time. I will see what I can come up with in this regards. I need to analyze it more thoroughly first.
The section name is currently only used to report compile errors so that the script writer can find the source of the error. Usually this name is set to the name of the file where the script was loaded from.
Namespaces are not yet available, but are on the to-do list.
If anyone else has suggestions on what would be useful in regards for partwise recompilation of the code I would be more than happy to hear them. Tell me now, as it might change the final implementation.
__________________________________________________________ www.AngelCode.com - game development and more... AngelScript - free scripting library
At the moment, I can get around the namespace issue by (for example) creating a character called "Bob", and having his routine script called "Bob_Routine".. as well as naming his event scripts using the same prefix e.g. "Bob_OnAttacked".
There is still the issue that if I create a new character called "John" and give him a script called "John_Routine", both Bob and John need to be completely reset.
Having separate namespaces alongside a "Global" name space which contains global accessors and variables would be nice.
At this stage, I can''t really come up with anything else that might be required other than the ability to recompile individual functions..