Тема: Порадьте архітектуру ще одну.
Хаі. Значить з сервером все зрозуміло. А от дивіться які справи на клієнті. Так, як я використовую рушій, в нього свої методи для реалізації різних ігрових штук, наприклад, відмальовка GUI. Також на клєінті багацько різних скриптів. Наприклад, один скрипт відмальовує кнопку, і по натисканню на цю кнопку щось робиться, це все написано в одному скрипті. Інший скрипт може відповідати за щось інше, наприклад, він відкриває двері, коли персонаж підходить до них. Таких подій може бути ціла купа, і при виконанні кожної з них, або не кожної, мені треба відправити відповідні дані на сервер. І зрозуміло, що писати в кожному такому скрипті код методів, потрібних для відправки та прийняття повідомлення - дуже не розумно.
Якщо подивитись на це все діло зверху, то ми ясно побачимо, що самим легшим рішенням є - виділення коду, потрібного для спілкування з сервером, в окремий файл, а потім звертатись до нього з інших скриптів, таке собі централізоване управління. Ну, зі звертанням скриптім до того "клієнт-серверного" скрипта все ясно, можна просто зробити необхідний класс статичним, та легко звертатись до його методів із інших скриптів, але як бути зі зворотнім зв'язком? Наприклад, є скрипт, котрий містить два методі, перший метод відслідковує позицію персонажа, так якщо персонаж підходить до дверей, вони мають відчинитись, також ці двері мають відчинитись для всіх гравців, що знаходяться в тій локації, для цього ми звертаємось до "клієнт-серверного" класу, та за допомогою його метода відправляємо необхідні дані, але як інших клієнтів сповістити про подію відчинення дверей? Робити публичні змінні, котрі будуть містити посилання на всі скрипти, та залежно від повідомлення звертатись до необхідних скриптів? так це ж якось дуже важко та затратно, тоді прийдеться кожного разу, при створенні чергового функціоналу, додавати в "клієнт-серверний" скрипт змінну з посиланням, та дописувати новий блок в конструкцію switch, чи щось типу того. Кароч, як мона це все діло організувати з розумом, щоб було логічно, та легко піддавалось розширенню?