After completing some of the basic Hero Scripting Language tutorials from the wiki, I feel I have a much better understanding of how the engine works in terms of scripting.
I now understand that the client and server each have their own DOM (Data Object Model) and GOM (Game Object Model), and in order to create a script to interact with these, you must first specify if the script is server-side or client-side.
A DOM stores information such as Fields, Classes and Enums. Using the DOM Editor we can create new fields and classes and enums. When you create a field you can specify it’s type and give it a description and various other properties. When you create a class you can do the same but also specify which fields you want the class to reference and use.
Then, using scripts you can instantiate these classes as ‘Nodes’ and use them as you would with any other programming language. It’s worth noting however, that once you instantiate a class, the node you create is added to the GOM.
In order to create methods for these classes, you need to create a separate script titled in the format of ‘ + ClassMethods. For example, a class Foo would look for a script named FooClassMethods.’(“HSL For Programmers – HEWIKI”)
Most of the information is from the ‘HSL For Programmers’ article on the wiki.
“HSL For Programmers – HEWIKI”. Hewiki.heroengine.com. N.p., 2017. Web. 6 Feb. 2017.