Підключення до photon cloud - статті - unity 3d

Я довго думав про що можна написати статтю, борознив простори інтернету і майже не знайшов російських статей по створенню мультиплеєра в unity3d по кошти Photon Unity Network.
У даній статті ми зробимо підключення до photon і я розповім про кімнатах, лобі, і про сам Photon cloud. І так, приступимо.
Що ж таке Photon cloud? На це питання я постараюся дати вам короткий, але зрозумілу відповідь.

Photon cloud - зв'язка вашого пк з сервером, на якому буде запущена ваша гра. Це своєрідний хостинг для вашої багатокористувацької гри, але він менш витратний. Ви самі зможете вибирати налаштування для вашого сервера і додавати характеристик, думаю, на цьому питанні не треба зациклюватися, так що відразу перейдемо далі.

Лобі.
Лобі зберігає в собі номери кімнат на головному сервері. Photon unity network автоматично приєднується до цього лобі і отримує список кімнат, пізніше вже приєднується до них. Лобі не обов'язково мати, можна підключитися до випадкової кімнаті або до конкретної кімнаті, якщо ви знаєте її номер.
Кімната.
Кімната - місце, де збираються гравці, вона має характеристики (наприклад, ви можете виставити обмеження гравців, її номер та інше). Весь список кімнат з їх номерами знаходиться в лобі, і ви можете підключатися до конкретної кімнаті безпосередньо з лобі. Але можна і підключитися до випадкової кімнаті, тут вирішувати вам.

Підключення до фотону.

Спершу нам потрібно підключитися до фотону, для цього ми використовуємо функцію PhotonNetwork.ConnectUsingSettings (), яка дозволить нам підключитися до фотону і вказати версію нашої гри.
Тепер створюємо новий скрипт, називаємо його будь-яким зручним вам ім'ям, я назву його "Connect". Вміст скрипта буде виглядати так:

Втім, тут немає нічого складно, що потрібно пояснювати тут ми просто підключаємося до фотону, і задаємо версію нашої гри, в моєму випадку це: "1.0 TestGame".

Далі, для зручності ми будемо виводити весь процес в GUI. Для цього в цьому ж скрипті викличемо метод OnGUI () і виведемо через нього процес нашого підключення.

Далі ми перевіряємо - підключилися ми до лобі, якщо так, то ми підключаємося до випадкової кімнаті. Код буде виглядати наступним чином:

Метод OnJoinedLobby () викликається після того, як ми підключилися до лобі. Ми відразу виводимо в лог, що ми підключилися до лобі, це для зручності. У другій сходинці ми заходимо в випадкову кімнату зі списку кімнат фотона, але кімнат може і не бути взагалі, тоді ми повинні будемо її створити. Для цього використовуємо метод OnPhotonRandomJoinFailed (). він буде спрацьовувати якщо ми не зайшли в випадкову кімнату, далі в самому методі ми виводимо в лог то, що ми не змогли зайти в кімнату і створюємо кімнату. Код буде виглядати так:

Скрін скрипта, який повинен у вас в підсумку вийти:

Дякуємо за увагу.