コード例 #1
0
 public void AddWork(Employee sender)
 {
     CurrentWork += sender.WorkPerSecond;
     if (PercentComplete > 50 && hypeStage == 0)
     {
         Hypeometer.Instance.AddHype(RequiredWork / 2);
         hypeStage = 1;
     }
     else if (PercentComplete > 90 && hypeStage == 1)
     {
         Hypeometer.Instance.AddHype(RequiredWork / 2);
         hypeStage = 2;
     }
 }
コード例 #2
0
        public void Update()
        {
            if (delayTimer > 0)
                delayTimer--;
            if (Input.IsKeyPressed(Keys.Down))
            {
                if (SelectedIndex < Tasks.Count - 1 && bSelecting)
                    SelectedIndex++;
                if (SelectorBottom + BaseDrawPosition.Y > GameRoot.Instance.ScreenSize.Y)
                {
                    DesiredScrollOffset -= 30;
                }
                Console.WriteLine(SelectedIndex);
            }
            if (Input.IsKeyPressed(Keys.Up))
            {
                if (SelectedIndex > -1 && bSelecting)
                {
                    SelectedIndex--;
                    if (SelectorTop + BaseDrawPosition.Y < BaseDrawPosition.Y)
                    {
                        DesiredScrollOffset += 30;
                    }
                }
                Console.WriteLine(SelectedIndex);
            }
            if (Input.IsKeyPressed(Keys.Enter))
            {
                if (bSelecting && delayTimer <= 0 && !bUpdating)
                {
                    if (SelectedIndex < 0)
                    {
                        AddTask();
                        return;
                    }
                    else
                    {
                        if (Tasks.Count <= 0)
                        {
                            SelectedIndex = -1;
                            return;
                        }
                        if (SelectedIndex < Tasks.Count)
                            SelectedEmployee.SetTask(Tasks[SelectedIndex]);
                        bSelecting = false;
                        SelectedEmployee = null;
                        EmployeeManager.FinishSelecting();
                    }
                }
            }

            if (SelectedIndex == -1)
            {
                if (bSelecting)
                {
                    if (TaskCount < MaxTasks)
                        AddTaskRectangle.Y = 0;
                    else
                        AddTaskRectangle.Y = 120;
                }
            }
            else
            {
                if (TaskCount < MaxTasks)
                    AddTaskRectangle.Y = 40;
                else
                    AddTaskRectangle.Y = 80;
            }

            ScrollOffset = MathHelper.Lerp(ScrollOffset, DesiredScrollOffset, 0.15f);
        }
コード例 #3
0
 public void SelectTask(Employee emp)
 {
     bSelecting = true;
     SelectedEmployee = emp;
     delayTimer = 5;
 }
コード例 #4
0
 public void AddWorker(Employee emp)
 {
     //emp.SetTask(this);
     if (!Manager.bUpdating)
         CurrentWorkers.Add(emp);
 }