|Lists Library Example Map release||19.49 KB||May 20, 2010||-||230||Download|
Passing multiple integers to a function is something I needed to do, so came up with the simple library in the attached map in a few minutes' time.
Technically, the editor and galaxy language don't allow us to pass arrays to functions. Strings are arrays however, and as such can substitute as arrays. We have very limited functionality dealing with strings, but basic storage can be done easily, if inefficiently.
If we had more powerful tools, a better solution could be created… we could even create our own dynamic allocation system using strings as a memory space. There doesn't appear to be a way to access characters of a string by index however, nor are there atoi or itoa functions, nor even a logarithm function to easily get the position of values in an integer, and implicit casting is disallowed. I was attempting to create a system where the integers would be converted into byte values with an ascii character representation, but got frustrated with the roadblocks of the galaxy language, so stuck with this. The list isn't something I use often or store large values in, so simply converting integers to strings is good enough for my purposes.
The functions here can also be easily extended to use floating point values or other numbers as well, if you need to do that. Any sort of lists involving spaces (such as unit names) will need a different solution for storage however.
I've also included some examples in the map using the functions.
Note: The import/export library functions of the editor are broken, so copy-paste the functions from the example map after you import/export the library. Hint and grammar text are wiped out when you use import.
Hope this is useful for you. If you have any questions, just send me a private message.
Example use of functions:
Test Events Timer - Elapsed time is 0.25 Game Time seconds Local Variables Test List <Integer List> Actions Variable - Set Test List = ((1), (2), (3)) List - Do stuff with list (Test List) Variable - Set Test List = ((0), Test List) Variable - Set Test List = (Test List, (4)) List - Do stuff with list (Test List) UI - Display (Text(Test List)) for (All players) to Debug area Do Stuff with List Options: Action Parameters List <Integer List> Local Variables Index = 1 <Integer> Actions General - For each integer Index from 1 to (Size of List) with increment 1, do (Actions) Actions UI - Display (Text(List[Index])) for (All players) to Debug area
Add a comment