Exemple #1
0
        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);
                }
            }
        }