public class DockInfo\r
{\r
public const int DockCount = 4;\r
- private readonly ShipInfo _shipInfo;\r
+ private readonly ShipInventry _shipInventry;\r
private readonly MaterialInfo _materialInfo;\r
private readonly int[] _ndoc = new int[DockCount];\r
private readonly AlarmTimer[] _ndocTimers = new AlarmTimer[DockCount];\r
private readonly AlarmTimer[] _kdocTimers = new AlarmTimer[DockCount];\r
\r
- public DockInfo(ShipInfo ship, MaterialInfo material)\r
+ public DockInfo(ShipInventry shipInventry, MaterialInfo material)\r
{\r
- _shipInfo = ship;\r
+ _shipInventry = shipInventry;\r
_materialInfo = material;\r
for (var i = 0; i < _ndocTimers.Length; i++)\r
_ndocTimers[i] = new AlarmTimer();\r
var prev = _ndoc[id];\r
_ndoc[id] = (int)entry.api_ship_id;\r
if (prev != 0 && _ndoc[id] == 0) // 修復完了\r
- _shipInfo.RepairShip(prev);\r
+ _shipInventry[prev].RepairShip();\r
}\r
}\r
\r
{\r
var values = HttpUtility.ParseQueryString(request);\r
var id = int.Parse(values["api_ship_id"]);\r
- var ship = _shipInfo.GetStatus(id);\r
+ var ship = _shipInventry[id];\r
var m = ship.NdockItem;\r
_materialInfo.SubMaterial(Material.Fuel, m[0]);\r
_materialInfo.SubMaterial(Material.Steal, m[1]);\r
if (int.Parse(values["api_highspeed"]) == 1)\r
{\r
- _shipInfo.RepairShip(id);\r
+ ship.RepairShip();\r
_materialInfo.SubMaterial(Material.Bucket, 1);\r
return;\r
}\r
if (ship.RepairTime.CompareTo(TimeSpan.FromMinutes(1)) <= 0)\r
- _shipInfo.RepairShip(id);\r
+ ship.RepairShip();\r
}\r
\r
public void InspectSpeedChange(string request)\r
{\r
var values = HttpUtility.ParseQueryString(request);\r
var dock = int.Parse(values["api_ndock_id"]) - 1;\r
- _shipInfo.RepairShip(_ndoc[dock]);\r
+ _shipInventry[_ndoc[dock]].RepairShip();\r
_ndoc[dock] = 0;\r
_ndocTimers[dock].SetEndTime(0);\r
_materialInfo.SubMaterial(Material.Bucket, 1);\r
\r
public NameAndTimer[] NDock\r
=> _ndoc.Zip(_ndocTimers,\r
- (id, timer) => new NameAndTimer {Name = id == 0 ? "" : _shipInfo.GetStatus(id).Name, Timer = timer}).ToArray();\r
+ (id, timer) => new NameAndTimer {Name = id == 0 ? "" : _shipInventry[id].Name, Timer = timer}).ToArray();\r
\r
public bool InNDock(int id) => _ndoc.Any(n => n == id); // 空のドックのidは0\r
\r
using System.Collections.Generic;\r
using System.Linq;\r
using KancolleSniffer.Util;\r
-using static System.Math;\r
\r
namespace KancolleSniffer.Model\r
{\r
_fleets[fleet].State = FleetState.Practice;\r
}\r
\r
- public void RepairShip(int id)\r
- {\r
- var s = _shipInventry[id];\r
- s.NowHp = s.MaxHp;\r
- s.Cond = Max(40, s.Cond);\r
- }\r
-\r
public Fleet[] Fleets => _fleets;\r
\r
public ShipStatus GetStatus(int id) => FillUp(_shipInventry[id]);\r
_itemInfo = new ItemInfo(_itemMaster, _itemInventry);\r
_shipInfo = new ShipInfo(_shipMaster, _shipInventry, _itemInventry);\r
_conditionTimer = new ConditionTimer(_shipInfo);\r
- _dockInfo = new DockInfo(_shipInfo, _materialInfo);\r
+ _dockInfo = new DockInfo(_shipInventry, _materialInfo);\r
_akashiTimer = new AkashiTimer(_shipInfo, _dockInfo, _presetDeck);\r
_battleInfo = new BattleInfo(_shipInfo, _itemInfo);\r
_logger = new Logger(_shipInfo, _itemInfo, _battleInfo);\r