Вызов RPC Unity Photon PUNC#

Место общения программистов C#
Ответить
Anonymous
 Вызов RPC Unity Photon PUN

Сообщение Anonymous »

У меня вопрос по поводу RPC и Photon PUN.

У меня в игре есть 1 GameObject, который вызывает метод RPC. Этот игровой объект содержит скрипт C# (который содержит метод RPC) и компонент PhotonView с наблюдаемым скриптом или без него (он должен быть одинаковым), а параметр ObserveOption равен Off.

У меня есть персонаж, который должен стрелять в куб. К этому кубу прикреплен ранее описанный скрипт и компонент.

RPC отправляется один раз (когда куб столкнулся со снарядом), но в моей сцене у меня есть много кубов, которые должны получить сообщение, потому что мне нужно уменьшить здоровье ударного куба. Проблема в том, что только 1 куб получает вызов RPC (RPC перехватывается первым экземпляром объекта в начале игры), но RPC должен быть получен всеми кубами (верно?) в моей сцене.

Кубы абсолютно одинаковы, но у них другой идентификатор photonView (справедливо), поэтому мы могли проверить, является ли хит-куб, на который уменьшается здоровье, правильным.

Это значительная часть кода:

Код: Выделить всё

public static void reduceHealthRPC(float damage, int viewID)
{
photonView.RPC("reduceHealth", PhotonTargets.All, damage, viewID);
}

[RPC]
public void reduceHealth(float damage, int viewID)
{
if(this._viewID != viewID)
{
Debug.Log ("The view ID is not mine. My viewID is: " + _viewID + ", and the one which is coming form RPC is: " + viewID);
return;
}

currentHealth -= damage;
Debug.Log("My life is: " + currentHealth);
}
Пожалуйста, помогите мне понять, что я делаю неправильно.
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/294 ... n-rpc-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»