private void IssuePathfindCommand(Tile goal) { //if (!selected || !inputEnabled) return; Map map = GameManager.Instance.CurrentMap; Tile source = map.TileAtMapPosition(selected.MapPosition); int limit = selected.MovementLimit; PathfindCreateEvent e = new PathfindCreateEvent(source, goal, limit); EventManager.Instance.Raise <PathfindEvent>(e); }
private void OnPathfindEvent(PathfindEvent e) { if (e is PathfindCreateEvent) { if (findingPath) { return; } findingPath = true; PathfindCreateEvent ev = e as PathfindCreateEvent; int limit = ev.limit; ResetPath(); Map map = GameManager.Instance.CurrentMap; path = FindPath(ev.source, ev.goal, limit, map); HighlightPathTiles(); findingPath = false; } else if (e is CancelPathfindEvent) { ResetPath(); } }