public RegistryEntry(Type taskType, Type factoryType, TaskIcon icon, int priority) { TaskType = taskType; FactoryType = factoryType; Icon = icon; Priority = priority; }
public void SpawnRewardTick(int amount, TaskBroadcaster tb, EmotionalStateUI emotionUI) { if (m_taskIconMap.ContainsKey(tb)) { TaskIcon icon = m_taskIconMap[tb]; RectTransform punishTick = Instantiate <RectTransform>(m_rewardTickPrefab, transform.parent); punishTick.position = icon.transform.position + Vector3.up * 30; Vector3 start = punishTick.position; Vector3 target = emotionUI.transform.position; Vector3 dir = (start - target + Vector3.up * 20).normalized; target += dir * 50.0f; Vector3[] path = new Vector3[] { start, Vector3.Lerp(start, target, 0.5f) + Vector3.up * 30.0f, target }; var seq = DOTween.Sequence(); seq.Append(punishTick.DOPath(path, 1.0f, PathType.CatmullRom).SetEase(Ease.InCubic)); seq.Insert(0, punishTick.GetComponent <Image>().DOFillAmount(1.0f, 0.25f)); seq.InsertCallback(0.9f, () => { emotionUI.Reward(amount, tb); }); Destroy(punishTick.gameObject, 1.0f); } //m_emotionalStateUI.Punish(amount, source); }
// Update is called once per frame void Update() { SortChildren(); float x = 5; for (int i = 0; i < transform.childCount; i++) { RectTransform rt = (RectTransform)transform.GetChild(i); TaskIcon icon = rt.gameObject.GetComponent <TaskIcon>(); TaskBroadcaster tb = icon.TaskBroadcaster; icon.TimerBar.fillAmount = Mathf.Clamp01(tb.TotalTime / tb.Task.PunishTime); Vector2 target = new Vector2(x, 0); rt.anchoredPosition = Vector2.Lerp(rt.anchoredPosition, target, 0.1f); if (i < transform.childCount - 1) { RectTransform rt2 = (RectTransform)transform.GetChild(i + 1); TaskIcon icon2 = rt2.gameObject.GetComponent <TaskIcon>(); TaskBroadcaster tb2 = icon2.TaskBroadcaster; if (tb.Task.Name == tb2.Task.Name && tb.Task.Grouped && tb2.Task.Grouped) { x += 15; continue; } } x += rt.rect.size.x + 5; } }
/// <summary>Register a new task.</summary> public static void Register(string id, Type taskType, Type factoryType, TaskIcon icon, int priority = 0) { if (Registry.ContainsKey(id)) { throw new InvalidOperationException("Attempted to overwrite task registry entry with key \"" + id + "\"."); } Registry.Add(id, new RegistryEntry(taskType, factoryType, icon, priority)); }
public void BroadcasterRemoved(TaskBroadcaster tb) { if (m_taskIconMap.ContainsKey(tb)) { TaskIcon icon = m_taskIconMap[tb]; m_taskIconMap.Remove(tb); if (icon) { Destroy(icon.gameObject); } } }
public void ShowBallon(MessageModel message) { lastMessage = message; var sb = new StringBuilder(); sb.AppendFormat("From: {0}{1}", message.From, Environment.NewLine); sb.AppendFormat("To: {0}{1}", message.To, Environment.NewLine); sb.AppendFormat("Subject: {0}{1}", message.Subject, Environment.NewLine); sb.AppendFormat("Click here to read the email"); TaskIcon.ShowBalloonTip("Email Received", sb.ToString(), BalloonIcon.Info); }
public void BroadcasterAdded(TaskBroadcaster tb) { if (!m_taskIconMap.ContainsKey(tb)) { TaskIcon icon = Instantiate <TaskIcon>(m_taskIconPrefab); icon.TaskBroadcaster = tb; icon.Text.text = tb.Task.Name; icon.Image.sprite = tb.Task.Icon; icon.transform.SetParent(transform); icon.transform.GetComponent <RectTransform>().anchoredPosition = new Vector2(GetComponent <RectTransform>().rect.width, 0); m_taskIconMap.Add(tb, icon); } }
private void SetArrowLocation(TaskIcon icon) { if (icon.CompareTag("CopyMachine")) { SetArrowLocation(copyingMachinePosition.position); } else if (icon.CompareTag("Stamping")) { SetArrowLocation(stampingDeskPosition.position); } else if (icon.CompareTag("Signatures")) { SetArrowLocation(signingDeskPosition.position); } else if (icon.CompareTag("Typing")) { SetArrowLocation(computerPosition.position); } }
private void WinGame() { player.IncreaseStamina(-staminaWinCost); currentTask.completedIcon.enabled = true; currentTask.iconSprite.color = Color.gray; startingStaminaValue = staminaBar.value; endStaminaValue = staminaBar.value - staminaWinCost; startingLerp = true; ManageStaminaSpeed(); if (taskIcons.Count <= 0) { CompleteTaskList(); } else { currentTask = taskIcons.Dequeue(); SetArrowLocation(currentTask); } }
public async Task StartBackupAsync() { TaskIcon.ShowBalloonTip("バックアップ開始", "", BalloonIcon.Info); foreach (var data in DataLists) { IProgress <int[]> progress = new Progress <int[]>(count => { data.Progress = count[1] + "/" + count[0]; if (TaskIcon.Visibility == Visibility.Visible) { TaskIcon.ToolTipText = count[1] + "/" + count[0]; } }); Backup bu = new Backup(data.From, data.To); await Task.Run(async() => { await bu.StartAsync(progress); }); data.Progress = "完了"; } TaskIcon.ToolTipText = "バックアップ完了:" + DateTime.Now; TaskIcon.ShowBalloonTip("バックアップ完了", $"エラー:{ReadError()}", BalloonIcon.Info); }
public void GenerateSmartTaskList(int items) { for (int i = 0; i < initialItemsQnty; i++) { if (i == 4 || i == initialItemsQnty - 1) { bool number0used = false; bool number1used = false; bool number2used = false; bool number3used = false; foreach (int n in numbersUsed) { if (n == 0) { number0used = true; } else if (n == 1) { number1used = true; } else if (n == 2) { number2used = true; } else if (n == 3) { number3used = true; } } if (!number0used) { taskIcons.Enqueue(GenerateRandomTask(0)); } else if (!number1used) { taskIcons.Enqueue(GenerateRandomTask(1)); } else if (!number2used) { taskIcons.Enqueue(GenerateRandomTask(2)); } else if (!number3used) { taskIcons.Enqueue(GenerateRandomTask(3)); } else { taskIcons.Enqueue(GenerateRandomTask(random.Next(0, 4))); } } else { int rng = random.Next(0, 4); while (rng == lastRandomChoice) { rng = random.Next(0, 4); } numbersUsed.Add(rng); taskIcons.Enqueue(GenerateRandomTask(rng)); lastRandomChoice = rng; } } foreach (TaskIcon t in taskIcons) { iconsObjects.Add(t.gameObject); } currentTask = taskIcons.Dequeue(); SetArrowLocation(currentTask); }