コード例 #1
0
    /// <summary>
    /// 同步调用其他玩家客户端中此GameObject中此脚本中的此方法
    /// </summary>
    /// <param name="_this">此脚本类的object,统一用this</param>
    /// <param name="methodName">函数名字</param>
    /// <param name="args">函数的参数,可动态扩充长度</param>
    /// <returns></returns>
    public void RPC(object _this, string methodName, params object[] args)
    {
        if (!GameMgr.instance)//GameMgr.instance没被初始化,则此时是离线状态
        {
            return;
        }
        ProtocolBytes proto = new ProtocolBytes();

        proto.AddString("RPC");
        proto.AddString(sync_id + "RPC");
        // componentName
        proto.AddString(_this.GetType().ToString());

        proto.AddString(methodName);
        // 问题1, 发送obj数组
        proto.AddObjects(args);
        NetMgr.srvConn.Send(proto);
    }