bool OnStep2() { if (_curConfig.IsModifyProject) { ProjectProperty info = _curConfig.ProjectInfo; txtResolution.Text = "项目原始分辨率:"; // 第二步的说明窗口,目前也只有这么一个属性可以显示 txtResolution.Text += string.Format("{0}{0}【{3}】 {1}x{2}", Environment.NewLine, info.width, info.height, _curConfig.ProjectName); // 显示项目所有文件 ShowFiles(_curConfig.ProjectFolder); } else { ProjectProperty info = _curConfig.ThemeInfo; txtResolution.Text = "主题原始分辨率:"; // 第二步的说明窗口,目前也只有这么一个属性可以显示 string name = _curConfig.IsDefaultTheme ? WizardConfig.NAME_DEFAULT_THEME : _curConfig.ThemeName; txtResolution.Text += string.Format("{0}{0}【{3}】 {1}x{2}", Environment.NewLine, info.width, info.height, name); // 是否选择了默认主题,没选则附加默认主题属性 if (!_curConfig.IsDefaultTheme) { ProjectProperty baseInfo = _curConfig.ReadBaseTemplateInfo(); txtResolution.Text += string.Format("{0}{0}【{3}】 {1}x{2}", Environment.NewLine, baseInfo.width, baseInfo.height, WizardConfig.NAME_DEFAULT_THEME); txtResolution.Text += string.Format("{0}{0}注意:【{2}】将覆盖【{1}】中的同名文件。", Environment.NewLine, WizardConfig.NAME_DEFAULT_THEME, name); } // 这里本来应该根据缩放策略配置来显示每个文件如何缩放 // 先简单列一下文件和目录吧…… ShowFiles(_curConfig.ThemeFolder); } // 调用下测试用的函数 test(); return(true); }
// 根据配置创建目标项目 public void Start() { if (_config.IsModifyProject) { // 从配置中读取目标大小 int dw = _config._width, dh = _config._height; // 从项目自身的文件夹转换 string project = _config.ProjectFolder; // 读取项目原始配置 ProjectProperty projInfo = _config.ProjectInfo; int sw = projInfo.width, sh = projInfo.height; ConvertFiles(project, sw, sh, project, dw, dh); // 修正所有坐标 AdjustSettings(sw, sh); } else { // 从配置中读取目标大小 int dw = _config._width, dh = _config._height; // 先从基础模板目录拷贝文件到项目目录 string template = _config.BaseTemplateFolder; string project = _config.ProjectFolder; // 读取基础模板的配置 ProjectProperty baseInfo = _config.ReadBaseTemplateInfo(); int sw = baseInfo.width; if (sw <= 0) { sw = WizardConfig.DEFAULT_WIDTH; } int sh = baseInfo.height; if (sh <= 0) { sh = WizardConfig.DEFAULT_HEIGHT; } ConvertFiles(template, sw, sh, project, dw, dh); // 修正所有坐标,写入项目名称 AdjustSettings(sw, sh); // 如果选择了非默认主题,再从主题目录拷贝文件到项目资料文件夹 if (_config.ThemeFolder != template) { // 读取所选主题配置 ProjectProperty themeInfo = _config.ThemeInfo; sw = themeInfo.width; if (sw <= 0) { sw = WizardConfig.DEFAULT_WIDTH; } sh = themeInfo.height; if (sh <= 0) { sh = WizardConfig.DEFAULT_HEIGHT; } // 主题的文件直接拷入数据目录 ConvertFiles(_config.ThemeFolder, sw, sh, _config.ProjectDataFolder, dw, dh); // 修正所有坐标,写入项目名称 AdjustSettings(sw, sh); } } }