// should be a list of tasks but ho hum public void SetTasks(EnemyTask tasks) { _myTask = tasks; }
// Give this enemy a task - the master will receive updates and should manage the enemy's behaviour public void GiveTask(EnemyTask task, IEnemyTaskGiver master) { if (TaskStateChanged != null) { TaskStateChangedEventArgs args = new TaskStateChangedEventArgs(); args.NewState = EnemyTask.State.TASK_CHANGING; args.Task = _myTask; TaskStateChanged(this, args); } _myTask = task; _myTask.Reset(this); TaskStateChanged = master.EventHandler; }