public void TestMatching(ITaskPerformer performer, ITaskAcceptor acceptor) { List <PerformerTask> matches = TaskMatcher.GetEnabled(performer, acceptor); foreach (PerformerTask m in matches) { Debug.Log(m); } }
void OnEnterPoint(GridPoint point) { if (point.Unit is Flower) { flowerMatch = TaskMatcher.GetPerformable(this, point.Unit as ITaskAcceptor); if (flowerMatch != null) { flowerMatch.Start(true); } } }
protected override void OnUpdateSelection(List <ISelectable> selected) { this.selected = selected; if (selected.Count == 0) { menu.gameObject.SetActive(false); // SetButtons (Player.Instance.PerformableTasks.ActiveTasks.Values.ToList ()); return; } menu.gameObject.SetActive(true); List <ITaskPerformer> performers = selected .FindAll(x => x is ITaskPerformer) .ConvertAll(x => x as ITaskPerformer); List <PerformerTask> tasks = TaskMatcher.GetTasksInCommon(performers, true); SetButtons(tasks); }