Beispiel #1
0
 public RegistryEntry(Type taskType, Type factoryType, TaskIcon icon, int priority)
 {
     TaskType    = taskType;
     FactoryType = factoryType;
     Icon        = icon;
     Priority    = priority;
 }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    // 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;
        }
    }
Beispiel #4
0
        /// <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));
        }
Beispiel #5
0
 public void BroadcasterRemoved(TaskBroadcaster tb)
 {
     if (m_taskIconMap.ContainsKey(tb))
     {
         TaskIcon icon = m_taskIconMap[tb];
         m_taskIconMap.Remove(tb);
         if (icon)
         {
             Destroy(icon.gameObject);
         }
     }
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 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);
     }
 }
Beispiel #8
0
 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);
     }
 }
Beispiel #9
0
    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);
        }
    }
Beispiel #10
0
        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);
        }
Beispiel #11
0
    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);
    }