Мне нужна помощь в том, чтобы сделать мою игру многопользовательской.
Я только начинаю работать с Photon, и хотя я понимаю, почему документация в первую очередь фокусируется на таких вещах, как движение игрока, я немного зациклен на сетевых дополнительных данных.
Например, игра, которую я создаю, представляет собой карточную игру, и в настоящее время синглтон содержит список, представляющий руку каждого игрока, который не связан напрямую с графическим интерфейсом. Он живет на мировом игровом объекте и затем используется для отслеживания всех текущих карт. Хотя я предполагал, что это может существовать исключительно как данные, прикрепленные к реальным игровым объектам, таким как каждая карта, я подумал, что было бы чище иметь набор данных, на основе которого затем отображается графический интерфейс.
Итак, если у меня есть p1, p2 и p3, с тремя картами, назовите это k, j, j, как я могу сказать Photon, что эти данные должны иметь только одну копию, которая будет сохранена на хосте, а не четыре копии каждой руки на каждом устройстве. Предполагая, что я правильно понимаю, что у p1 будет экземпляр Gamecore для своей сцены, а у p2 будет экземпляр игрового ядра для своей сцены, поскольку, несмотря на то, что это синглтон, каждый клиент имеет свой собственный экземпляр.
orrrr
Если каждый клиент сгенерирует свой собственный список p1, p2 и p3, а затем сообщит об изменении, которое будет распространено на всех клиентов, чтобы гарантировать, что все они имеют одинаковые данные. Если это так, то это будет больше похоже на то, что, скажем, p1 отбрасывает карту, обновляется, а затем отправляет сообщение для получения клиентами. Для справки, вот мое текущее ядро игры и урезанный класс игрока.
public class GameCore : MonoBehaviour{
public List playerList = new List();
public static GameCore Instance { get; private set; }
private void Awake()
{
if (Instance != null && Instance != this)
Destroy(gameObject);
else
Instance = this;
}
}
public struct Player {
//should initialize with a name and 7 blank cards
public Player(string playerName)
{
name = playerName;
playerCards = new List();
score = 0;
sticks = new Stick();
}
private string name;
private int score;
public List playerCards;
public Stick sticks;
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ton-fusion
Моделирование данных, не зависящих от сцены Unity, с помощью Photon Fusion ⇐ C#
Место общения программистов C#
1771808883
Anonymous
Мне нужна помощь в том, чтобы сделать мою игру многопользовательской.
Я только начинаю работать с Photon, и хотя я понимаю, почему документация в первую очередь фокусируется на таких вещах, как движение игрока, я немного зациклен на сетевых дополнительных данных.
Например, игра, которую я создаю, представляет собой карточную игру, и в настоящее время синглтон содержит список, представляющий руку каждого игрока, который не связан напрямую с графическим интерфейсом. Он живет на мировом игровом объекте и затем используется для отслеживания всех текущих карт. Хотя я предполагал, что это может существовать исключительно как данные, прикрепленные к реальным игровым объектам, таким как каждая карта, я подумал, что было бы чище иметь набор данных, на основе которого затем отображается графический интерфейс.
Итак, если у меня есть p1, p2 и p3, с тремя картами, назовите это k, j, j, как я могу сказать Photon, что эти данные должны иметь только одну копию, которая будет сохранена на хосте, а не четыре копии каждой руки на каждом устройстве. Предполагая, что я правильно понимаю, что у p1 будет экземпляр Gamecore для своей сцены, а у p2 будет экземпляр игрового ядра для своей сцены, поскольку, несмотря на то, что это синглтон, каждый клиент имеет свой собственный экземпляр.
orrrr
Если каждый клиент сгенерирует свой собственный список p1, p2 и p3, а затем сообщит об изменении, которое будет распространено на всех клиентов, чтобы гарантировать, что все они имеют одинаковые данные. Если это так, то это будет больше похоже на то, что, скажем, p1 отбрасывает карту, обновляется, а затем отправляет сообщение для получения клиентами. Для справки, вот мое текущее ядро игры и урезанный класс игрока.
public class GameCore : MonoBehaviour{
public List playerList = new List();
public static GameCore Instance { get; private set; }
private void Awake()
{
if (Instance != null && Instance != this)
Destroy(gameObject);
else
Instance = this;
}
}
public struct Player {
//should initialize with a name and 7 blank cards
public Player(string playerName)
{
name = playerName;
playerCards = new List();
score = 0;
sticks = new Stick();
}
private string name;
private int score;
public List playerCards;
public Stick sticks;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79146435/modeling-non-unity-scene-dependent-data-with-photon-fusion[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия