internal void Update(RawRepairDock rpRawData)
        {
            State = rpRawData.State;

            if (State == RepairDockState.Repairing)
            {
                Ship = KanColleGame.Current.Port.Ships[rpRawData.ShipID];
                TimeToComplete = DateTimeUtil.UnixEpoch.AddMilliseconds(rpRawData.TimeToComplete);
            }
            else
            {
                if (Ship != null)
                {
                    Ship.Repair(true);
                    Ship = null;
                }
                TimeToComplete = null;
            }
        }
 void UpdateRepairDocks(RawRepairDock[] rpDocks)
 {
     if (RepairDocks.UpdateRawData(rpDocks, r => new RepairDock(r), (rpData, rpRawData) => rpData.Update(rpRawData)))
         OnPropertyChanged(nameof(RepairDocks));
 }
        internal RepairDock(RawRepairDock rpRawData)
        {
            ID = rpRawData.ID;

            Update(rpRawData);
        }