예제 #1
0
        private static void CreateAsHandler(CMessages msg, string path)
        {
            foreach (var message in msg.messages)
            {
                if (message.name.Contains("Res"))
                {
                    FileStream fs = new FileStream(path + @"\" + message.name + "Handler.as",
                                                   FileMode.Create, FileAccess.Write);
                    StreamWriter    sw     = new StreamWriter(fs);
                    Template        temp   = CNVelociryHelp.GetTemplate(@".\Templates\AS\" + Global.AsHandleTemplatePath.Substring(Global.AsHandleTemplatePath.LastIndexOf(@"\")));
                    VelocityContext vltCtx = new VelocityContext();
                    vltCtx.Put("PackageString", msg.import);
                    vltCtx.Put("HandlerName", message.name + "Handler");
                    vltCtx.Put("MessageName", message.name + "Message");

                    System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                    temp.Merge(vltCtx, vltWriter);

                    Console.WriteLine(vltWriter.ToString());

                    sw.Write(vltWriter.ToString());
                    sw.Close();
                    fs.Close();
                    Debug.Log(message.name + "Handler.as生成成功");
                }
            }
        }
예제 #2
0
        private static void CreateAsMessages(CMessages msg, string path)
        {
            foreach (var message in msg.messages)
            {
                FileStream fs = new FileStream(path + @"\" + message.name + "Message.as",
                                               FileMode.Create, FileAccess.Write);
                StreamWriter    sw     = new StreamWriter(fs);
                Template        temp   = CNVelociryHelp.GetTemplate(@".\Templates\AS\" + Global.AsMessageTemplatePath.Substring(Global.AsMessageTemplatePath.LastIndexOf(@"\")));
                VelocityContext vltCtx = new VelocityContext();
                vltCtx.Put("PackageString", msg.import);
                vltCtx.Put("Explain", message.explain);
                vltCtx.Put("MessageName", message.name + "Message");
                vltCtx.Put("MessageID", msg.ID + message.ID);
                if (message.fields != null && message.fields.Length > 0)
                {
                    List <BeanVar> beanVarList = new List <BeanVar>();
                    //List<CField> beanWriteList = new List<CField>();
                    foreach (var field in message.fields)
                    {
                        BeanVar var = new BeanVar(field);
                        beanVarList.Add(var);
                    }
                    vltCtx.Put("fildList", beanVarList);
                }
                if (message.lists != null && message.lists.Length > 0)
                {
                    List <BeanVar> beanVarList = new List <BeanVar>();
                    foreach (var list in message.lists)
                    {
                        BeanVar var = new BeanVar(list);
                        beanVarList.Add(var);
                    }
                    vltCtx.Put("vectorList", beanVarList);
                }

                System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                temp.Merge(vltCtx, vltWriter);

                Console.WriteLine(vltWriter.ToString());

                sw.Write(vltWriter.ToString());
                sw.Close();
                fs.Close();
                Debug.Log(message.name + "Message.as生成成功");
            }
        }
예제 #3
0
 private static void CreateHandler(CMessages msg, string path)
 {
     foreach (var message in msg.messages)
     {
         if (message.name != "")
         {
             if (!message.name.Contains("Req") && message.msType.Substring(0, 1) != "C" &&
                 message.msType.Substring(1) != "S" && !message.msType.Contains("W"))
             {
                 if (File.Exists(path + @"\" + message.name + "Handler.cs"))
                 {
                     Debug.Log(message.name + "Handler.cs已经存在!不会生成", 2);
                 }
                 else
                 {
                     FileStream      fs       = new FileStream(path + @"\" + message.name + "Handler.cs", FileMode.Create, FileAccess.Write);
                     StreamWriter    sw       = new StreamWriter(fs);
                     string          tempPath = @".\Templates\CS\temp_cs_handler.vm";
                     Template        temp     = CNVelociryHelp.GetTemplate(tempPath);
                     VelocityContext vltCtx   = new VelocityContext();
                     vltCtx.Put("HandlerName", message.name + "Handler");
                     vltCtx.Put("ResMessageName", message.name + "Message");
                     System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                     temp.Merge(vltCtx, vltWriter);
                     sw.Write(vltWriter.ToString());
                     sw.Close();
                     fs.Close();
                     Debug.Log(message.name + "Handler.cs生成成功");
                 }
             }
         }
         else
         {
             Debug.Log("Message文件名称为空", 3);
         }
     }
 }
예제 #4
0
        /*private static void CreateMessageTypeEnum(string outPath,CMessages csMessages, TextBox label1)
         * {
         *  if (csMessages.messages.Length>0)
         *  {
         *      FileStream fs = new FileStream(outPath + "/MessagePool.cs",
         *              FileMode.OpenOrCreate, FileAccess.Read);
         *      StreamReader sr = new StreamReader(fs);
         *      List<string> lines=new List<string>();
         *      while (!sr.EndOfStream)
         *      {
         *          lines.Add(sr.ReadLine());
         *      }
         *      //string contents = sr.ReadToEnd();
         *      sr.Close();
         *      fs.Close();
         *      FileStream fs1 = new FileStream(outPath + "/MessagePool.cs",
         *              FileMode.Create, FileAccess.Write);
         *      StreamWriter sw = new StreamWriter(fs1);
         *      //string[] lines = contents.Split('\n');
         *      List<string> newMessage=new List<string>();
         *      List<string> listeners =new List<string>();
         *      List<string> cases =new List<string>();
         *      foreach (var mess in csMessages.messages)
         *      {
         *          if (mess.name.Contains("Res") || mess.msType.Substring(0, 1) == "C" &&
         *              mess.msType.Substring(1) == "S")
         *          {
         *              bool flag = false;//该消息是否已经存在
         *              string mId = csMessages.ID + mess.ID;
         *              if (!string.IsNullOrWhiteSpace(mess.name))
         *              {
         *                  string mName = "";
         *                  if (mess.name.Contains("Res") || mess.name.Contains("Req"))
         *                  {
         *                      mName = mess.name.Substring(3).Replace("Message", "");
         *                  }
         *                  else
         *                  {
         *                      mName = mess.name.Replace("Message", "");
         *                  }
         *
         *                  for (int i = 0; i < lines.Count; i++)
         *                  {
         *                      if (lines[i].Contains(mName) && lines[i].Contains(mId))//该消息已存在
         *                      {
         *                          if (lines[i - 1].Contains("</summary>"))
         *                          {
         *                              if (lines[i-2].Contains("<summary>"))
         *                              {
         *                                  lines[i - 2] = "        ///" + mess.explain;
         *                              }
         *                              else
         *                              {
         *                                  lines[i - 1] = "        ///<summary>" + mess.explain + "</summary>";
         *                              }
         *                          }
         *                          lines[i] = "        " + mName + " = " + mId + ",";
         *                          flag = true;
         *                          break;
         *                      }
         *                  }
         *              }
         *              else
         *              {
         *                  label1.Text += "消息号为" + csMessages.ID + mess.ID + "名称为空";
         *              }
         *              //该消息不存在
         *              if (!flag)
         *              {
         *                  if (!string.IsNullOrWhiteSpace(mess.name))
         *                  {
         *                      string mName = "";
         *                      if (mess.name.Contains("Res") || mess.name.Contains("Req"))
         *                      {
         *                          mName = mess.name.Substring(3).Replace("Message", "");
         *                      }
         *                      else
         *                      {
         *                          mName = mess.name.Replace("Message", "");
         *                      }
         *                      newMessage.Add("        ///<summary>" + mess.explain + "</summary>        " + mName + " = " + mId + ",");
         *                      listeners.Add("            ClientNetwork.Instance.AddListener(GameMessageType." + mName+", \"Res"+ mName+"Handler\");");
         *                      cases.Add("                case \"Res" + mName + "Handler\":                    return new Res" + mName + "Handler();");
         *                  }
         *                  else
         *                  {
         *                      newMessage.Add("        ///<summary>" + mess.explain + "</summary>	    " + mId + ",");
         *                  }
         *              }
         *          }
         *
         *      }
         *      List<string> allMessage =new List<string>();
         *      for(int i=0;i<lines.Count;i++)
         *      {
         *          lines[i].Replace("\r", "");
         *          if (i>0 && lines[i].Contains("="))
         *          {
         *              string str = "";
         *              if (lines[i-1].Contains("<summary>") && lines[i-1].Contains("</summary>"))
         *              {
         *                  str+=lines[i - 1];
         *              }
         *              str+=lines[i];
         *              allMessage.Add(str);
         *          }
         *      }
         *      if (newMessage.Count>0)
         *      {
         *          foreach (var mess in newMessage)
         *          {
         *              allMessage.Add(mess);
         *          }
         *      }
         *      List<string> allListener = new List<string>();
         *      for (int i = 0; i < lines.Count; i++)
         *      {
         *          if (lines[i].Contains("ClientNetwork.Instance.AddListener"))
         *          {
         *              allListener.Add(lines[i]);
         *          }
         *      }
         *      if (listeners.Count>0)
         *      {
         *          foreach (var listen in listeners)
         *          {
         *              allListener.Add(listen);
         *          }
         *      }
         *
         *      List<string> allCases = new List<string>();
         *      for (int i = 0; i < lines.Count; i++)
         *      {
         *          if (lines[i].Contains("case") || lines[i].Contains("return new"))
         *          {
         *              allCases.Add(lines[i]);
         *          }
         *      }
         *      if (cases.Count>0)
         *      {
         *          foreach (var cas in cases)
         *          {
         *              allCases.Add(cas);
         *          }
         *      }
         *      CCmessageTypeTemplate.Instance.Init(fs1,sw);
         *      CCmessageTypeTemplate.Instance.Write(allMessage,allListener,allCases);
         *      CCmessageTypeTemplate.Instance.Close();
         *      label1.Text += "MessagePool.cs" + "生成成功" + "";
         *  }
         *  GC.Collect();
         * }*/
        private static void CreateMessageTypeEnum(string outPath, CMessages csMessages)
        {
            if (csMessages.messages.Length > 0)
            {
                FileStream fs = new FileStream(outPath + "/MessagePool.cs",
                                               FileMode.OpenOrCreate, FileAccess.Read);
                StreamReader sr       = new StreamReader(fs);
                string       contents = sr.ReadToEnd();
                sr.Close();
                fs.Close();
                string[]      licont     = contents.Split('\r', '\n');
                List <string> lines      = new List <string>();
                List <string> newMessage = new List <string>();
                for (int i = 0; i < licont.Length; i++)
                {
                    lines.Add(licont[i]);
                }
                for (int i = 0; i < lines.Count; i++)
                {
                    if (lines[i] == "")
                    {
                        lines.RemoveAt(i);
                        i--;
                    }
                }
                List <string> listeners = new List <string>();
                List <string> cases     = new List <string>();
                foreach (var mess in csMessages.messages)
                {
                    if (!mess.name.Contains("Req") && mess.msType.Substring(0, 1) != "C" &&
                        mess.msType.Substring(1) != "S" && !mess.msType.Contains("W"))
                    {
                        bool   flag = false;//该消息是否已经存在
                        string mId  = csMessages.ID + mess.ID;
                        if (!string.IsNullOrWhiteSpace(mess.name))
                        {
                            string mName = "";
                            if (mess.name.Contains("Res") || mess.name.Contains("Req"))
                            {
                                mName = mess.name.Substring(3).Replace("Message", "");
                            }
                            else
                            {
                                mName = mess.name.Replace("Message", "");
                            }

                            for (int i = 0; i < lines.Count; i++)
                            {
                                if (lines[i].Contains(mName) && lines[i].Contains(mId))//该消息已存在
                                {
                                    if (lines[i - 1].Contains("</summary>"))
                                    {
                                        if (lines[i - 2].Contains("<summary>"))
                                        {
                                            lines[i - 2] = "        ///" + mess.explain;
                                        }
                                        else
                                        {
                                            lines[i - 1] = "        ///<summary>" + mess.explain + "</summary>";
                                        }
                                    }
                                    lines[i] = "        " + mName + " = " + mId + ",";
                                    flag     = true;
                                    break;
                                }
                            }
                        }
                        else
                        {
                            Debug.Log("消息号为" + csMessages.ID + mess.ID + "名称为空", 3);
                        }
                        //该消息不存在
                        if (!flag)
                        {
                            string mName = "";
                            if (!string.IsNullOrWhiteSpace(mess.name))
                            {
                                if (mess.name.Contains("Res") || mess.name.Contains("Req"))
                                {
                                    mName = mess.name.Substring(3).Replace("Message", "");
                                }
                                else
                                {
                                    mName = mess.name.Replace("Message", "");
                                }
                                newMessage.Add("        ///<summary>" + mess.explain + "</summary>");
                                newMessage.Add("        " + mName + " = " + mId + ",");
                            }
                            else
                            {
                                newMessage.Add("        ///<summary>" + mess.explain + "</summary>");
                                newMessage.Add("        " + mId + ",");
                            }
                            listeners.Add("            ClientNetwork.Instance.AddListener(GameMessageType." + mName + ", \"" + mess.name + "Handler\");");
                            cases.Add("                case \"" + mess.name + "Handler\":");
                            cases.Add("                    return new " + mess.name + "Handler();");;
                        }
                    }
                }
                for (int i = 0; i < lines.Count; i++)
                {
                    lines[i].Replace('\r', ' ');
                }
                List <string> allMessage = new List <string>();
                for (int i = 0; i < lines.Count; i++)
                {
                    lines[i].Replace("\r", "");
                    if (lines[i].Contains("="))
                    {
                        //string str = "";
                        if (lines[i - 1].Contains("<summary>") && lines[i - 1].Contains("</summary>"))
                        {
                            //str += lines[i - 1];
                            allMessage.Add(lines[i - 1]);
                        }
                        //str += lines[i];
                        allMessage.Add(lines[i]);
                    }
                }
                if (newMessage.Count > 0)
                {
                    foreach (var mess in newMessage)
                    {
                        allMessage.Add(mess);
                    }
                }
                List <string> allListener = new List <string>();
                for (int i = 0; i < lines.Count; i++)
                {
                    if (lines[i].Contains("ClientNetwork.Instance.AddListener"))
                    {
                        allListener.Add(lines[i]);
                    }
                }
                if (listeners.Count > 0)
                {
                    foreach (var listen in listeners)
                    {
                        allListener.Add(listen);
                    }
                }

                List <string> allCases = new List <string>();
                for (int i = 0; i < lines.Count; i++)
                {
                    if (lines[i].Contains("case") || lines[i].Contains("return new"))
                    {
                        allCases.Add(lines[i]);
                    }
                }
                if (cases.Count > 0)
                {
                    foreach (var cas in cases)
                    {
                        allCases.Add(cas);
                    }
                }
                Template temp = CNVelociryHelp.GetTemplate(@".\Templates\CS\" +
                                                           Global.CsMessageTypeTemplatePath.Substring(
                                                               Global.CsMessageTypeTemplatePath.LastIndexOf(@"\")));
                VelocityContext vltCtx = new VelocityContext();
                vltCtx.Put("MessageType", allMessage);
                vltCtx.Put("Listeners", allListener);
                vltCtx.Put("CaseHanders", allCases);
                StringWriter vltWriter = new StringWriter();
                try
                {
                    temp.Merge(vltCtx, vltWriter);
                }
                catch (Exception e)
                {
                    Debug.Log(e.Message, 3);
                }
                FileStream fs1 = new FileStream(outPath + "/MessagePool.cs",
                                                FileMode.Create, FileAccess.Write);
                StreamWriter sw   = new StreamWriter(fs1);
                string       str1 = vltWriter.ToString();
                sw.Write(vltWriter.ToString());
                sw.Close();
                fs1.Close();
                Debug.Log("MessagePool.cs" + "生成成功");
            }
        }
예제 #5
0
        private static void CreateServices(CMessages msg, string path)
        {
            string     name = Global.FirstCharToUpper(msg.name);
            FileStream fs   = new FileStream(path + @"\" + "CService" + name + ".cs",
                                             FileMode.Create, FileAccess.Write);
            StreamWriter    sw       = new StreamWriter(fs);
            string          tempPath = @".\Templates\CS\temp_cs_cservice.vm";
            Template        temp     = CNVelociryHelp.GetTemplate(tempPath);
            VelocityContext vltCtx   = new VelocityContext();

            vltCtx.Put("CServiceName", "CService" + name);
            StringBuilder sb = new StringBuilder();

            string listusing  = "";
            string importBean = "";

            foreach (var message in msg.messages)
            {
                if (message.name != "")
                {
                    if (message.name.Contains("Req") || message.msType.Substring(0, 1) == "C" ||
                        message.msType.Substring(1) == "S" || message.msType.Contains("W"))//生成Send函数
                    {
                        sb.Append("        /// <summary>\n        /// " + message.explain + "\n        /// </summary>\n");
                        if (message.items != null && message.items.Count > 0)
                        {
                            for (int i = 0; i < message.items.Count; i++)
                            {
                                if (message.items[i] != null)
                                {
                                    sb.Append("        /// <param name=\"" + message.items[i].name + "\">" + message.items[i].explain + "</param>\n");
                                }
                            }
                        }
                        sb.Append("        public static void Send" + message.name.Replace("Req", "") + "(");
                        if (message.items != null && message.items.Count > 0)
                        {
                            for (int i = 0; i < message.items.Count - 1; i++)
                            {
                                if (message.items[i] != null)
                                {
                                    if (!message.items[i].isList)
                                    {
                                        if (message.items[i].classType == "String")
                                        {
                                            sb.Append("string " + message.items[i].name + ",");
                                        }
                                        else
                                        {
                                            sb.Append(message.items[i].classType + " " + message.items[i].name + ",");
                                        }
                                    }
                                    else
                                    {
                                        if (message.items[i].classType == "String")
                                        {
                                            sb.Append("List<string>" + " " +
                                                      message.items[i].name +
                                                      ",");
                                        }
                                        else
                                        {
                                            sb.Append("List<" + message.items[i].classType + ">" + " " +
                                                      message.items[i].name +
                                                      ",");
                                        }
                                        if (listusing == "")
                                        {
                                            listusing = "using System.Collections.Generic;";
                                        }
                                    }
                                    if (Global.IsCustomType(message.items[i].classType) && !message.items[i].isHavePrefix && importBean == "")
                                    {
                                        importBean = "using " + msg.import + ".bean;";
                                    }
                                }
                            }
                            if (message.items[message.items.Count - 1] != null)
                            {
                                if (!message.items[message.items.Count - 1].isList)
                                {
                                    if (message.items[message.items.Count - 1].classType == "String")
                                    {
                                        sb.Append("string " +
                                                  message.items[message.items.Count - 1].name);
                                    }
                                    else
                                    {
                                        sb.Append(message.items[message.items.Count - 1].classType + " " +
                                                  message.items[message.items.Count - 1].name);
                                    }
                                }
                                else
                                {
                                    if (message.items[message.items.Count - 1].classType == "String")
                                    {
                                        sb.Append("List<string>" + " " +
                                                  message.items[message.items.Count - 1].name);
                                    }
                                    else
                                    {
                                        sb.Append("List<" + message.items[message.items.Count - 1].classType + ">" + " " +
                                                  message.items[message.items.Count - 1].name);
                                    }
                                    if (listusing == "")
                                    {
                                        listusing = "using System.Collections.Generic;";
                                    }
                                }
                                if (Global.IsCustomType(message.items[message.items.Count - 1].classType) && importBean == "")
                                {
                                    importBean = "using " + msg.import + ".bean;";
                                }
                            }
                        }
                        sb.Append(")\n        {\n            ");
                        sb.Append(message.name + "Message message = new " + message.name + "Message();\n            ");
                        if (message.items != null && message.items.Count > 0)
                        {
                            for (int i = 0; i < message.items.Count; i++)
                            {
                                sb.Append("message." + message.items[i].name + "=" + message.items[i].name + ";\n            ");
                            }
                        }
                        sb.Append("ClientNetwork.Instance.SendMessage (message);\n        }\n");
                    }
                }
            }
            vltCtx.Put("FunList", sb);
            List <string> usList = new List <string>();

            if (listusing != "")
            {
                usList.Add(listusing);
            }
            if (importBean != "")
            {
                usList.Add(importBean);
            }
            vltCtx.Put("usList", usList);
            System.IO.StringWriter vltWriter = new System.IO.StringWriter();
            temp.Merge(vltCtx, vltWriter);

            sw.Write(vltWriter.ToString());
            sw.Close();
            fs.Close();
            Debug.Log(name + "Handler.cs生成成功");
        }
예제 #6
0
        /// <summary>
        /// 生成CS下的Message.cs文件
        /// </summary>
        /// <param name="csMessages"></param>
        /// <param name="funMap"></param>
        private static void CreateMessage(CMessages msg, string path)
        {
            foreach (var message in msg.messages)
            {
                if (message.name != "")
                {
                    FileStream fs = new FileStream(path + @"\" + message.name + "Message.cs",
                                                   FileMode.Create, FileAccess.Write);
                    StreamWriter sw       = new StreamWriter(fs);
                    string       tempPath = @".\Templates\CS\" +
                                            Global.CsMessageTemplatePath.Substring(
                        Global.CsMessageTemplatePath.LastIndexOf(@"\") + 1);
                    Template        temp         = CNVelociryHelp.GetTemplate(tempPath);
                    VelocityContext vltCtx       = new VelocityContext();
                    string          importString = "";
                    vltCtx.Put("MessageExplain", message.explain);
                    vltCtx.Put("MessageName", message.name + "Message");
                    vltCtx.Put("MessageID", msg.ID + message.ID);
                    if (message.lists != null && message.lists.Length > 0)
                    {
                        vltCtx.Put("Length", "int length=0;");
                    }
                    else
                    {
                        vltCtx.Put("Length", "");
                    }
                    List <string> usList = new List <string>();
                    if (message.lists != null && message.lists.Length > 0)
                    {
                        usList.Add("using System.Collections.Generic;");
                    }

                    if (message.items != null && message.items.Count > 0)
                    {
                        List <CMessageFieldAndList> list = new List <CMessageFieldAndList>();
                        foreach (var item in message.items)
                        {
                            if (item != null)
                            {
                                CMessageFieldAndList fl = new CMessageFieldAndList(item);

                                if (Global.IsCustomType(fl.className) && fl.isPrefix == "0" && importString == "")
                                {
                                    importString = msg.import;
                                }
                                list.Add(fl);
                                if (item.classType == "Position")
                                {
                                    usList.Add("using com.game.structs;");
                                }
                            }
                        }
                        vltCtx.Put("flList", list);
                    }
                    vltCtx.Put("usList", usList);
                    vltCtx.Put("ImportString", importString);
                    System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                    temp.Merge(vltCtx, vltWriter);

                    sw.Write(vltWriter.ToString());
                    sw.Close();
                    fs.Close();
                    Debug.Log(message.name + "Message.cs生成成功");
                }
                else
                {
                    Debug.Log("Message文件名称为空", 3);
                }
            }
        }
예제 #7
0
        /// <summary>
        /// 生成CS下的Bean文件
        /// </summary>
        /// <param name="csMessages"></param>
        /// <param name="funMap"></param>
        /// <param name="label1"></param>
        private static void CreateBeans(CMessages msg, string path)
        {
            //Thread myThread=new Thread(new ThreadStart(CreateBeanThread(msg,path,LogText)));
            foreach (var bean in msg.beans)
            {
                if (bean.name != "")
                {
                    Template        temp   = CNVelociryHelp.GetTemplate(@".\Templates\CS\" + Global.CsBeanTemplatePath.Substring(Global.CsBeanTemplatePath.LastIndexOf(@"\")));
                    VelocityContext vltCtx = new VelocityContext();
                    vltCtx.Put("ImportString", msg.import);
                    vltCtx.Put("BeanExplain", bean.explain);
                    vltCtx.Put("BeanName", bean.name);
                    //if (bean.fileds != null && bean.fileds.Length > 0)
                    //{
                    //    List<BeanVar> beanVarList = new List<BeanVar>();
                    //    //List<CField> beanWriteList = new List<CField>();
                    //    foreach (var field in bean.fileds)
                    //    {
                    //        BeanVar var = new BeanVar(field);
                    //        beanVarList.Add(var);
                    //    }
                    //    vltCtx.Put("fieldList", beanVarList);
                    //}
                    //if (bean.lists != null && bean.lists.Length > 0)
                    //{
                    //    List<BeanVar> beanVarList = new List<BeanVar>();
                    //    foreach (var list in bean.lists)
                    //    {
                    //        BeanVar var = new BeanVar(list);
                    //        beanVarList.Add(var);
                    //    }
                    //    vltCtx.Put("listList", beanVarList);
                    //}
                    List <string> usList = new List <string>();
                    if (bean.lists != null && bean.lists.Length > 0)
                    {
                        usList.Add("using System.Collections.Generic;");
                    }
                    vltCtx.Put("usList", usList);
                    if (bean.items != null && bean.items.Count > 0)
                    {
                        List <CMessageFieldAndList> list = new List <CMessageFieldAndList>();
                        foreach (var item in bean.items)
                        {
                            if (item != null)
                            {
                                CMessageFieldAndList fl = new CMessageFieldAndList(item);
                                list.Add(fl);
                            }
                        }
                        vltCtx.Put("flList", list);
                    }
                    System.IO.StringWriter vltWriter = new System.IO.StringWriter();
                    temp.Merge(vltCtx, vltWriter);

                    FileStream fs = new FileStream(path + @"\" + bean.name + ".cs",
                                                   FileMode.Create, FileAccess.Write);
                    StreamWriter sw = new StreamWriter(fs);
                    sw.Write(vltWriter.ToString());
                    sw.Close();
                    fs.Close();
                    Debug.Log(bean.name + ".cs生成成功");
                }
                else
                {
                    Debug.Log("Bean名称为空,不能生成文件", 3);
                }
            }
        }