Exemple #1
0
 public static void InitializeProgram(Dictionary <PROGRAM, ProgramConfig> configs)
 {
     m_ProgramInfos.Clear();
     for (int i = (int)PROGRAM.NONE + 1; i < (int)PROGRAM.COUNT; ++i)
     {
         PROGRAM program = (PROGRAM)i;
         if (!configs.ContainsKey(program))
         {
             continue;
         }
         var         config = configs[program];
         ProgramInfo info   = new ProgramInfo(program);
         info.CodeDirectory = config.CodeDirectory;
         info.DataDirectory = config.DataDirectory;
         info.Create        = ToBoolean(config.Create, false);
         info.Compress      = ToBoolean(config.Compress, false);
         DefaultInfo defaultInfo = (DefaultInfo)Attribute.GetCustomAttribute(program.GetType().GetMember(program.ToString())[0], typeof(DefaultInfo));
         info.Extension       = defaultInfo.Extension;
         info.GenerateTable   = defaultInfo.GenerateTable != null ? (IGenerate)System.Activator.CreateInstance(defaultInfo.GenerateTable) : null;
         info.GenerateData    = (IGenerate)System.Activator.CreateInstance(defaultInfo.GenerateData);
         info.GenerateMessage = (IGenerate)System.Activator.CreateInstance(defaultInfo.GenerateMessage);
         info.GenerateEnum    = (IGenerate)System.Activator.CreateInstance(defaultInfo.GenerateEnum);
         info.GenerateConst   = (IGenerate)System.Activator.CreateInstance(defaultInfo.GenerateConst);
         info.Bom             = defaultInfo.Bom;
         m_ProgramInfos.Add(program, info);
     }
     PrintDirectory();
 }