// コンストラクタ(コピー). public BattleResultData(BattleResultData brd) { if (brd != null) { this.ResultDateTime = brd.ResultDateTime; this.MapAreaName = brd.MapAreaName; this.MapInfoName = brd.MapInfoName; this.MapCell = brd.MapCell; this.EnemyDeckName = brd.EnemyDeckName; this.WinRank = brd.WinRank; this.GetShipName = brd.GetShipName; } }
// 戦闘結果追加通知(通信データリスナークラスからの通知を受信する). public void onBattleResultDataAdded(BattleResultData brd) { #if DEBUG Trace.WriteLine("onBattleResultDataAdded", Plugin.LOGTAG); #endif var dispatcher = System.Windows.Application.Current.Dispatcher; if (dispatcher.CheckAccess()) { addViewData(brd); } else { dispatcher.Invoke(() => addViewData(brd)); } }
// 表示データ追加. private void addViewData(BattleResultData data) { // 戦闘結果リスト. BattleResultDataList.Add(data); // 戦果ランク別戦闘数. BattleResultCount[data.WinRank]++; BattleResultCountText = string.Format("S:{0}, A:{1}, B:{2}, C:{3}, D:{4}, E:{5}" , BattleResultCount["S"] , BattleResultCount["A"] , BattleResultCount["B"] , BattleResultCount["C"] , BattleResultCount["D"] , BattleResultCount["E"] ); }
// 戦闘結果追加通知. private void onBattleResultDataAdded(BattleResultData brd) { #if DEBUG Trace.WriteLine("onBattleResultDataAdded", Plugin.LOGTAG); #endif foreach (IBattleResultDataChangeListener listener in dataChangeListeners) { if (listener != null) { listener.onBattleResultDataAdded(new BattleResultData(brd)); } } }
// 情報更新(連合艦隊戦闘結果). public void Update(kcsapi_combined_battle_battleresult result) { #if DEBUG Trace.WriteLine(string.Format("Update {0} {1}", result.api_quest_name, result.api_get_ship == null ? "null" : result.api_get_ship.api_ship_name), Plugin.LOGTAG); #endif BattleResultData brd = new BattleResultData(); brd.ResultDateTime = DateTime.Now; brd.MapAreaName = this.mapAreaName; brd.MapInfoName = this.mapInfoName; brd.MapCell = this.mapCell; //brd.QuestName = result.api_quest_name; //brd.QuestLevel = result.api_quest_level; brd.EnemyDeckName = result.api_enemy_info.api_deck_name; brd.WinRank = result.api_win_rank; if (result.api_get_ship != null) { //brd.GetShipId = result.api_get_ship.api_ship_id; brd.GetShipName = result.api_get_ship.api_ship_name; } else { //brd.GetShipId = -1; brd.GetShipName = ""; } dataList.Add(brd); onBattleResultDataAdded(brd); }