Example #1
0
        public static bool Init(UCoreStartParam param, out string errMsg)
        {
            Instance = new UCoreStart();

            if (!Directory.Exists(param.SessionFolder))
            {
                errMsg = string.Format("session directory ('{0}') not found.", param.SessionFolder);
                return(false);
            }

            string logFilePath = Path.Combine(param.SessionFolder, param.LogFile);

            Logging.Instance = new Logging();
            if (!Logging.Instance.Init(logFilePath, param.MsgBoxHandler, param.ConfirmHandler))
            {
                errMsg = string.Format("logging init failed ('file={0}').", logFilePath);
                return(false);
            }

            LuaRuntime.Instance = new LuaRuntime();
            if (!LuaRuntime.Instance.Init(param.LuaBootstrapFile))
            {
                errMsg = string.Format("lua init failed ('lua_bootstrap_file={0}').", param.LuaBootstrapFile);
                return(false);
            }

            Instance.SessionFolder = param.SessionFolder;
            errMsg = "";
            return(true);
        }
Example #2
0
        public bool InitSession()
        {
            DateTime dt            = DateTime.Now;
            string   date          = dt.ToString("yyyy-MM-dd");
            string   fulltime      = date + dt.ToString("-HH-mm-ss");
            string   sessionFolder = Path.Combine(Properties.Settings.Default.TempFolderName, date, fulltime);

            try
            {
                if (!Directory.Exists(sessionFolder))
                {
                    Directory.CreateDirectory(sessionFolder);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(string.Format("临时目录('{0}')初始化失败。 \n\n'{1}'\n\n按 'OK' 退出程序。", sessionFolder, e.Message));
                return(false);
            }

            ucore.UCoreStartParam p = new ucore.UCoreStartParam();
            p.SessionFolder    = sessionFolder;
            p.LogFile          = Properties.Settings.Default.LogFilename;
            p.LuaBootstrapFile = Properties.Settings.Default.LuaBootstrap;
            p.MsgBoxHandler    = (title, msg) => { MessageBox.Show(msg, title); };
            p.ConfirmHandler   = (title, msg) => { return(MessageBox.Show(msg, title, MessageBoxButtons.OKCancel) == DialogResult.OK); };

            string errMsg;

            if (!ucore.UCoreStart.Init(p, out errMsg))
            {
                MessageBox.Show(string.Format("ucore init failed. \n\n  Detail: {0} \n\n  按 'OK' 退出程序。", errMsg));
                return(false);
            }

            UserPreference.Instance.Init(Path.Combine(Properties.Settings.Default.TempFolderName, Properties.Settings.Default.UserPrefFile));

            Logging.Instance.Log("Log started. '{0}'", Logging.Instance.GetLogFilePath());
            return(true);
        }