Пример #1
0
        static public void Init()
        {
            MainFrm     = new MainForm();
            MainFrmHwnd = (int)MainFrm.Handle;

            Helper.SetAdditionalEnvPath(Application.StartupPath);


            string   iniFile = Application.StartupPath + "/" + configFile;
            FileInfo file    = new FileInfo(iniFile);

            if (!file.Exists)
            {
                MessageBox.Show("配置文件 " + configFile + " 不存在。\r\n程序即将退出。");
                Application.Exit();
            }
            StringBuilder sbEngineDir = new StringBuilder(MAX_PATH);

            FileFolderHelper.ReadIniFile("General", "RootDir", "", sbEngineDir, MAX_PATH, iniFile);
            EngineDir      = sbEngineDir.ToString().Trim();
            Helper.RootDir = EngineDir.TrimEnd(new char[] { '\\' });

            DirectoryInfo dir = new DirectoryInfo(EngineDir);

            if (!dir.Exists)
            {
                MessageBox.Show("引擎目录不存在。请重新设定" + configFile + "\r\n程序即将退出。");
                Application.Exit();
            }
            else // 检查是否是正确的客户端路径
            {
                string engineResourcePath = Path.Combine(EngineDir, "KG3DEngine.dll");
                if (!File.Exists(engineResourcePath))
                {
                    MessageBox.Show("引擎目录不正确。请重新设定" + configFile + "\r\n程序即将退出。");
                    Application.Exit();
                }
                else // 检查uselogic有没有打开
                {
                    StringBuilder configString = new StringBuilder(MAX_PATH);
                    iniFile = Path.Combine(EngineDir, "config.ini");
                    FileFolderHelper.ReadIniFile("ENGINEOPTION", "UseLogical", "", configString, MAX_PATH, iniFile);
                    string useLogic = configString.ToString().Trim();

                    if (useLogic != "1")
                    {
                        MessageBox.Show("config.ini没有设置打开逻辑。请重新设定" + configFile + "\r\n程序即将退出。");
                        Application.Exit();
                    }
                }
            }
        }
Пример #2
0
        private void InitTopView_Tga(string strMapName)
        {
            bool          bTPScale = false, bTPStartX = false, bTPStartY = false, bTPWidth = false, bTPHeight = false, bTPLogicXStart = false, bTPLogicZStart = false;
            StringBuilder sb = new StringBuilder(MAX_PATH);

            float fScale = 0.0f;
            int   width = 0, height = 0;

            string pureMapName = FileFolderHelper.GetMapName(strMapName);

            if (pureMapName == "测试1")
            {
                pureMapName = "测试";
            }

            string iniFile = Path.Combine(EditorLayer.EngineDir, string.Format("data/source/maps/{0}minimap/config.ini", pureMapName));

            FileFolderHelper.ReadIniFile("middlemap0", "scale", "", sb, MAX_PATH, iniFile);
            bTPScale = float.TryParse(sb.ToString(), out fScale);
            FileFolderHelper.ReadIniFile("middlemap0", "startx", "", sb, MAX_PATH, iniFile);
            bTPStartX = float.TryParse(sb.ToString(), out m_fMiddleMapStartX);
            FileFolderHelper.ReadIniFile("middlemap0", "starty", "", sb, MAX_PATH, iniFile);
            bTPStartY = float.TryParse(sb.ToString(), out m_fMiddleMapStartY);
            FileFolderHelper.ReadIniFile("middlemap0", "width", "", sb, MAX_PATH, iniFile);
            bTPWidth = int.TryParse(sb.ToString(), out width);
            FileFolderHelper.ReadIniFile("middlemap0", "height", "", sb, MAX_PATH, iniFile);
            bTPHeight = int.TryParse(sb.ToString(), out height);
            if (!bTPScale || !bTPStartX || !bTPStartY || !bTPWidth || !bTPHeight)
            {
                MessageBox.Show(string.Format("数据错误!请检查{0}的数据。", iniFile));
            }

            string mapLogicalIni = Path.Combine(EditorLayer.EngineDir, string.Format("data/source/maps/{0}/{1}.Map.Logical", pureMapName, FileFolderHelper.GetMapName(strMapName)));

            FileFolderHelper.ReadIniFile("MAIN", "LogicalSceneXStart", "", sb, MAX_PATH, mapLogicalIni);
            bTPLogicXStart = float.TryParse(sb.ToString(), out m_fLogicStartX);
            FileFolderHelper.ReadIniFile("MAIN", "LogicalSceneZStart", "", sb, MAX_PATH, mapLogicalIni);
            bTPLogicZStart = float.TryParse(sb.ToString(), out m_fLogicStartZ);
            if (!bTPLogicXStart || !bTPLogicZStart)
            {
                MessageBox.Show(string.Format("数据错误!请检查{0}的数据。", mapLogicalIni));
            }

            m_fLogicTotalWidth  = width / fScale;
            m_fLogicTotalHeight = height / fScale;

            previewform = new Preview(curMapWidth, curMapHeight, m_scenesceneeditor, m_fLogicTotalWidth, m_fLogicTotalHeight, m_fMiddleMapStartX, m_fMiddleMapStartY, m_fLogicStartX, m_fLogicStartZ);
        }