9 public override bool TryAdd(
Task t)
11 return this.TryAdd(t as T);
15 public override void Remove(
Task t)
21 public override void SetAstLastItem(
Task t)
23 this.SetAstLastItem(t as T);
27 public override void OnLoad()
29 foreach (T t
in this.items)
36 protected virtual bool TryAdd(T t)
45 public virtual void OnAdd(T t)
51 protected virtual void Remove(T t)
57 public virtual void SetAstLastItem(T t)
64 public override Task GetTask(
Chara chara,
int radius = -1)
66 if (this.items.Count == 0)
70 foreach (T t
in this.items)
72 if (t.owner ==
null && t.nextTry <=
EClass.game.sessionMin && t.CanPerformTask(chara, radius))
81 public bool HaveTask(
Point p)
83 using (List<T>.Enumerator enumerator = this.items.GetEnumerator())
85 while (enumerator.MoveNext())
87 if ((enumerator.Current as
TaskPoint).pos.Equals(p))
97 public void DestroyAll<T1>() where T1 : T
99 foreach (T t
in this.items.Copy<T>())
109 public void DestroyAll(Func<T, bool> func)
111 foreach (T t
in this.items.Copy<T>())
122 public List<T> items =
new List<T>();