Beispiel #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();
                    }
                }
            }
        }
Beispiel #2
0
 public MainForm()
 {
     InitializeComponent();
     m_sliderCameraSpeed = this.sliderItem1;
     m_MainForm = this;
 }
Beispiel #3
0
        public BaseForm(string filename, MainForm parent)
        {
            InitializeComponent();

            InitVars();

            m_parent = parent;
            m_doc = new BaseDoc(this, filename);
            m_view = new BaseView(this, this.PANEL.Handle);
            this.PANEL.m_baseForm = this;
            m_doc.DocLogical.SetMainViewHwnd((int)this.PANEL.Handle);
            this.MouseWheel += new MouseEventHandler(this.BaseForm_MouseWheel);
            this.PanelView.GotFocus += new EventHandler(this.PanelView_GotFocus);
            this.PanelView.LostFocus += new EventHandler(this.PanelView_LostFocus);
            this.PanelView.MouseDown += new MouseEventHandler(this.PanelView_MouseDown);
            this.PanelView.Resize += new EventHandler(this.PanelView_Resize);
            this.KeyPreview = true;

            // 顶视图
            InitTopView_Tga(filename);
            InitTopView_Old();

            // lua脚本
            InitLua();

            // ahpho suntao
            // 初始化路径面板
            InitPatrol();

            // 初始化交通面板
            InitTraffic();

            //
            InitPolyComponents();
            InitPoly();

            // 初始化sql连接
            InitSqlConnection();

            // 初始化Npc面板
            InitNpc();
            EngineLayer.ATLBase.OnResizeNpcWindow();

            // 初始化Doodad面板
            InitDoodad();
            EngineLayer.ATLBase.OnResizeDoodadWindow();

            // 初始化预览面板
            InitPreviewCanvas();
            // end ahpho

            // loadtree
            DateTime t_begin = DateTime.Now;
            LogicHelper.LoadTree(m_doc.m_AllLogicObj, this.treeView1, m_bShowAllNpcDoodad);
            TimeSpan t_delta = DateTime.Now - t_begin;
            Debug.WriteLine(t_delta.ToString());
            //MessageBox.Show(t_delta.ToString());

            // init timer
            InitRenderTimer();

            // 读取路径和阵型信息
            DataColumn orderIDColumn = new DataColumn("ID");
            DataColumn orderNameColumn = new DataColumn("Name");
            DataColumn orderCountColumn = new DataColumn("Count");

            npcOrderTable.Columns.Clear();
            npcOrderTable.Columns.Add(orderIDColumn);
            npcOrderTable.Columns.Add(orderNameColumn);
            npcOrderTable.Columns.Add(orderCountColumn);

            InitNpcOrderTable();

            DataColumn patrolPathIDColumn = new DataColumn("ID");
            DataColumn patrolPathNameColumn = new DataColumn("Name");

            patrolPathTable.Columns.Clear();
            patrolPathTable.Columns.Add(patrolPathIDColumn);
            patrolPathTable.Columns.Add(patrolPathNameColumn);

            InitPatrolPathTable();

            InitCameraUI();

            m_CheckRelive = new CheckRelive();
            m_CheckRelive.Init(filename, m_doc.DocLogical, SceneSceneEditor);

        }