internal void Update(long[] rpRawData) { var rState = (int)rpRawData[0]; var rExpeditionID = (int)rpRawData[1]; var rTimeToComplete = rpRawData[2]; if (rState != 0) { if (Expedition == null) foreach (var rShip in r_Fleet.Ships) rShip.State |= ShipState.Expedition; Expedition = KanColleGame.Current.MasterInfo.Expeditions[rExpeditionID]; TimeToComplete = new DateTimeOffset?(DateTimeUtil.UnixEpoch.AddMilliseconds(rTimeToComplete)); } else { if (Expedition != null) foreach (var rShip in r_Fleet.Ships) rShip.State &= ~ShipState.Expedition; Expedition = null; TimeToComplete = null; } }
internal ExpeditionViewModel(ExpeditionInfo rpInfo) { Info = rpInfo; r_Info2 = ExpeditionService.Instance.GetInfo(rpInfo.ID); ResultPrediction = KanColleGame.Current.Port.Fleets.Table.Values.Skip(1).Select(r => new ExpeditionResultPrediction(r_Info2, r)).ToList(); }
public void OnExpeditionComplete(HomeportFleet fleet, ExpeditionInfo expedition, ExpeditionResult result) { foreach (var c in Counters) { if (c is ExpeditionCounter ec) { ec.OnExpeditionComplete(StatePersist, fleet, expedition, result); } } UpdateProgress(); }
public override bool TakeAction() { int question = 0; int index = 0; answerID1 = 1; answerID2 = 2; int expID = 0; int usegoldTime = GetExpCodeTime(ContextUser.UserID); useGold = MathUtils.Addition((usegoldTime / 60), 1, int.MaxValue); UserExpedition userExp = new PersonalCacheStruct <UserExpedition>().FindKey(ContextUser.UserID); if (userExp != null && DateTime.Now.Date == userExp.InsertDate.Date) { if (userExp.ExpeditionNum >= 10) { isEnd = 1; } else { isEnd = 2; } question = MathUtils.Addition(userExp.ExpeditionNum, 1, int.MaxValue); expID = userExp.ExpID; codeTime = userExp.DoRefresh(); } else { isEnd = 2; question = 1; } List <ExpeditionInfo> expeditionArray = new ShareCacheStruct <ExpeditionInfo>().FindAll(m => m.GroupID == question); if (expeditionArray.Count > 0) { if (IsAnswer(expeditionArray, expID)) { expInfo = new ShareCacheStruct <ExpeditionInfo>().FindKey(expID); } else { index = RandomUtils.GetRandom(0, expeditionArray.Count); expInfo = new ShareCacheStruct <ExpeditionInfo>().FindKey(expeditionArray[index].ExpID); if (userExp != null) { userExp.ExpID = expeditionArray[index].ExpID; } } } return(true); }
internal void Update(long[] rpRawData) { var rState = (int)rpRawData[0]; var rExpeditionID = (int)rpRawData[1]; var rTimeToComplete = rpRawData[2]; if (rState != 0) { Expedition = KanColleGame.Current.MasterInfo.Expeditions[rExpeditionID]; TimeToComplete = new DateTimeOffset?(DateTimeUtil.UnixEpoch.AddMilliseconds(rTimeToComplete)); } else { Expedition = null; TimeToComplete = null; } }