Photon Unity: одинаковые InstanceID у разных игроков

73
05 сентября 2019, 20:50

Photon Unity Networking 2:
У меня сразу два смежных вопроса, но один код:

  1. У меня есть GameObject с названием GameSetup, который существует в единственном экземпляре на сцене, реализован через Singletone. На нем нет никаких компонентов, кроме самого скрипта.

    Скрин:

    Также у меня есть два игрока(подключаются с разных устройств), на каждом из них стоит PhotonView. Я вызываю у этих игроков RPC метод , в котором на консоль вывожу InstanceID объекта. Результат получился такой: оба игроки вывели на консоль один и тот же ID объекта GameSetup, хотя по идее они должны были вывести на консоль разные ID, так как у каждого по идее свой GameSetup объект.

    Скрин того как выводятся ID на консоль:

  2. Если я вызываю RPC метод без проверки PhotonView.IsMine, то RPC вызывается у всех игроков, а если я вызываю RPC метод с проверкой PhotonView.IsMine == true, то RPC метод вызывается только у того, кто вызывает этот метод, хотя Target стоит ALL. Ведь идея Remote Call Procedure в том, что можно удаленно у игрока вызвать соответствующий метод? Или я чего-то не понимаю?

    void FixedUpdate () 
    {
        if (Input.GetKeyDown(KeyCode.P))
        {
            PV.RPC("RPC_Test", RpcTarget.All);
        }
        if (PV.IsMine && Input.GetKeyDown(KeyCode.L))
        {
            PV.RPC("RPC_Test", RpcTarget.All);
        }
    }
    [PunRPC]
    void RPC_Test()
    {
        Debug.LogWarning("RPC_Test, Instance ID = " + GameSetup.Instance.GetInstanceID());
        transform.position = transform.position + Vector3.forward;
    }
    
READ ALSO
Как отловить ивент свайпа / Swipe в Unity?

Как отловить ивент свайпа / Swipe в Unity?

Во многих играх нужно отлавливание жестов, в тч

82
Как сделать свою бд с IdentityDbContext?

Как сделать свою бд с IdentityDbContext?

Как правильно заполнять таблицу? Создал Custom IdentityUser, создал AccountDatabasemdf, и вроде как создал правильный IdentityDbContex (все как в примере ниже)

132
Вывод елементов от меньшего к большему C#

Вывод елементов от меньшего к большему C#

A, B, C и D – целые коэффициенты кубического уравненияНужно вывести через пробел в порядке возрастания все корни заданного кубического уравнения

86
Как изменить operationId в Swagger?

Как изменить operationId в Swagger?

Обновился до Core 22 В Swagger появилась проблема с operationId

90