public override void btnTapped() { //base.btnTapped(); if (isUnlocked) { if (!isEmpty) { GDEtimeTaskData task = SDDataManager.Instance.GetTimeTaskById(taskId); string itemId = task.itemId; int oldD = task.oldData; if (SDDataManager.Instance.FinishTimeTask(taskId)) { CurrentRewardList = new List <string>(); CurrentRewardList.Add(itemId); for (int i = 0; i < FP.AllProducts.Count; i++) { float r = oldD * 1f / (oldD + i + 2); if (UnityEngine.Random.Range(0, 1f) < r) { CurrentRewardList.Add(FP.AllProducts[i].ID); SDDataManager.Instance.addConsumable(FP.AllProducts[i].ID); } } Debug.Log("成功获取工厂成果"); string re = CurrentRewardList[0]; for (int i = 1; i < CurrentRewardList.Count; i++) { re += " & " + CurrentRewardList[i]; } PopoutController.CreatePopoutMessage("获取奖励" + re, 10); } } } }
//public public override void refreshTimeCondition() { //base.refreshTimeCondition(); GDEtimeTaskData TASK = SDDataManager.Instance.GetTimeTaskById(taskId); if (TASK != null && DateTime.TryParse(TASK.startTime, out DateTime starttime)) { TimeSpan span = DateTime.Now - starttime; int m = span.Minutes % TASK.timeType; float s = Mathf.Min(m * 1f / TASK.timeType, 1); timeSlider.localScale = new Vector3(s, 1, 1); } }
public override void initTimeTask(GDEtimeTaskData task) { base.initTimeTask(task); GDENPCData slave = SDDataManager.Instance.GetNPCOwned(task.itemHashcode); if (slave != null) { int lv = SDDataManager.Instance.getLevelByExp(slave.exp); int like = SDDataManager.Instance.getLikeByLikability (slave.likability, out float rate); NPCMessage.text = lv + "·" + like; } }
public void refreshThisAssemblyLine(GDEtimeTaskData task) { //展示列表 showingCard.initTimeTask(task); SlavePage.ItemsInit(SDConstants.ItemType.NPC); foreach (SingleItem s in SlavePage.items) { if (s.itemHashcode == task.itemHashcode) { s.isSelected = true; break; } } }
public void initAllSickTasks() { List <GDEtimeTaskData> allList = SDDataManager.Instance.PlayerData.TimeTaskList; int sickbedNum = SDDataManager.Instance.PlayerData.sickBedNum; if (sickbedNum < 1) { SDDataManager.Instance.PlayerData.sickBedNum = 1; sickbedNum = 1; } //读取并在AllHealSlot中构建任务 currentTreatingList = allList.FindAll(x => x.taskId.Contains("TT_HOSP")); for (int i = 0; i < AllHealSlots.Count; i++) { if (i < sickbedNum) { AllHealSlots[i].isUnlocked = true; string fixId = getTaskIdFromIndex(i); GDEtimeTaskData tt = null; foreach (GDEtimeTaskData task in currentTreatingList) { if (task.taskId == fixId) { tt = task; break; } } if (tt != null) { AllHealSlots[i].initTimeTask(tt); } else { AllHealSlots[i].showEmptyPanel(); } } else { AllHealSlots[i].showLockedPanel(); continue; } } //refreshAllSickBeds(); }
//public SDConstants.ItemType type = SDConstants.ItemType.End; public virtual void initTimeTask(GDEtimeTaskData task) { Debug.Log("Start_Init_Time_Task"); if (task == null) { showEmptyPanel(); return; } else { isEmpty = false; } taskId = task.taskId; string startTimeString = task.startTime; if (DateTime.TryParse(startTimeString, out DateTime starttime)) { refreshTimeCondition(); } }
public virtual void refreshTimeCondition() { GDEtimeTaskData task = SDDataManager.Instance.GetTimeTaskById(taskId); if (task != null && DateTime.TryParse(task.startTime, out DateTime starttime)) { if (!isFinished) { float useMinute = task.timeType * 1f; TimeSpan span = DateTime.Now - starttime; float s = Mathf.Min((float)(span.TotalMinutes) / useMinute, 1); timeSlider.localScale = new Vector3(s, 1, 1); if (s >= 1) { isFinished = true; } } else { timeSlider.localScale = Vector3.one; } } }