Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by Mz3D · Sep 18, 2012 at 03:45 PM · ifnestedstatementstatements

nested if statements doubt

i've written something like 800 lines of code and now that i've finished i have a doubt about nested if statements. The code doesn't seem to work but this could be because some referenced textures are still missing (i still have to draw them). My question is: is this "grammar" correct?

 var gamemode : int;
 var condition1 : boolean;
 var condition2 : boolean;
 var value1 : int;
 
 function Update () {
     if (gamemode == 1) {
         if (condition1 == true) {
             if (condition2 == true) {
             value1 = 5;
             }
         }
     }
 }
Comment
Add comment · Show 1
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 whydoidoit · Sep 18, 2012 at 03:59 PM 0
Share

Well that particular statement would be better written as:

  if(gamemode == 1 && condition1 && condition2) {
       value1 = 5;
  }

But value1 will become 5 only if all of the outer conditions are true - be warned that hard to spot bugs can happen if you dont use { and } and use else

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by aldonaletto · Sep 18, 2012 at 04:01 PM

It's ok - although comparing a boolean variable to true is useless: this comparison always returns the variable value, thus you could just write

 if (condition1){

Actually, boolean variables were created to be tested directly, like above. Comparing booleans isn't wrong, however, and may even be advisable when you want to do something when the variable is false:

 if (someBool == false){

results the same as

 if (!someBool){

but looks more clear and easy to understand - not to mention that the negation operator (!) is thin enough to be ignored at first sight, making us misunderstand the code.

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
avatar image
0

Answer by Screenhog · Sep 18, 2012 at 04:48 PM

Your grammar for a small statement is fine. However, depending on the circumstances, a long piece of code with a long number of if statements might be made simpler through a loop (like a for... loop).

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

12 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

Related Questions

How to optimize if statements - can't remember term 1 Answer

Multiple Nested If Statements? 1 Answer

How can I perform a += on an if statement? 1 Answer

If \ Else how does the program reads it? 2 Answers

Unity GUI Nested If statements causing GUI Buttons not to render 1 Answer


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