private string mapName; // 当前场景名 // end ahpho public BaseDoc(BaseForm parent, string filename /*, ref AtlIEKG3DScene baseFormScene*/) { m_form = parent; m_view = parent.VIEW; m_strFileName = filename; if (EditorLayer.UseSO3Logic) { // Init LogicEditor EngineLayer.ATLBase.InitLogicalEditorBase(); LogicsLayer.SO3world.LoadEditorScene(filename); LogicsLayer.SO3world.AttachLogicalSceneTo3DScene(); LogicsLayer.SO3world.NewLogicSceneConnectionAndBindLogicalSceneAndSceneEditor(); } LogicsLayer.SO3world.NewLogicalDataAndAdviseWithSceneEditor(); string strIniFile = m_strFileName + ".Logical"; LogicsLayer.SO3world.LoadLogicalData(strIniFile); // 加载树所要的数据 LogicsLayer.SO3world.GetLogicalDataPtr(ref m_DocLogical); LogicHelper.Init(m_DocLogical); mapName = FileFolderHelper.GetMapName(m_strFileName); m_AllLogicObj = LogicHelper.DoImportOneTarget(strIniFile, mapName); }
/// <summary> /// 初始化数据库连接 /// </summary> private void InitSqlConnection() { IniStructure m_inis; string content; string fileName = Path.Combine(Application.StartupPath, "GameDesingerTools_Public.ini"); FileInfo fi = new FileInfo(fileName); if (fi.Exists) { content = FileFolderHelper.FileToString(fileName); SymmetricCode sm = new SymmetricCode(); content = sm.Decrypto(content); m_inis = IniStructure.ReadIniWithContent(content); string connectString = m_inis.GetValue("General", "ConnString"); Conn = new SqlConnection(connectString); } else { MessageBox.Show("读取配置信息失败,请确认GameDesingerTools_Public.ini文件在程序目录中!", "初始化", MessageBoxButtons.OK, MessageBoxIcon.Information); } fileName = Path.Combine(Application.StartupPath, "GameDesingerTools.ini"); fi = new FileInfo(fileName); if (fi.Exists) { content = FileFolderHelper.FileToString(fileName); m_inis = IniStructure.ReadIniWithContent(content); rootDir = m_inis.GetValue("General", "RootDir"); } }
private void buttonOpen_Click(object sender, EventArgs e) { string filename = FileFolderHelper.BrowseFile(new string[] { "Map" }, Application.StartupPath + "/data/source/maps/"); if (filename == string.Empty) { return; } UpdateHistory(filename); OpenDoc(filename); }
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(); } } } }
/// <summary> /// 初始化npc阵营数据表 /// </summary> private void InitNpcOrderTable() { string filePath = string.Format("{0}\\settings\\NpcOrder\\OrderList.tab", Helper.RootDir); FileInfo fi = new FileInfo(filePath); if (fi.Exists) { string content = FileFolderHelper.FileToString(filePath); string[] lines = content.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); bool firstLine = true; foreach (string s in lines) { if (firstLine) { firstLine = false; } else { string line = s.TrimEnd(new char[] { '\r', ' ' }); string[] data = line.Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries); string orderID = data[0]; string orderName = data[3]; string orderFile = data[1]; string orderFilePath = string.Format("{0}\\settings\\NpcOrder\\{1}", Helper.RootDir, orderFile); int orderCount = 0; FileInfo orderFileInfo = new FileInfo(orderFilePath); if (orderFileInfo.Exists) { content = FileFolderHelper.FileToString(orderFilePath); string[] orderLines = content.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); orderCount = orderLines.Length - 1; if (orderCount < 0) { orderCount = 0; } DataRow dataRow = npcOrderTable.NewRow(); dataRow["ID"] = orderID; dataRow["Name"] = orderName; dataRow["Count"] = orderCount; npcOrderTable.Rows.Add(dataRow); } } } } }
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); }
public void OpenForm(string filename) { BaseForm frm = null; frm = new BaseForm(filename, this); //frm.m_EngineManager = EngineLayer.EngineMgr; frm.Text = FileFolderHelper.FullPathToFileName(filename); frm.MdiParent = this; frm.WindowState = FormWindowState.Maximized; // ahpho suntao frm.CameraLookAtBox = cameraLocationBox.TextBox; frm.CamerSpeedBar = sliderItem1; // end ahpho frm.Show(); frm.Update(); m_ActiveFrm = frm; }
private void UpdateHistory(string filename) { string strfile = Path.Combine(Application.StartupPath, "DesignerSceneEditor.history"); string strHistory = FileFolderHelper.FileToString(strfile); string[] historys = strHistory.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); if (historys.Length < 4) { bool bHistoryContainsThisDoc = false; foreach (string history in historys) { if (history == filename) { bHistoryContainsThisDoc = true; break; } } if (!bHistoryContainsThisDoc) { string strContent = strHistory + (historys.Length == 0 ? string.Empty : "\r\n") + filename; FileFolderHelper.StringToFile(strContent, strfile); } } else { bool bHistoryContainsThisDoc = false; foreach (string history in historys) { if (history == filename) { bHistoryContainsThisDoc = true; break; } } if (!bHistoryContainsThisDoc) { string[] newhistorys = new string[] { historys[1], historys[2], historys[3], filename }; string content = newhistorys[0] + "\r\n" + newhistorys[1] + "\r\n" + newhistorys[2] + "\r\n" + newhistorys[3]; FileFolderHelper.StringToFile(content, strfile); } } }
private void LoadHistory() { string strfile = Path.Combine(Application.StartupPath, "DesignerSceneEditor.history"); string strHistory = FileFolderHelper.FileToString(strfile); if (strHistory.Length == 0) { return; } string[] historys = strHistory.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (string history in historys) { DevComponents.DotNetBar.ButtonItem newitem = new DevComponents.DotNetBar.ButtonItem(); newitem.ImagePaddingHorizontal = 8; newitem.Name = history; newitem.Text = history; newitem.Click += new System.EventHandler(this.historyItem_Click); this.buttonOpen.SubItems.Add(newitem); } }