public void Update(RawConstructionDock rpRawData) { State = rpRawData.State; FuelConsumption = rpRawData.FuelConsumption; BulletConsumption = rpRawData.BulletConsumption; SteelConsumption = rpRawData.SteelConsumption; BauxiteConsumption = rpRawData.BauxiteConsumption; DevelopmentMaterialConsumption = rpRawData.DevelopmentMaterialConsumption; if (State == ConstructionDockState.Building || State == ConstructionDockState.Completed) { Ship = KanColleGame.Current.MasterInfo.Ships[rpRawData.ShipID]; TimeToComplete = DateTimeUtil.UnixEpoch.AddMilliseconds(rpRawData.TimeToComplete); } else { Ship = null; TimeToComplete = null; } }
internal ConstructionDock(RawConstructionDock rpRawData) { ID = rpRawData.ID; Update(rpRawData); NewConstruction.Where(r => r == this).Subscribe(_ => { var rLogContent = string.Format(StringResources.Instance.Main.Log_StartConstruction, Ship.Name, FuelConsumption, BulletConsumption, SteelConsumption, BauxiteConsumption, DevelopmentMaterialConsumption); Logger.Write(LoggingLevel.Info, rLogContent); }); }
public void Update(RawConstructionDock rpRawData) { State = rpRawData.State; FuelConsumption = rpRawData.FuelConsumption; BulletConsumption = rpRawData.BulletConsumption; SteelConsumption = rpRawData.SteelConsumption; BauxiteConsumption = rpRawData.BauxiteConsumption; DevelopmentMaterialConsumption = rpRawData.DevelopmentMaterialConsumption; if (State == ConstructionDockState.Building || State == ConstructionDockState.Completed) { Ship = KanColleGame.Current.MasterInfo.Ships[rpRawData.ShipID]; TimeToComplete = DateTimeUtil.UnixEpoch.AddMilliseconds(rpRawData.TimeToComplete); } else { Ship = null; TimeToComplete = null; } if (IsConstructionStarted) { var rLogContent = string.Format(StringResources.Instance.Main.Log_StartConstruction, Ship.TranslatedName, FuelConsumption, BulletConsumption, SteelConsumption, BauxiteConsumption, DevelopmentMaterialConsumption); Logger.Write(LoggingLevel.Info, rLogContent); NewConstruction.OnNext(this); IsConstructionStarted = false; } }
internal void UpdateConstructionDocks(RawConstructionDock[] rpConstructionDocks) { if (ConstructionDocks.UpdateRawData(rpConstructionDocks, r => new ConstructionDock(r), (rpData, rpRawData) => rpData.Update(rpRawData))) OnPropertyChanged(nameof(ConstructionDocks)); }
internal ConstructionDock(RawConstructionDock rpRawData) { ID = rpRawData.ID; Update(rpRawData); }