Should i have a script for every button?
Hey guys, this is my first submission in this forum and I'm trying to do a full menu schema for my first game. Performance and code correction wise, should I use the same script for every button (different canvas and different functions), through a singleton class like the GameManager or creating a script for every button separately?
Thanks in advance!
Answer by EDevJogos · Aug 05, 2016 at 03:08 PM
I don't think any of your suggested approaches would cause some significant impact on performance, the thing is, having too many scripts can become a chaos to debug and stuff like this.
What i usually do (not claiming to be the best way, is just what i do) is to create a GUI Handler with a single method that start listening to all buttons and delegate each button action to the game manager that will delegate to the appropriate handler, like if you click attack button the GUI Handler will tell this to the Game Manager and it will call something on the Combat Manager.
Answer by Asad-45 · Aug 05, 2016 at 10:51 AM
well you could have one script and add individual functions to them and then assign the same script for the OnClick() function of the button. Like here is an example for one script that can be used twice.
public void LoadLevel(int level) { Application.LoadLevel(level); }
public void EnableSound(AudioSource _Audio) { _Audio.volume = 0 }
these can both be put in the same script. :)
Thanks for the answer!
But my question was primarily about the pros and cons of using one script vs multiple scripts. Since I've never used Unity before, I don't know which one is the correct way or if there is no difference in performance and code flexibility.
Your answer
Follow this Question
Related Questions
A simple shoting code that make lags 1 Answer
One FBX with whole map from 3D soft or create map in unity ? 1 Answer
Unity 2D build for android, memory issue. Sprite import? 0 Answers
Is there a performance increase from using point textures instead of Bi/Trilinear textures? 0 Answers
Optimisation problem (Load/Instantiate) 0 Answers