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().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!
↧