예제 #1
0
    // add by wenzy
    public bool SaveToLuaFile(string path, int global_version)
    {
        StringBuilder sb = new StringBuilder();

        //sb.Append( string.Format( "-- version\t{0}\r\n", global_version ) );
        sb.Append(string.Format("{0}=", table_name));
        sb.Append("{\r\n");

        int[] ids = new int[objs_.Keys.Count];
        objs_.Keys.CopyTo(ids, 0);
        Array.Sort(ids);
        foreach (int one_id in ids)
        {
            sb.Append(string.Format("[{0}]=", one_id.ToString()));
            ResourceObject obj = objs_[one_id];
            if (!obj.WriteToStreamForLua(sb))
            {
                return(false);
            }
        }

        sb.Append("}");

        string resFilename = string.Format("{0}/{1}.lua", path, table_name);

        FileStream file_stream = new FileStream(resFilename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);

        using (StreamWriter stream_write = new StreamWriter(file_stream, Encoding.UTF8))
        {
            stream_write.Write(sb.ToString());
        }

        return(true);
    }