Ejemplo n.º 1
0
        /// <summary>
        /// Does everything for the admin submenu
        /// </summary>
        private void HandleAdminMenu()
        {
            int             index  = view.DrawGetMenuOption(ActionMenu.GetEnumMenu(typeof(AdminMenuAction)));
            AdminMenuAction action = (AdminMenuAction)Enum.GetValues(typeof(AdminMenuAction)).GetValue(index);

            switch (action)
            {
            case AdminMenuAction.PlayerInfo:
                view.DisplayPlayerInfo(player);
                break;

            case AdminMenuAction.PlayerEdit:
                Player tempPlayer = view.DisplayEditPlayerInfo(player);
                EditPlayerInfo(tempPlayer);
                break;

            case AdminMenuAction.ListGameObjects:
                view.DisplayGameObjects("All Game Objects: ", universe.GameObjects);
                break;

            case AdminMenuAction.ListNpcs:
                view.DisplayNpcs("All Npcs: ", universe.Npcs);
                break;

            case AdminMenuAction.ListLocations:
                view.DisplayLocations("All Locations: ", universe.Map.Locations);
                break;

            case AdminMenuAction.Back:
                return;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Pulls up the interaction menu, and handles that interaction
        /// </summary>
        private void HandleInteractionMenu()
        {
            int        interactionIndex = 0;
            GameObject gameObject       = view.DisplayInteractObject(universe, player.CurrentLocation);

            //
            // in case the location is empty
            //
            if (gameObject != null)
            {
                interactionIndex = view.DrawGetMenuOption(ActionMenu.GetEnumMenu(typeof(InteractionMenuAction)));
                InteractionMenuAction action = (InteractionMenuAction)Enum.GetValues(typeof(InteractionMenuAction)).GetValue(interactionIndex);
                HandleObjectInteraction(gameObject, action);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Pulls up the entity menu, and handles that interaction
        /// </summary>
        private void HandleEntityMenu()
        {
            int entityIndex = 0;
            Npc entity      = view.DisplayInteractNpc(universe, player.CurrentLocation);

            //
            // in case the location is empty
            //
            if (entity != null)
            {
                entityIndex = view.DrawGetMenuOption(ActionMenu.GetEnumMenu(typeof(NpcMenuAction)));
                NpcMenuAction action = (NpcMenuAction)Enum.GetValues(typeof(NpcMenuAction)).GetValue(entityIndex);
                HandleNpcInteraction(entity, action);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Does everything for the main menu
        /// </summary>
        private void HandleMainMenu()
        {
            int        index  = view.DrawGetMenuOption(ActionMenu.GetEnumMenu(typeof(MenuAction)));
            MenuAction action = (MenuAction)Enum.GetValues(typeof(MenuAction)).GetValue(index);

            switch (action)
            {
            case MenuAction.LocationsVisited:
                view.DisplayLocations("Locations Visited: ", player.LocationsVisited);
                break;

            case MenuAction.Travel:
                Travel();
                break;

            case MenuAction.LookAround:
                view.DisplayLocationLookAround(universe, player.CurrentLocation);
                break;

            case MenuAction.Interact:
                HandleInteractionMenu();
                break;

            case MenuAction.InterfaceWith:
                HandleEntityMenu();
                break;

            case MenuAction.Abilities:
                HandleAbilityMenu();
                break;

            case MenuAction.AdminMenu:
                HandleAdminMenu();
                break;

            case MenuAction.Exit:
                playing = false;
                break;

            default:
                break;
            }
        }