Пример #1
0
        public virtual RetCode DeleteFiles(string fieldName)
        {
            StringBuilder buf;
            string        fileName;
            RetCode       rc;

            rc = RetCode.Success;

            buf = new StringBuilder(Constants.BufSize);

            var propInfos = new List <PropertyInfo>();

            if (string.IsNullOrWhiteSpace(fieldName))
            {
                propInfos.AddRange(GetType().GetProperties().Where(pi => pi.Name.EndsWith("FileName")));
            }
            else
            {
                propInfos.Add(GetType().GetProperty(fieldName));
            }

            foreach (var pi in propInfos)
            {
                buf.Clear();

                fileName = pi.GetValue(this, null) as string;

                if (!string.IsNullOrWhiteSpace(fileName) && !fileName.Equals("NONE", StringComparison.OrdinalIgnoreCase))
                {
                    if (!string.IsNullOrWhiteSpace(WorkDir) && !WorkDir.Equals("NONE", StringComparison.OrdinalIgnoreCase))
                    {
                        buf.Append(Globals.Path.Combine(WorkDir, fileName));
                    }
                    else
                    {
                        buf.Append(fileName);
                    }

                    try
                    {
                        Globals.File.Delete(buf.ToString());
                    }
                    catch (Exception ex)
                    {
                        if (ex != null)
                        {
                            // do nothing
                        }
                    }
                }
            }

            return(rc);
        }
        public virtual void ProcessArgv(string[] args)
        {
            if (args == null)
            {
                // PrintError

                goto Cleanup;
            }

            for (var i = 0; i < args.Length; i++)
            {
                if (args[i].Equals("--workingDirectory", StringComparison.OrdinalIgnoreCase) || args[i].Equals("-wd", StringComparison.OrdinalIgnoreCase))
                {
                    if (++i < args.Length)
                    {
                        WorkDir = args[i].Trim();

                        var regex = new Regex(Constants.ValidWorkDirRegexPattern);

                        if (WorkDir.Equals("NONE", StringComparison.OrdinalIgnoreCase) || !regex.IsMatch(WorkDir))
                        {
                            WorkDir = Constants.DefaultWorkDir;
                        }
                    }
                }
                else if (args[i].Equals("--filePrefix", StringComparison.OrdinalIgnoreCase) || args[i].Equals("-fp", StringComparison.OrdinalIgnoreCase))
                {
                    if (++i < args.Length)
                    {
                        FilePrefix = args[i].Trim();
                    }
                }
                else if (args[i].Equals("--ignoreMutex", StringComparison.OrdinalIgnoreCase) || args[i].Equals("-im", StringComparison.OrdinalIgnoreCase))
                {
                    IgnoreMutex = true;
                }
                else if (args[i].Equals("--runGameEditor", StringComparison.OrdinalIgnoreCase) || args[i].Equals("-rge", StringComparison.OrdinalIgnoreCase))
                {
                    RunGameEditor = true;
                }
            }

Cleanup:

            ;
        }