Изучаю .Проблема переменной id_player, не обновляется внутри массива. Просьба подсказать

  1. Есть одномерный массив int инициализируемый при старте в пустом gameobjecte на сцене.testArray.sc
          
  void Start()
      {
  
          test_list = new int[3];
          
          for (int i = 0; i < 3; i++)
          {
              test_list[i] = 0;
              print(testlist[i]);
          }
          
      }
  1. Так же на сцене есть три объекта test_1, test_2, test_3 - объекты префабы, на каждом висит скрипт обрабатывающий клик мышью по объекту.
public class test_cell : MonoBehaviour
{
    public GameObject test;
    public int id_player;
    public int id_test;
    
    void Start()
    {
       id_player = Random.Range(1, 2);
        id_test = 0;
    }

 public void swap()
        {
            if (id_player == 1)
            {
                id_player = 2;
            }
            else id_player = 1;
        }

 
public void OnMouseDown()
    {

       for (int i = 0; i < 3; i++)
        {
            {
              id_test++;
              if (test.name == "test_" + id_test)
               {
                testArray.test_list[i] = id_player; // **вот этот id_player не обновляется.**
                print("ЗНАЧЕНИЕ ЯЧЕЙКИ____" + testArray.test_list[i]);
                swap();
               }
            }
        }
       


При условии что совпадает имя объекта по которому кликнули с заданным шаблоном, то пытаюсь записать переменную id_player в соответствующий индекс массива. И после того как записал переменную пытаюсь поменять её значение. И вот тут возникает загвоздка. Когда кликаю по следующему объекту то переменная то значение переменной не обновляется при присвоении значения другой ячейки массива. То есть постоянно записывается значение присвоенное id_player указанное при инициализации.

Прошу подсказать, где совершаю ошибку? и сорян за нубские вопросы


Ответы (0 шт):