This question was
closed Feb 07, 2021 at 04:27 PM by
DiasPTW.
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
Follow this Question
Related Questions
Object Pooling Crashes Unity 0 Answers
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x50 0 Answers
Windows 10 Unity access violation 1 Answer
Unity Crashes when clicked on colour dropper of any material. 0 Answers
Unity Editor constantly crashing 0 Answers