Argument out of range - issue

ello peps
I am making a game(local multiplayer) and im getting this error ALL THE Time

Code (CSharp):

  • using UnityEngine;
  • using TMPro;
  • using UnityEngine.UI;
  • using UnityEngine.SceneManagement;
    • public class WinScreenController : MonoBehaviour
  • {
  • public TMP_Text winText;
  • public Image playerImage;
    • public string mainMenuScene, charSelectScene;
    • // Start is called before the first frame update
  • void Start()
  • {
  • winText.text = “Player " + (GameManager.instance.lastPlayerNumber + 1) + " Wins The Game!”;
  • playerImage.sprite = GameManager.instance.activePlayers[GameManager.instance.lastPlayerNumber].GetComponent().sprite;
  • }
    • public void PlayAgain()
  • {
  • GameManager.instance.StartFirstRound();
  • }
    • public void SelectCharacters()
  • {
  • ClearGame();
    • SceneManager.LoadScene(charSelectScene);
  • }
    • public void MainMenu()
  • {
  • ClearGame();
    • SceneManager.LoadScene(mainMenuScene);
  • }
    • public void ClearGame()
  • {
  • for (int i = 0; i < GameManager.instance.activePlayers.Count; i++)
  • {
  • PlayerController player = GameManager.instance.activePlayers*;*
    • Destroy(player.gameObject);*
    • }*
      • Destroy(GameManager.instance.gameObject);*
    • GameManager.instance = null;*
    • }*
    • }*
  • [/i]*
    - And Im even trying unity’s solutions which are not working*
    - Somebody plz help me*
using UnityEngine;
using TMPro;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class WinScreenController : MonoBehaviour
{
    public TMP_Text winText;
    public Image playerImage;

    public string mainMenuScene, charSelectScene;

    // Start is called before the first frame update
    void Start()
    {
        winText.text = "Player " + (GameManager.instance.lastPlayerNumber + 1) + " Wins The Game!";
        playerImage.sprite = GameManager.instance.activePlayers[GameManager.instance.lastPlayerNumber].GetComponent<SpriteRenderer>().sprite;
    }

    public void PlayAgain()
    {
        GameManager.instance.StartFirstRound();
    }

    public void SelectCharacters()
    {
        ClearGame();

        SceneManager.LoadScene(charSelectScene);
    }

    public void MainMenu()
    {
        ClearGame();

        SceneManager.LoadScene(mainMenuScene);
    }

    public void ClearGame()
    {
        for (int i = 0; i < GameManager.instance.activePlayers.Count; i++)
        {
            PlayerController player = GameManager.instance.activePlayers[i];
            Destroy(player.gameObject);
        }

        Destroy(GameManager.instance.gameObject);
        GameManager.instance = null;
    }
}

actual code

Here are some notes on IndexOutOfRangeException and ArgumentOutOfRangeException:

http://plbm.com/?p=236

Thanks you :):slight_smile: