Exemple #1
0
    //-------------------------------------------------------------------------
    public void update(float elapsed_tm)
    {
        // 暂定则返回
        if (mbPaused)
        {
            return;
        }

        // 服务端应用队列中所有操作
        bool need_save = false;

        if (mQueNodeOp.Count > 0)
        {
            // 处理mQueNodeOp中所有元素
            updateQueNodeOp();

            need_save = true;
        }

        // 把mQueNodeOp发送给Client
        if (!mIsClient && mpNodeServerListener != null && mQueNodeOpRemote.Count > 0)
        {
            mpNodeServerListener.nodeUpdateNodeOpQue(mQueNodeOpRemote);
            mQueNodeOpRemote.Clear();
        }

        // 更新AllNode
        foreach (var i in mMapAllNode)
        {
            i.Value.processEvent("main_update", elapsed_tm);
        }

        // 保存List<_tNodeInfo>
        if (!mIsClient && need_save && mpNodeServerListener != null)
        {
            List <_tNodeInfo> list_nodeinfo = getListNodeInfo();
            mpNodeServerListener.nodeSaveNodeInfoList(list_nodeinfo);
        }
    }
Exemple #2
0
    //-------------------------------------------------------------------------
    internal void _destroy()
    {
        // 保存List<_tNodeInfo>
        if (mpNodeServerListener != null)
        {
            List<_tNodeInfo> list_nodeinfo = getListNodeInfo();
            mpNodeServerListener.nodeSaveNodeInfoList(list_nodeinfo);
        }

        // 销毁NodeList中所有元素
        foreach (var i in mMapAllNode)
        {
            i.Value.Dispose();
        }
        mMapAllNode.Clear();
        mQueNodeOp.Clear();

        // 销毁其他对象
        mNodeSys = null;
        mpNodeServerListener = null;
        mpNodeClientListener = null;
    }