Массив написал, как линейный он работает, пытаюсь его переделать для двухмерного, чтобы кнопки отображались по двум осям, а не только по одной.
Пытался добавить еще одну переменную, в коде это k... но в итоге ничего не отображается.
Подскажите пожалуйста где может быть ошибка?
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class example: MonoBehaviour {
static int Count = 4;
int k = 0;
int Counti = 2;
int Countj = 2;
public Texture[] vec = new Texture[Count];
bool[] vb = new bool [Count];
public GameObject down01;
public Texture SPF6901;
public Texture SPF6902;
public Texture SPF6903;
public Texture SPF6904;
public Texture SPF6905;
void OnGUI()
{
vec[0] = SPF6901;
vec[1] = SPF6902;
vec[2] = SPF6903;
vec[3] = SPF6904;
vec[4] = SPF6905;
k=0;
for(int i=0; i < Counti; i++){
for(int j=0; j < Countj; j++){
if (GUI.Button(new Rect(10+15*j, 10 + 10*i, 30, 30), vec[k]))
vb[k]=!vb[k];
k++;
}
}
k=0;
for(int i=0; i < Counti; i++){
for(int j=0; j < Countj; j++){
if (vb[k]) {
down01.GetComponent<MeshRenderer>().material.mainTexture = vec[k];
vb[k]=!vb[k];
k++;
}
}
}
}
}