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 /
This question was closed Feb 07, 2021 at 04:27 PM by DiasPTW for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by DiasPTW · Feb 07, 2021 at 02:35 PM · crashlistcrashingfor-loop

My unity STOPS RESPONDING when this function is activated

So whenever I click play everything is fine however when I do something that calls this function:

 void SwapCards()
      {
          string Temp = "tmp";
          for (int i = 0; i < isSelected.Count; i++)
          {
              for (int j = i + 1; i < isSelected.Count; j++)
              {
                  if (isSelected[i] == true && isSelected[j] == true)
                  {
                      Temp = Peçass[i];
                      Peçass[i] = Peçass[j];
                      Peçass[j] = Temp;
                  }
              }
          }
          howManySelected = 0;
      }

the Unity engine stops responding. I've tried to comment this function out and the engine keeps running fine so this one is definitely the problem. What can I do to fix this?

Here's all the code where this function is involved for better context:

 private void Update()
      {
          TimeStep = FindObjectOfType<GridCreation>().timeStep;
          if (Input.GetKeyDown(KeyCode.P))
          {
              canMove = !canMove;
          }
  
          if (canMove)
          {
              if (!isRunning)
              {
                  StartCoroutine(AplicarMovimento());
              }
              
          }else { StopCoroutine(AplicarMovimento()); isRunning = false; }
          if (howManySelected == 2)
          {
              SwapCards();
          }
          AbrirHotbar();
          FillImages();
      }
  
  public void OnPointerClick(PointerEventData eventData) //Deteta os "clicks" no UI
      {
          for (int i = 0; i < Peçass.Count; i++)
          {
              Transform carta = Hotbar.transform.GetChild(i);
              if (carta == eventData.pointerCurrentRaycast.gameObject.transform)
              {
                  isSelected[i] = true; //A carta onde deu click fica "selecionada"  
                  howManySelected++;
              }
          }
      }
  
      void SwapCards()
      {
          string Temp = "tmp";
          for (int i = 0; i < isSelected.Count; i++)
          {
              for (int j = i + 1; i < isSelected.Count; j++)
              {
                  if (isSelected[i] == true && isSelected[j] == true)
                  {
                      Temp = Peçass[i];
                      Peçass[i] = Peçass[j];
                      Peçass[j] = Temp;
                  }
              }
          }
          howManySelected = 0;
      }

The Unity version I'm using is 2020.2.2f1

Thank you!

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 logicandchaos · Feb 07, 2021 at 04:24 PM 0
Share

unity might think the loop is infinite. I've ran into that issue before. Altho the highlighting on Peçass is weird.. I wonder if the accented ç counts as a special character.

1 Reply

  • Sort: 
avatar image
0
Best Answer

Answer by Llama_w_2Ls · Feb 07, 2021 at 04:16 PM

It might be this line: for (int j = i + 1; i < isSelected.Count; j++). I believe it should be for (int j = 1; j < isSelected.Count; j++)


The reason this causes a crash, is because your for loop never ends. It ends when i is less that isSelected.Count, however, i is never incremented in the for loop. Only j is. Therefore the loop will never end. @DiasPTW

Comment
Add comment · Show 2 · 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 DiasPTW · Feb 07, 2021 at 04:27 PM 0
Share

Yeah, I actually just saw this and was about to close the thread because of it xD. Thank you so much!

avatar image Llama_w_2Ls DiasPTW · Feb 08, 2021 at 02:08 PM 0
Share

@DiasPTW I have a question to ask you about this site. It's not rhetorical. Do you see, on this post, one upvote, or zero. I see zero, and recently I've been getting issues where all my posts with upvotes lose upvotes for no explained reason. Did you downvote this? Thanks.


Also if anyone else knows what's going on, it would be nice to here from you. I already posted a question on $$anonymous$$ETA regarding this issue.

Follow this Question

Answers Answers and Comments

123 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

Related Questions

Infinite for loop and List problem 2 Answers

Level genration loop crashing unity3D 2 Answers

A node in a childnode? 1 Answer

Attempt at re-arranging list results in crash 1 Answer

unity crashes on com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator 3 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