private void ChooseMoveIfApplicable(MovementOptionsAvailable e) { IfAITurn(() => EventQueue.Instance.Add(new AIActionQueued(() => { if (Char.Team != Team.Enemy) { return; } EventQueue.Instance.Add(new MovementConfirmed(GetBestMovement(e.AvailableMoves))); }))); }
private void ShowOptions(MovementOptionsAvailable e) { if (!GameWorld.FriendlyPerception[GameWorld.CurrentCharacter.CurrentTile.Position]) { return; } var visuals = new List <IVisual>(); e.AvailableMoves.ForEach(x => { visuals.Add(new UiImage { Image = "Effects/Cover_Gray", Transform = GameWorld.Map.TileToWorldTransform(x.Last()).WithSize(TileData.RenderSize), Tint = UiColors.AvailableMovesView_Rectangles }); }); _visuals = visuals; }
private void OnMovementOptionsAvailable(MovementOptionsAvailable e) { _availableMoves = e.AvailableMoves.ToList(); _showsHoveredPathDirections = true; _shouldCheckMouse = GameWorld.CurrentCharacter.Team == Team.Friendly; }
private void ShowOptions(MovementOptionsAvailable e) { _possibleMoves = e.AvailableMoves.Select(x => x.Last()).ToList(); }