Вопрос Передача данных в ивент и обратно

Keynadi

Пользователь
Сообщения
43
Решения
1
Веб-сайт
eximiaworld.net
Вечер добрый.

Имеется гуи с определённым списком игроков, необходимо при нажатии на голову игрока открывать новое гуи с этим игроком.

Вопрос: как передать игрока из списка в InventoryClickEvent?
(вопроса с поиском игрока в списке нет, нужна только передача). Есть ли варианты кроме статического листа?

Спасибо за ответы.
 
В сам InventoryClickEvent никак. Привязываться к ивенту вообще необязательно

Можно например просто держать мап стиля <Ник игрока (открывшего гуи) / Ник игрока, чьё гуи было открыто>

Реализаций можно придумать очень много, но именно внедрить в обьект ивента не получится
 
Baroness' Dev, мне интересна самая эффективная и не ресурсозатратная реализация. Реализовать кое-как я и сам могу, только мне мои способы кажутся не правильными.
Мап с гуи внутри, в моем случае не нужен, гуи определяется другим способом.
Нужно только передать данные в ивент, в котором вызывается другое гуи с этими данными. Как я понимаю в данном случае остается только статический мап (Игрок/Данные) по типу хэша?
 
статический мап
Почему статический?

Есть несколько очень годных библиотек для работы с гуи, но я что-то сейчас их не нахожу. Можно посмотреть, как делается там

Нужно только передать данные в ивент, в котором вызывается другое гуи с этими данными. Как я понимаю в данном случае остается только статический мап (Игрок/Данные) по типу хэша?
Для данных да, можно такое сделать. Плохо не будет
 
Почему статический?
Ну а как по другому? Делать весь класс с ивентом в статику? Если делать не статический лист у самого класса будет один лист, который появился при последнем объявлении, а у ивента будет другой лист, который объявился при регистрации ивента. Хотя кому я рассказываю. Ты это прекрасно знаешь. ?
 
flaweoff, ну типо, у меня вместо uuid отдельная переменная содержащая в себе ник, uuid, и время (не обязательно того игрока, который сейчас в гуи). Все эти данные берутся из дата базы, потом они уже выводятся и используются в дальнейших функциях.
 
Как гуи создаешь? Через IH/IV? Храни в своем гуи ссылку на список и потом можешь искать в этом списке своего игрока (Например через StreamAPI). Ну и еще, как вариант, при создании инвентаря добавляй в локальную мапу твоего гуи слот:данные(пусть это будет PlayerData) и при клике ищи данные через Map#get(slot)
 
Назад
Сверху Снизу