Как я могу лучше структурировать функцию для нацеливания информации и воздействия на множество различных плиток в приложении? - PullRequest
0 голосов
/ 25 февраля 2020

Я делаю это Математическое приложение с шестигранной настенной игрой Есть 72 "плитки", в которых есть числа, выбранные из массивов. Существует также фактор, который выбирается случайным образом из массива (1,2,5,10).

Когда вы нажимаете на плитку, есть функция, которая ищет переменную в текстовом поле и проверяет если он может быть разделен на фактор - если это возможно, появляется зеленая плитка, и если она не может, то она заставляет красный гекс появляться и исчезать.

public class checker : MonoBehaviour
{


public bool correct = false;
private hexe hexinfo;
private fader2 fadeit;
private bool mFaded = false;
public float Duration = 0.4f;

// Start is called before the first frame update
void Start()
{
    hexinfo = GameObject.Find("Canvas/tileHolder/AtileR1").GetComponent<hexe>();
    var canva1 = GameObject.Find("Canvas/tileHolder/AtileR1").GetComponent<CanvasGroup>();

    canva1.alpha = 0;


}
public void fade1()
{

 var canvGroup = GameObject.Find("Canvas/tileHolder/AtileR1").GetComponent<CanvasGroup>();

    StartCoroutine(DoFade(canvGroup, canvGroup.alpha, mFaded ? 0 : 1));

}

public IEnumerator DoFade(CanvasGroup canvGroup, float start, float end)
{
    start = 0;
    end = 1;
    float counter = 0f;
    while (counter < Duration)
    {
        counter += Time.deltaTime;
        canvGroup.alpha = Mathf.Lerp(start, end, counter / Duration);
        yield return null;
        canvGroup.alpha = 0;

    }
}
public void makesurea1()
{
 if((hexinfo.a1%hexinfo.di1) == 0)
    {
        print("perfect");

        hexinfo.green1.SetActive(true);
    }
    else
    {
        fade1();
    }

}

Так что теперь я пытаюсь сделать этот код отдельным скрипт для каждого из 72 тайлов и смена цели и переменных? Вы так поступили бы? Любые другие идеи о том, как это структурировать? Спасибо за любые идеи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...