Загрузка...

[C#] Кто шарит, почему int из другого класса читается как 0 всё время?

Тема в разделе C# создана пользователем Векс 3 апр 2021. 290 просмотров

  1. Векс
    Векс Автор темы 3 апр 2021 Заблокирован(а) 1200 2 июл 2019
    Есть у меня генерация случайного int ci И если сделать вывод в консоль в этом же классе то оно выводит нормально, но если получать это из другого метода, то оно все время как 0 выводится

    Код
    public class Works : MonoBehaviour
    }
    public int ci;
    public IEnumerator CourierWorkShopColor()
    {
    while (true)
    {
    System.Random r = new System.Random();
    ci = r.Next(0, coloredPrefabs.Length);
    Debug.Log(ci);
    spriteRendererSHOP.color = new Color32(prefabColor[ci].r, prefabColor[ci].g, prefabColor[ci].b, 255);
    yield return new WaitForSeconds(3.5f);
    }

    Тот самый другой метод -
    Код
    public Works works;

    private void OnCollisionEnter2D(Collision2D coll)
    {
    if (coll.gameObject.CompareTag("Shop"))
    {
    Debug.Log(works.ci);
    if (gameObject.tag == works.ci.ToString())
    {
    allVariables.money += 5;
    works.howMuchEarn += 5;
    Destroy(gameObject);
    }
     
  2. Векс
    Векс Автор темы 3 апр 2021 Заблокирован(а) 1200 2 июл 2019
    Бля, скобки съехали
     
  3. Digitall
    Digitall 3 апр 2021 151 8 сен 2018
    А ты уверен, что запускаешь
    CourierWorkShopColor()
     
    1. Посмотреть предыдущие комментарии (6)
    2. Digitall
      Векс, Продебаж, здесь нужно смотреть фулл код
    3. Векс Автор темы
      Digitall, А в юнити так низя же вроде
    4. Digitall
      Векс, Можно, конечно. В студии Отладка - Привязать Unity. Вроде так, если ты качал специальный пак для юнити
  4. b1nance
    b1nance 3 апр 2021 Заблокирован(а) 2076 29 июл 2018
    эххх сплошной кусок геймдева
     
  5. leha_zabor
    leha_zabor 3 апр 2021 24 12 июл 2020
    Векс, так а в чем проблема в отладке посмотреть?
     
    1. Векс Автор темы
    2. EXOMODE
      Векс, да, отладчик и профилировщик в юнити прекрасно работают
  6. EXOMODE
    EXOMODE 5 апр 2021 21 10 янв 2019
    Ты уверен что твоя корутина успевает отработать прежде чем отработает коллайдер?
     
    1. Векс Автор темы
      EXOMODE, Да там в другом проеб был, вот решение works = GameObject.Find("Main Camera").GetComponent<Works>();
Загрузка...
Top