\r
if (url.EndsWith("api_start2"))\r
{\r
- _shipInfo.InspectMaster(data);\r
- _missionInfo.InspectMaster(data.api_mst_mission);\r
- _itemInfo.InspectMaster(data);\r
- _exMapInfo.ResetIfNeeded();\r
_start = true;\r
- return Update.Start;\r
+ return ApiStart(data);\r
}\r
if (!_start)\r
return Update.None;\r
if (url.EndsWith("api_port/port"))\r
- {\r
- _itemInfo.InspectBasic(data.api_basic);\r
- _materialInfo.InspectMaterial(data.api_material, true);\r
- _logger.InspectBasic(data.api_basic);\r
- _logger.InspectMaterial(data.api_material);\r
- _shipInfo.InspectShip(data);\r
- _conditionTimer.CalcRegenTime();\r
- _missionInfo.InspectDeck(data.api_deck_port);\r
- _dockInfo.InspectNDock(data.api_ndock);\r
- _akashiTimer.SetTimer(true);\r
- _achievement.InspectBasic(data.api_basic);\r
- if (data.api_parallel_quest_count()) // 昔のログにはないので\r
- _questInfo.QuestCount = (int)data.api_parallel_quest_count;\r
- _battleInfo.CleanupResult();\r
- _battleInfo.InBattle = false;\r
- _battleInfo.HasDamagedShip = false;\r
- _shipInfo.ClearEscapedShips();\r
- _miscTextInfo.ClearIfNeeded();\r
- SaveState();\r
- return Update.All;\r
- }\r
+ return ApiPort(data);\r
+ if (url.Contains("member"))\r
+ return ApiMember(url, json);\r
+ if (url.Contains("kousyou"))\r
+ return ApiKousyou(url, request, data);\r
+ if (url.Contains("battle"))\r
+ return ApiBattle(url, request, data);\r
+ return ApiOthers(url, request, data);\r
+ }\r
+\r
+ private Update ApiStart(dynamic data)\r
+ {\r
+ _shipInfo.InspectMaster(data);\r
+ _missionInfo.InspectMaster(data.api_mst_mission);\r
+ _itemInfo.InspectMaster(data);\r
+ _exMapInfo.ResetIfNeeded();\r
+ return Update.Start;\r
+ }\r
+\r
+ private Update ApiPort(dynamic data)\r
+ {\r
+ _itemInfo.InspectBasic(data.api_basic);\r
+ _materialInfo.InspectMaterial(data.api_material, true);\r
+ _logger.InspectBasic(data.api_basic);\r
+ _logger.InspectMaterial(data.api_material);\r
+ _shipInfo.InspectShip(data);\r
+ _conditionTimer.CalcRegenTime();\r
+ _missionInfo.InspectDeck(data.api_deck_port);\r
+ _dockInfo.InspectNDock(data.api_ndock);\r
+ _akashiTimer.SetTimer(true);\r
+ _achievement.InspectBasic(data.api_basic);\r
+ if (data.api_parallel_quest_count()) // 昔のログにはないので\r
+ _questInfo.QuestCount = (int)data.api_parallel_quest_count;\r
+ _battleInfo.CleanupResult();\r
+ _battleInfo.InBattle = false;\r
+ _battleInfo.HasDamagedShip = false;\r
+ _shipInfo.ClearEscapedShips();\r
+ _miscTextInfo.ClearIfNeeded();\r
+ SaveState();\r
+ return Update.All;\r
+ }\r
+\r
+ private Update ApiMember(string url, dynamic json)\r
+ {\r
+ var data = json.api_data() ? json.api_data : new object();\r
+\r
if (url.EndsWith("api_get_member/basic"))\r
{\r
_itemInfo.InspectBasic(data);\r
_akashiTimer.SetTimer();\r
return Update.NDock | Update.Timer | Update.Ship;\r
}\r
- if (url.EndsWith("api_req_hensei/change"))\r
- {\r
- _shipInfo.InspectChange(request);\r
- _akashiTimer.SetTimer();\r
- return Update.Ship;\r
- }\r
if (url.EndsWith("api_get_member/questlist"))\r
{\r
_questInfo.Inspect(data);\r
_materialInfo.InspectMaterial(data);\r
return Update.Item;\r
}\r
- if (url.EndsWith("api_req_hokyu/charge"))\r
+ if (url.EndsWith("api_get_member/mapinfo"))\r
{\r
- _shipInfo.InspectCharge(data);\r
- _materialInfo.InspectCharge(data);\r
- return Update.Item | Update.Ship;\r
+ _exMapInfo.InspectMapInfo(data);\r
+ _miscTextInfo.InspectMapInfo(data);\r
+ return Update.Item;\r
}\r
+ if (url.EndsWith("api_req_member/get_practice_enemyinfo"))\r
+ {\r
+ _miscTextInfo.InspectPracticeEnemyInfo(data);\r
+ return Update.Item;\r
+ }\r
+ return Update.None;\r
+ }\r
+\r
+ private Update ApiKousyou(string url, string request, dynamic data)\r
+ {\r
if (url.EndsWith("api_req_kousyou/createitem"))\r
{\r
_itemInfo.InspectCreateItem(data);\r
_dockInfo.InspectCreateShipSpeedChange(request);\r
return Update.Timer;\r
}\r
- if (url.EndsWith("api_req_kaisou/powerup"))\r
- {\r
- _shipInfo.InspectPowerup(request, data);\r
- _conditionTimer.CheckCond();\r
- _akashiTimer.SetTimer();\r
- return Update.Item | Update.Ship;\r
- }\r
- if (url.EndsWith("api_req_nyukyo/start"))\r
- {\r
- _dockInfo.InspectNyukyo(request);\r
- _conditionTimer.CheckCond();\r
- _akashiTimer.SetTimer();\r
- return Update.Item | Update.Ship;\r
- }\r
- if (url.EndsWith("api_req_nyukyo/speedchange"))\r
- {\r
- _dockInfo.InspectSpeedChange(request);\r
- _conditionTimer.CheckCond();\r
- return Update.NDock | Update.Timer | Update.Ship;\r
- }\r
+ return Update.None;\r
+ }\r
+\r
+ private Update ApiBattle(string url, string request, dynamic data)\r
+ {\r
if (IsNormalBattleAPI(url))\r
{\r
_battleInfo.InspectBattle(data);\r
}\r
if (url.EndsWith("api_req_sortie/battleresult"))\r
{\r
- _battleInfo.InspectBattleResult(json);\r
+ _battleInfo.InspectBattleResult(data);\r
_exMapInfo.InspectBattleResult(data);\r
_logger.InspectBattleResult(data);\r
return Update.Ship;\r
}\r
if (url.EndsWith("api_req_practice/battle_result"))\r
{\r
- _battleInfo.InspectPracticeResult(json);\r
+ _battleInfo.InspectPracticeResult(data);\r
return Update.Ship;\r
}\r
if (IsCombinedBattleAPI(url))\r
_battleInfo.CauseCombinedBattleEscape();\r
return Update.Ship;\r
}\r
+ return Update.None;\r
+ }\r
+\r
+ private bool IsNormalBattleAPI(string url)\r
+ {\r
+ return url.EndsWith("api_req_sortie/battle") ||\r
+ url.EndsWith("api_req_sortie/airbattle") ||\r
+ url.EndsWith("api_req_battle_midnight/battle") ||\r
+ url.EndsWith("api_req_battle_midnight/sp_midnight");\r
+ }\r
+\r
+ private bool IsCombinedBattleAPI(string url)\r
+ {\r
+ return url.EndsWith("api_req_combined_battle/battle") ||\r
+ url.EndsWith("api_req_combined_battle/airbattle") ||\r
+ url.EndsWith("api_req_combined_battle/battle_water") ||\r
+ url.EndsWith("api_req_combined_battle/midnight_battle") ||\r
+ url.EndsWith("api_req_combined_battle/sp_midnight");\r
+ }\r
+\r
+ private Update ApiOthers(string url, string request, dynamic data)\r
+ {\r
+ if (url.EndsWith("api_req_hensei/change"))\r
+ {\r
+ _shipInfo.InspectChange(request);\r
+ _akashiTimer.SetTimer();\r
+ return Update.Ship;\r
+ }\r
+ if (url.EndsWith("api_req_hokyu/charge"))\r
+ {\r
+ _shipInfo.InspectCharge(data);\r
+ _materialInfo.InspectCharge(data);\r
+ return Update.Item | Update.Ship;\r
+ }\r
+ if (url.EndsWith("api_req_kaisou/powerup"))\r
+ {\r
+ _shipInfo.InspectPowerup(request, data);\r
+ _conditionTimer.CheckCond();\r
+ _akashiTimer.SetTimer();\r
+ return Update.Item | Update.Ship;\r
+ }\r
+ if (url.EndsWith("api_req_nyukyo/start"))\r
+ {\r
+ _dockInfo.InspectNyukyo(request);\r
+ _conditionTimer.CheckCond();\r
+ _akashiTimer.SetTimer();\r
+ return Update.Item | Update.Ship;\r
+ }\r
+ if (url.EndsWith("api_req_nyukyo/speedchange"))\r
+ {\r
+ _dockInfo.InspectSpeedChange(request);\r
+ _conditionTimer.CheckCond();\r
+ return Update.NDock | Update.Timer | Update.Ship;\r
+ }\r
if (url.EndsWith("api_req_map/start"))\r
{\r
_shipInfo.StartSortie(request);\r
_logger.InspectMissionResult(data);\r
return Update.Item;\r
}\r
- if (url.EndsWith("api_get_member/mapinfo"))\r
- {\r
- _exMapInfo.InspectMapInfo(data);\r
- _miscTextInfo.InspectMapInfo(data);\r
- return Update.Item;\r
- }\r
- if (url.EndsWith("api_req_member/get_practice_enemyinfo"))\r
- {\r
- _miscTextInfo.InspectPracticeEnemyInfo(data);\r
- return Update.Item;\r
- }\r
return Update.None;\r
}\r
\r
- private bool IsNormalBattleAPI(string url)\r
- {\r
- return url.EndsWith("api_req_sortie/battle") ||\r
- url.EndsWith("api_req_sortie/airbattle") ||\r
- url.EndsWith("api_req_battle_midnight/battle") ||\r
- url.EndsWith("api_req_battle_midnight/sp_midnight");\r
- }\r
-\r
- private bool IsCombinedBattleAPI(string url)\r
- {\r
- return url.EndsWith("api_req_combined_battle/battle") ||\r
- url.EndsWith("api_req_combined_battle/airbattle") ||\r
- url.EndsWith("api_req_combined_battle/battle_water") ||\r
- url.EndsWith("api_req_combined_battle/midnight_battle") ||\r
- url.EndsWith("api_req_combined_battle/sp_midnight");\r
- }\r
-\r
public NameAndTimer[] NDock => _dockInfo.NDock;\r
\r
public RingTimer[] KDock => _dockInfo.KDock;\r