Ejemplo n.º 1
0
 public LivingObject()
     : base()
 {
     this.healthPoints = 20;
     this.maxHealthPoints = 20;
     this.aggroRange = 300;
     this.isDead = false;
     tasks = new List<LivingObjectTask>();
     aggroSystem = new Task.Aggro.AggroSystem<LivingObject>();
     MovementSpeed = 1f;
     currentTask = null;
     this.canBeEffected = true;
     this.interactions = new List<LivingObjectInteraction>();
     this.path = null;
 }
Ejemplo n.º 2
0
        private void doTasks()
        {
            if (currentTask != null)
            {
                if (currentTask.wantToDoTask())
                {
                }
                else
                {
                    currentTask = null;
                }
            }

            if (this.tasks != null)
            {
                LivingObjectTask var_TaskWantToDo = null;
                foreach (LivingObjectTask var_Task in this.tasks)
                {
                    if (var_Task.wantToDoTask())
                    {
                        if (currentTask == null)
                        {
                            if (var_TaskWantToDo == null)
                            {
                                var_TaskWantToDo = var_Task;
                            }
                            else if (var_TaskWantToDo.Priority < var_Task.Priority)
                            {
                                var_TaskWantToDo = var_Task;
                            }
                        }
                        else
                        {
                            if (var_TaskWantToDo == null)
                            {
                                if (this.currentTask.Priority < var_Task.Priority)
                                {
                                    var_TaskWantToDo = var_Task;
                                }
                            }
                            else if (var_TaskWantToDo.Priority < var_Task.Priority)
                            {
                                var_TaskWantToDo = var_Task;
                            }
                        }
                    }
                }
                if (var_TaskWantToDo != null)
                {
                    this.currentTask = var_TaskWantToDo;
                }
                if (this.currentTask != null)
                {
                    this.currentTask.update();
                }
            }
        }