Exemplo n.º 1
0
        public List <ActionOption <Player, MenuOptionType> > GetActions()
        {
            List <ActionOption <Player, MenuOptionType> > actionList = new List <ActionOption <Player, MenuOptionType> >();
            string locked;

            foreach (Direction direction in Enum.GetValues(typeof(Direction)))
            {
                if (this.Connections.ContainsKey(direction))
                {
                    Location destination = this.Connections[direction].Destination;
                    locked = this.Connections[direction].IsUnlocked ? "" : " (locked)";
                    actionList.Add(new ActionOption <Player, MenuOptionType>($"Go {direction}{locked}", $"Travel to {destination.Name}",
                                                                             null,
                                                                             new Action <Player>(player => PlayerActions.TravelFromPointToPoint(player, player.Location, destination)),
                                                                             MenuOptionType.Travel, direction.ToString().Substring(0, 1).ToLower(), direction.ToString().ToLower()));
                }
            }
            foreach (ActionOption <Player, MenuOptionType> actionOption in actions)
            {
                actionList.Add(actionOption);
            }

            return(actionList);
        }