public void CmdAddOne(CreationNetworkMessage cnm)
    {
        GameObject nBase = MainService.Instance.poolManager.Instantiate(networkedBase, transform.position, Quaternion.identity); //GameObject nBase = Instantiate(networkedBase);

        switch (cnm.networkSyncType)
        {
        case NetworkSyncType.PlayerObject:     // this player will have Authority
            NetworkServer.Spawn(nBase, connectionToClient);
            break;

        case NetworkSyncType.SceneObject:
            NetworkServer.Spawn(nBase);
            break;

        case NetworkSyncType.Player:
            break;

        default:
            break;
        }

        var nob = nBase.GetComponent <NetworkObjectBase>();

        nob.ServerSideInit(cnm);
    }
Esempio n. 2
0
    //When CreationNetworkMessage message set, trigger this method
    public void ClientSideRemoteInit(CreationNetworkMessage last, CreationNetworkMessage cnm)
    {
        Debug.Log($"NetworkObjectBase.InitSyncRemote { message }");
        var nt = GetComponent <NetworkTransform>();

        switch (cnm.networkSyncType)
        {
        case NetworkSyncType.Player:

            var pms = GetComponent <PlayerMainSync>();
            if (pms == null)
            {
                pms = gameObject.AddComponent <PlayerMainSync>();
            }

            nt.clientAuthority = true;
            break;

        case NetworkSyncType.PlayerObject:
            nt.clientAuthority = true;
            break;

        case NetworkSyncType.SceneObject:
            break;

        default:
            break;
        }
    }
    // setter @server
    public void ServerSideInit(CreationNetworkMessage pcnMsg)
    {
        if (!isServer)
        {
            return;
        }

        Debug.Log($"NetworkObjectBase.ServerInit {pcnMsg.ToString()}");

        message = pcnMsg;
        Debug.Log($"NetworkObjectBase.ServerInit Trigger ClientSideRemoteInit");

        Debug.Log($"NetworkObjectBase.ServerInit End {message.ToString()}");
    }