为什么Unity Cient不调用服务器命令?

问题描述 投票:0回答:1

当我按下发送按钮(因此调用发送功能)时,客户端不会调用服务器命令。服务器很好地调用了RPC函数并发送了消息,客户端按预期显示了该消息。已检查本地玩家授权。

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;

[System.Obsolete]
public class chat : NetworkBehaviour
{
    public GameObject input;
    public Transform content;
    public GameObject messageobj;
    private Text text;

    private void Start()
    {
        text = input.GetComponent<Text>();
    }

    public void Send()
    {
        Debug.Log("Send");
        CmdSend(text.text);
    }

    [Command]
    public void CmdSend(string message)
    {
        Debug.Log("CMD");
        RpcSend(message);
    }

    [ClientRpc]
    public void RpcSend(string message)
    {
        Debug.Log("RPC");
        PutMessageToScreen(message);
    }

    public void PutMessageToScreen(string message)
    {
        Debug.Log("all");
        GameObject mess = Instantiate(messageobj, content);
        mess.GetComponent<Text>().text = message;
    }
}
c# unity3d networking command
1个回答
1
投票

如果具有此脚本的对象在现场。不是经理生成它,这就是为什么它没有发送命令。聊天必须附加到播放器上!

© www.soinside.com 2019 - 2024. All rights reserved.