Загрузка...

[C #] Who fumbles about why int from another class reads as 0 all the time?

Thread in C# created by Векс Apr 3, 2021. 310 views

  1. Векс
    Векс Topic starter Apr 3, 2021 Banned 1198 Jul 2, 2019
    Есть у меня генерация случайного int ci И если сделать вывод в консоль в этом же классе то оно выводит нормально, но если получать это из другого метода, то оно все время как 0 выводится

    Code
    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);
    }

    Тот самый другой метод -
    Code
    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. Векс
    Векс Topic starter Apr 3, 2021 Banned 1198 Jul 2, 2019
    Бля, скобки съехали
     
  3. Digitall
    Digitall Apr 3, 2021 151 Sep 8, 2018
    А ты уверен, что запускаешь
    CourierWorkShopColor()
     
    1. View previous comments (4)
    2. Digitall
      Векс, Мб тогда у тебя ссылка не на тот экземпляр класса Works, продебаж просто
    3. Векс Topic starter
      Digitall, Тот, он единственный в проекте
    4. Digitall
      Векс, Продебаж, здесь нужно смотреть фулл код
    5. View the next comments (2)
  4. b1nance
    b1nance Apr 3, 2021 Banned 2065 Jul 29, 2018
    эххх сплошной кусок геймдева
     
  5. leha_zabor
    leha_zabor Apr 3, 2021 24 Jul 12, 2020
    Векс, так а в чем проблема в отладке посмотреть?
     
    1. Векс Topic starter
    2. EXOMODE
      Векс, да, отладчик и профилировщик в юнити прекрасно работают
  6. EXOMODE
    EXOMODE Apr 5, 2021 21 Jan 10, 2019
    Ты уверен что твоя корутина успевает отработать прежде чем отработает коллайдер?
     
    1. Векс Topic starter
      EXOMODE, Да там в другом проеб был, вот решение works = GameObject.Find("Main Camera").GetComponent<Works>();
Top
Loading...