/// <summary> /// アンロード処理 /// </summary> private void unload() { //設定保存 saveSettings(); logger.Output(LogLevelKind.DEBUG, "設定保存終了"); //メインスレッド停止 if (thFishing != null && thFishing.IsAlive) thFishing.Abort(); thFishing = null; logger.Output(LogLevelKind.DEBUG, "メインスレッド停止"); //DB更新スレッド停止 if (thUpdateDB != null && thUpdateDB.IsAlive) thUpdateDB.Abort(); //監視スレッド停止 if (thMonitor != null && thMonitor.IsAlive) thMonitor.Abort(); thMonitor = null; logger.Output(LogLevelKind.DEBUG, "監視スレッド停止"); //FFACEControl停止 control = null; //HarakiriTool停止 if (harakiri != null) harakiri.SystemAbort(); harakiri = null; logger.Output(LogLevelKind.DEBUG, "HarakiriTool停止"); //FishingTool停止 if (fishing != null) fishing.SystemAbort(); fishing = null; logger.Output(LogLevelKind.DEBUG, "FishingTool停止"); //ChatTool停止 if (chat != null) chat.SystemAbort(); chat = null; logger.Output(LogLevelKind.DEBUG, "ChatTool停止"); logger.Output(string.Format("===== {0} {1} 終了=====", MiscTool.GetAppAssemblyName(), MiscTool.GetAppVersion())); }
/// <summary> /// HarakiriTool HarakiriOnceイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HarakiriTool_HarakiriOnce(object sender, HarakiriTool.HarakiriOnceEventArgs e) { updateHarakiriHistory(); }
/// <summary> /// FishingTool ChangeMessageイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HarakiriTool_ChangeMessage(object sender, HarakiriTool.ChangeMessageEventArgs e) { if (InvokeRequired) { Invoke(new HarakiriTool_ChangeMessageDelegate(HarakiriTool_ChangeMessage), sender, e); } else { //メッセージの更新 setMessage(e.Message); } }
/// <summary> /// FishingTool ChangeStatusイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void HarakiriTool_ChangeStatus(object sender, HarakiriTool.ChangeStatusEventArgs e) { if (InvokeRequired) { Invoke(new HarakiriTool_ChangeStatusDelegate(HarakiriTool_ChangeStatus), sender, e); } else { //ステータスバーの背景色を設定 switch (e.FishingStatus) { case HarakiriTool.HarakiriStatusKind.Normal: if (e.RunningStatus == HarakiriTool.RunningStatusKind.Running) { statusStrip.BackColor = Color.FromArgb(0x80, 0xFF, 0xFF); } else { statusStrip.BackColor = SystemColors.Control; } break; case HarakiriTool.HarakiriStatusKind.Wait: statusStrip.BackColor = Color.FromArgb(0xFF, 0xFF, 0x80); flashWindow();//画面フラッシュ break; case HarakiriTool.HarakiriStatusKind.Error: statusStrip.BackColor = Color.FromArgb(0xFF, 0x80, 0x80); flashWindow();//画面フラッシュ break; default: statusStrip.BackColor = SystemColors.Control; break; } switch (e.RunningStatus) { case HarakiriTool.RunningStatusKind.UnderStop: this.Cursor = Cursors.WaitCursor; break; case HarakiriTool.RunningStatusKind.Stop: this.Cursor = Cursors.Default; flashWindow();//画面フラッシュ break; } } }
/// <summary> /// コンストラクタ処理部 /// </summary> /// <param name="iPol"></param> private void constructor(PolTool iPol) { //PolTool初期設定 pol = iPol; pol.ChangeStatus += new PolTool.ChangeStatusEventHandler(this.PolTool_ChangeStatus); //FFACE初期設定 fface = iPol.FFACE; //LoggerTool初期設定 logger = new LoggerTool(MiscTool.GetAppAssemblyName(), pol.FFACE.Player.Name); logger.Enable = args.LoggerEnable; logger.OutputLogLevel = args.LoggerLogLevel; logger.EnableVarDump = args.LoggerVarDumpEnable; logger.Output(LogLevelKind.INFO, string.Format("===== {0} {1} =====", MiscTool.GetAppAssemblyName(), MiscTool.GetAppVersion())); logger.Output(LogLevelKind.INFO, string.Format("デバッグログ:{0} ログレベル:{1} 変数出力:{2}", args.LoggerEnable, args.LoggerLogLevel, args.LoggerVarDumpEnable)); logger.Output(LogLevelKind.INFO, string.Format("プロセス({0})にアタッチしました", pol.ProcessID)); //Settings初期設定 settings = new Settings(iPol.FFACE.Player.Name); //ChatTool初期設定 chat = new ChatTool(iPol.FFACE); chat.ReceivedCommand += new ChatTool.ReceivedCommandEventHandler(this.ChatTool_ReceivedCommand); logger.Output(LogLevelKind.DEBUG, "ChatTool起動"); //FishingTool初期設定 fishing = new FishingTool(iPol, chat, settings, logger); fishing.Fished += new FishingTool.FishedEventHandler(this.FishingTool_Fished); fishing.ChangeMessage += new FishingTool.ChangeMessageEventHandler(this.FishingTool_ChangeMessage); fishing.ChangeStatus += new FishingTool.ChangeStatusEventHandler(this.FishingTool_ChangeStatus); fishing.CaughtFishesUpdate += new FishingTool.CaughtFishesUpdateEventHandler(this.FishingTool_CaughtFishesUpdate); logger.Output(LogLevelKind.DEBUG, "FishingTool起動"); //HarakiriTool初期設定 harakiri = new HarakiriTool(iPol, chat, settings, logger); harakiri.HarakiriOnce += new HarakiriTool.HarakiriOnceEventHandler(this.HarakiriTool_HarakiriOnce); harakiri.ChangeMessage += new HarakiriTool.ChangeMessageEventHandler(this.HarakiriTool_ChangeMessage); harakiri.ChangeStatus += new HarakiriTool.ChangeStatusEventHandler(this.HarakiriTool_ChangeStatus); logger.Output(LogLevelKind.DEBUG, "HarakiriTool起動"); //FFACEControl初期設定 control = new FFACEControl(pol, chat, logger); control.MaxLoopCount = Constants.MAX_LOOP_COUNT; control.UseEnternity = settings.UseEnternity; control.BaseWait = settings.Global.WaitBase; control.ChatWait = settings.Global.WaitChat; logger.Output(LogLevelKind.DEBUG, "FFACEControl起動"); //監視スレッド起動 thMonitor = new Thread(threadMonitor); thMonitor.Start(); logger.Output(LogLevelKind.DEBUG, "監視スレッド起動"); //DB fishDB = new FishDB(logger); fishHistoryDB = new FishHistoryDB(fishing.PlayerName, fishing.EarthDateTime, logger); harakiriDB = new HarakiriDB(logger); //古いデータをコンバート converter(); //DB更新 updatedb = new UpdateDBTool(settings, logger); updatedb.ReceiveMessage += new UpdateDBTool.ReceiveMessageEventHandler(this.UpdateDBTool_ReceiveMessage); updatedb.NewerVersion += new UpdateDBTool.NewerVersionEventHandler(this.UpdateDBTool_NewerVersion); }