public IStoryValue Clone()
    {
        var newObj = new LuaSimpleStoryValue(m_ClassName, false);

        newObj.m_Params = m_Params.Clone() as StoryValueParams;
        newObj.m_Proxy  = m_Proxy.Clone();
        if (null != m_Plugin)
        {
            var ret = m_Plugin.Clone();
            newObj.m_Plugin = new Cs2LuaSimpleStoryValuePlugin();
            newObj.m_Plugin.InitLua((LuaTable)ret, m_FileName);
            if (null != newObj.m_Plugin)
            {
                newObj.m_Plugin.SetProxy(newObj.m_Proxy);
            }
        }
        return(newObj);
    }
    public IStoryValue Clone()
    {
        var newObj = new LuaSimpleStoryValue(m_ClassName, false);

        newObj.m_Params = m_Params.Clone() as StoryValueParams;
        newObj.m_Proxy  = m_Proxy.Clone();
        if (null != m_Clone)
        {
            var ret = m_Clone.call(m_Self);
            newObj.m_Svr      = m_Svr;
            newObj.m_ClassObj = m_ClassObj;
            newObj.m_Self     = (LuaTable)ret;
            newObj.BindLuaInterface();
            if (null != newObj.m_SetProxy)
            {
                newObj.m_SetProxy.call(newObj.m_Self, newObj.m_Proxy);
            }
        }
        return(newObj);
    }