I was wondering what does Galaxy allow you to do more than GUI. Like, what can you do in Galaxy that you cannot in GUI, just a few examples.
For example, I know you can dynamicly add Events to triggers only in custom script.
GUI is really great if you are not used to looking at a coding language, but it has some limitation that Galaxy doesn't have at all. And I was just wondering a couple examples of what cannot be done in GUI.
I was wondering what does Galaxy allow you to do more than GUI. Like, what can you do in Galaxy that you cannot in GUI, just a few examples.
For example, I know you can dynamicly add Events to triggers only in custom script.
GUI is really great if you are not used to looking at a coding language, but it has some limitation that Galaxy doesn't have at all. And I was just wondering a couple examples of what cannot be done in GUI.
i do everything with triggers like heroes of the storm. Its fast and it work pretty well. The only thing to avoid must as possible is to avoid periodic timer like each 0.1 sec. But ots not that bad with good conditions
as you said already with your add event to any function. this is pretty dynamic, i use it for all events that cause high network traffic, so i dont need to create triggers for every player nor do i need to use a generic event any player. i just dynamically add the player to the event as i need it to cause the least amount of traffic possible.
The only thing that truly can not be done in GUI that I'm aware of is using references, such as ArrayRef, StructRef, and FuncRef.
Dynamic Registration can be done in GUI, you just have to make the GUI version of the functions that do the registration. I do this, so I don't have to jump into galaxy each time I want this.
Any function written in galaxy can be mapped to a GUI version by creating a GUI action/function/condition that has the same script identifier as the galaxy written one, with the same parameter list, and then selecting the "Native" flag.
Interesting. I though there would be much more stuff possible in Galaxy than GUI... so the people that codes in Galaxy its more because they like it this way visually instead of going through menus and sub-menus...
Any function written in galaxy can be mapped to a GUI version by creating a GUI action/function/condition that has the same script identifier as the galaxy written one, with the same parameter list, and then selecting the "Native" flag.
Not ones which take references. Which is a huge problem for object orientated code. You cannot mutate structures in GUI without hard-linking them.
You cannot do bitwise operators without at least some galaxy script input. Although they can be integrated quite nicely into GUI they still have to be provided in direct galaxy form which still counts.
Bitwise operators are mostly used for data processing. For example encryption and hashing algorithms for save systems.
Good point, I should have been more clear. Anything to do with references, declaring them, using them, passing them, can not be mapped to GUI
Bit Wise can now be done entirely in GUI, they added functions and presets for GUI bitwise operations in 3.0, similar to normal arithmetic operations. Unless you are referring to some other aspect of bitwise operations.
Part of the trade off is that if you are used to text coding, like how most programming is one, the GUI feels like it just gets in the way, and many things that are done are GUI are done WAY faster when typed out, especially any primitive operation. For example, adding two variables inn GUItakes 3 clicks. In straight coding, I just put A + B.
Where GUI shines is the meta information it provides. Specifically, the labeling, the grammars, the hint text. Now, in normal coding, all of these can be done (Hint text is really just a comment, grammar like suggestions are done in modern IDE, Intellisense in Visual Studio is a well known one, the labeling can be done as well). But this is exposing programming constructs in a much more human intuitive way. Programming is more and more about taking parts and putting them together and avoiding the details if you can. Readability is a BIG deal in code, more readable = easier to understand, easier to fix, easier to change in safe ways, less bugs.
Back in the WC3 era, you missed a LOOOT by not using JASS, since you couldnt declare new stuff for GUI. This was changed for galaxy.
Frankly nowadays its mostly a matter of preference, as both have given pros and cons (eg, GUI has much more type safety that galaxy lacks) that might be relevant to what your coding style be.
Back in the WC3 era, you missed a LOOOT by not using JASS, since you couldnt declare new stuff for GUI. This was changed for galaxy.
Frankly nowadays its mostly a matter of preference, as both have given pros and cons (eg, GUI has much more type safety that galaxy lacks) that might be relevant to what your coding style be.
I was wondering what does Galaxy allow you to do more than GUI. Like, what can you do in Galaxy that you cannot in GUI, just a few examples.
For example, I know you can dynamicly add Events to triggers only in custom script.
GUI is really great if you are not used to looking at a coding language, but it has some limitation that Galaxy doesn't have at all. And I was just wondering a couple examples of what cannot be done in GUI.
Working on projects:
i do everything with triggers like heroes of the storm. Its fast and it work pretty well. The only thing to avoid must as possible is to avoid periodic timer like each 0.1 sec. But ots not that bad with good conditions
as you said already with your add event to any function. this is pretty dynamic, i use it for all events that cause high network traffic, so i dont need to create triggers for every player nor do i need to use a generic event any player. i just dynamically add the player to the event as i need it to cause the least amount of traffic possible.
The only thing that truly can not be done in GUI that I'm aware of is using references, such as ArrayRef, StructRef, and FuncRef.
Dynamic Registration can be done in GUI, you just have to make the GUI version of the functions that do the registration. I do this, so I don't have to jump into galaxy each time I want this.
Any function written in galaxy can be mapped to a GUI version by creating a GUI action/function/condition that has the same script identifier as the galaxy written one, with the same parameter list, and then selecting the "Native" flag.
Interesting. I though there would be much more stuff possible in Galaxy than GUI... so the people that codes in Galaxy its more because they like it this way visually instead of going through menus and sub-menus...
Working on projects:
Not ones which take references. Which is a huge problem for object orientated code. You cannot mutate structures in GUI without hard-linking them.
You cannot do bitwise operators without at least some galaxy script input. Although they can be integrated quite nicely into GUI they still have to be provided in direct galaxy form which still counts.
Bitwise operators are mostly used for data processing. For example encryption and hashing algorithms for save systems.
@ImperialGood: Go
Good point, I should have been more clear. Anything to do with references, declaring them, using them, passing them, can not be mapped to GUI
Bit Wise can now be done entirely in GUI, they added functions and presets for GUI bitwise operations in 3.0, similar to normal arithmetic operations. Unless you are referring to some other aspect of bitwise operations.
@Scbroodsc2: Go
Part of the trade off is that if you are used to text coding, like how most programming is one, the GUI feels like it just gets in the way, and many things that are done are GUI are done WAY faster when typed out, especially any primitive operation. For example, adding two variables inn GUItakes 3 clicks. In straight coding, I just put A + B.
Where GUI shines is the meta information it provides. Specifically, the labeling, the grammars, the hint text. Now, in normal coding, all of these can be done (Hint text is really just a comment, grammar like suggestions are done in modern IDE, Intellisense in Visual Studio is a well known one, the labeling can be done as well). But this is exposing programming constructs in a much more human intuitive way. Programming is more and more about taking parts and putting them together and avoiding the details if you can. Readability is a BIG deal in code, more readable = easier to understand, easier to fix, easier to change in safe ways, less bugs.
Back in the WC3 era, you missed a LOOOT by not using JASS, since you couldnt declare new stuff for GUI. This was changed for galaxy.
Frankly nowadays its mostly a matter of preference, as both have given pros and cons (eg, GUI has much more type safety that galaxy lacks) that might be relevant to what your coding style be.
Go play Antioch Chronicles Remastered!
Also, coming soon, Antioch Episode 3: Thoughts in Chaos!
Dont like mapster's ugly white? Try Mapster's Classic Skin!
Back in the WC3 era, you missed a LOOOT by not using JASS, since you couldnt declare new stuff for GUI. This was changed for galaxy.
Frankly nowadays its mostly a matter of preference, as both have given pros and cons (eg, GUI has much more type safety that galaxy lacks) that might be relevant to what your coding style be.
Go play Antioch Chronicles Remastered!
Also, coming soon, Antioch Episode 3: Thoughts in Chaos!
Dont like mapster's ugly white? Try Mapster's Classic Skin!