Exemple #1
0
 public Monster(MonsterStatus stats, Sprite sprite, SpriteManager sm)
 {
     this.stats = stats;
     this.sprite = sprite;
     this.SM = sm;
     currenttask = new Task(Task.Type.Poop, null);
     currenttask.status = Task.Status.Done;
 }
Exemple #2
0
        public void Update(GameTime gametime)
        {
            if (TM.taskIsEmpty() == false)
            {
                if (currenttask.status == Task.Status.Done)
                {
                    currenttask = TM.GetTask();
                }

                switch (currenttask.type)
                {
                    case Task.Type.Poop:
                        {
                            ExePoop(currenttask.paramaters);
                            currenttask.status = Task.Status.Done;
                            TM.RemoveTask();
                            break;
                        }
                    case Task.Type.Move:
                        {
                            if (currenttask.status == Task.Status.Exe)
                            {
                                if (sprite.position == (Vector2)currenttask.paramaters[0])
                                {
                                    currenttask.status = Task.Status.Done;
                                }
                            }
                            else if (currenttask.status == Task.Status.Done)
                            {
                                TM.RemoveTask();
                            }
                            else
                            {
                                currenttask.status = Task.Status.Exe;
                                ExeMove(currenttask.paramaters);
                            }
                            break;
                        }
                }
            }
            else
            {
                //Console.WriteLine("Waiting for task");
            }
        }
Exemple #3
0
 public Task(Task.Type type, ArrayList paramaters)
 {
     this._status = Status.Wait;
     this._type = type;
     this.paramaters = paramaters;
 }
Exemple #4
0
 public void AddTask(Task newTask)
 {
     TaskQueue.Add(newTask);
 }