public void DoActivity() { if (Activity == ActivityType.None || JobManager.ActivityTypeExists(Responsible, Activity)) { return; } if (ActivityFactory.GetActivity(Activity).Do(Responsible)) { return; } Responsible.Wander(); activityPointer++; if (activityPointer >= activities.Count) { activityPointer = 0; } Activity = activities[activityPointer]; }