Как мне это сделать правильно? Единство ФотонC#

Место общения программистов C#
Ответить
Anonymous
 Как мне это сделать правильно? Единство Фотон

Сообщение Anonymous »

Когда я пытаюсь поднять лампу, она появляется в руках игрока, который ее взял, но для других игроков она просто появляется в точке и не привязывается к игроку.
Также я попробовал прокомментировать первые 2 строки кода в методе AddLamp, и теперь на карте 2 лампы, так странно.

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

private void Update()
{
if(!photonView.IsMine && PhotonNetwork.IsConnected)
return;

if (Input.GetKeyDown(PICKUP) && _inRange && _item != null)
photonView.RPC("TakeItem",  RpcTarget.All);
}

[PunRPC]
private void TakeItem()
{
if (!ItIsObject())
return;
if (_item.CompareTag(_itemTags[3]))
{
if(_itemInventoryScript.haveMainItem)
return;
//photonView.RPC("AddLamp", RpcTarget.All);
_itemInventoryScript.AddLamp();
}

_audioSource.PlayOneShot(_pickUpSound);
_triggerEnters--;
Destroy(_item);
}
Другой скрипт:

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

public void AddLamp()
{
if(!photonView.IsMine && PhotonNetwork.IsConnected)
return;

haveMainItem = true;

GameObject lamp = PhotonNetwork.Instantiate(HANDITEMSPATH + _lampPrefab.name, _itemsPosition.position, Quaternion.identity);
lamp.transform.parent = _itemsPosition;
lamp.transform.localPosition = new Vector3(0f, 0.03f, 0.15f);
lamp.transform.localRotation = Quaternion.Euler(-90, 0, 30);
}
Если выполнить простое создание экземпляра (без PhotonNetwork), я не смогу получить доступ к объекту, потому что IsMine всегда ложь

Подробнее здесь: https://stackoverflow.com/questions/711 ... ity-photon
Ответить

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

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

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

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

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