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 Raijinn-sama · Apr 08, 2021 at 09:49 AM · gameobjectarraybooleanbool

Check if boolean is true on my gameObjects from my array

Hi guys

So i have an array with 5 copies of an gameobject. Each gameObject has also a boolean that becomes true when i land on it for 5 sec with my player. I would like to check that if all the boolean's that are in the array is true then you win the game and change scene

This is the code for the array using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI;

public class Checker : MonoBehaviour

{

public CheckPoint[] CheckPoints = new CheckPoint [6];

 void Start()
 {
     
     for (int i = 0; i < CheckPoints.Length; ++i)
     {
         

     }

 }

 void captured()

 {
     
     for (int i = 0; i < CheckPoints.Length; ++i)
     {
         if (CheckPoints[i].captured == false)
         {

             return;
             Debug.Log("Checkpoint 1");
         }

     }

     SceneManager.LoadScene(1);

 }

}

This is the code for the gameObject

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class CheckPoint : MonoBehaviour { float enterTime = 0; bool entered = false; public bool captured = false;

 public void Start()
 {
     entered = false;
 }

 private void OnCollisionEnter(Collision collision)
  {
      enterTime = Time.time;

     if (collision.gameObject.tag == "Player")
     {
         entered = true;
         Debug.Log("enterd");
         
     }
      
     
  }
 
  private void OnTriggerExit(Collider other)
  {
      enterTime = 0;
      entered = false;
     
  }
 
  public void Update()
  {
      if(entered && Time.time > enterTime + 5)
      {
         captured = true;
         Debug.Log(captured);
      }

     if(captured == true)
     {

     }
  }
   

}

Thanks in advance

Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by VoidVenom · Apr 08, 2021 at 10:01 AM

Since captured is public, you can just do <gameObject>.GetComponent<CheckPoint>().captured to access and/or modify it.

Just as a note to keep in mind, though... Unity's implementation of GetComponent is quite slow so if you'll have lots of CheckPoints or this is something you'll have to do on every frame, for performance you should try to restructure your code so this isn't required.

For example, instead of storing the GameObjects in an array, store their CheckPoint components.

Another possible approach would be to have some sort of function called when a checkpoint is captured that performs whatever is required when all of them are captured.

All of the above are decent approaches to this problem.

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

185 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 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

Get the number of false bools in GameObject[] (array) 3 Answers

Collecting Array items in order 1 Answer

question about array or list of boolean 1 Answer

Not all code paths return a value in boolean loop 2 Answers

How to add a Sprite Rollover Image using a Button Array 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