Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by Restemayer · Feb 17, 2017 at 09:58 PM · script.programming

Static classes or toolbox?

This is more curiosity than anything, but I figure I'd throw it out there to maybe shed some light on a question that's been bouncing around in my head...

So, I have a basic server/client setup... on run, the client connects to the server and offers a login screen. Player logs in and so on... you get that... basic stuff...

For the purposes of simplicity and to just push the ball along, I created two static classes for things that have to be accessed from everywhere. The first maintains the connection with the server. The second just holds basic information about the user that needs to be constantly accessed... username, password, playerID, email... that kind of stuff.

So, I know I shouldn't be using statics. The general consensus seems to be that they are bad and I should be converting those over to, ideally, a toolbox singleton... and I probably will eventually. I understand how the concept works, but for the life of me I'm not entirely certain why those are preferred over the limited static variables that I have. I know that is a really newbie question that I should have already researched by this point, but when you're talking about a situation like mine where I have, at most, maybe a dozen static variables to just store information (right now... I am probably going to cut even that down to the bare minimum and just access the rest of it as needed through the server), what is the practical advantage to creating those extra classes necessary to implement the preferred method?

Thanks!

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image UnityCoach · Feb 18, 2017 at 08:28 AM 0
Share

What's wrong about static classes? As long as you don't need $$anonymous$$onoBehaviour inheritance and be careful not to do stupid things with them, like referencing GameObjects you destroy and such.

avatar image Restemayer · Feb 18, 2017 at 06:35 PM 0
Share

Yup. Nothing like that. These are as about as bare bones C# classes as you can make. They have no functions. They don't inherit from anything and won't be inherited from. They are just containers to store information that gets acted on by the rest of the program.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by UnityCoach · Feb 18, 2017 at 06:42 PM

Actually, when you look at the way type extensions are made, they use static classes.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

97 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Change from mouse click to free space to a canvas button 0 Answers

save variable from previous scene 2 Answers

Game working in pc but not in Android While Testing 0 Answers

Computer screen inside of game 1 Answer

Hey guys I need help with scripting a 2 player car game I'm very confused on the whole process. 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges