Как получить данные из разных скриптов, если они висят на разных объектах?
Уже больше недели ищу и никак не могу найти решение. Все форумы перечитал, но постоянно ошибки какие-то были. У меня есть 2 объекта и 2 скрипта. В одном объёкте есть переменная int coin. На нём висит скрипт, который по нажатию на объект, добавляет в int coin + 1. Есть второй объект. На нём висит второй скрипт, но его надо доработать, чтоб он мог получить данные coin из первого скрипта. Я пробовал через static, getcomponent, GO.find и тд, но не получается. Как это реализовать?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Balance : MonoBehaviour
{
void Awake ()
{
GameObject stone = GameObject.Find ("Stone");
ClickChet clickChet = stone.GetComponent<ClickChet>();
}
public int Coin = clickChet.coin;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClickChet : MonoBehaviour
{
public int Coin;
void OnMouseDown()
{
Coin = Coin + 1; // при нажатии добавляет 1 монету
}
}
yraiv, И что конкретно здесь не работает? NRE, или что?
Вы объявляете переменную clickChet в методе, и пытаетесь получить к ней доступ как к глобальной? Зачем лезть в юнити, если вы ни черта не понимаете в самом шарпе?
Я вам не верю. Ваш прошлый вопрос был 26 марта - это раз, вы решали ту проблему. Тут вы пишите что с конкретной проблемой неделю воюете. Дальше, вы не знаете основ C# & Unity, тем более, в том вопросе 26 марта вы просто не прочитали ошибку и там был ответ(не просто набор слов, а обычный ответ что не было такой переменной ). Так что, я думаю, это есть ответ на ваш вопрос.
Я попробовал сделать, как написали, но очередная ошибка была и поэтому решил по новой пройтись, а на форуме не так давно зарегистрировался, пытался больше недели видеоролики смотреть, чтоб найти в чем причина