示例#1
0
        private int TalkToAction()
        {
            int enemyId       = 0;
            int npcToTalkToId = _gameConsoleView.DisplayGetNpcToTalkTo();

            if (npcToTalkToId != 0)
            {
                Npc npc = _gameUniverse.GetNpcById(npcToTalkToId);
                if (npc is Civilian)
                {
                    Civilian civilian = npc as Civilian;
                    _gameTraveler.ExperiencePoints += civilian.ExperiencePoints;
                    _gameTraveler.Health           += civilian.HealthPoints;

                    if (civilian.HasKey)
                    {
                        foreach (SpaceTimeLocation location in _gameUniverse.SpaceTimeLocations)
                        {
                            if (!location.Accessible)
                            {
                                location.Accessible = true;
                            }
                        }
                    }

                    _gameConsoleView.DisplayTalkTo(npc);
                }
                else if (npc is Enemy)
                {
                    Enemy enemy = npc as Enemy;
                    ActionMenu.currentMenu = ActionMenu.CurrentMenu.AttackMenu;
                    _gameConsoleView.DisplayTalkToEnemy(enemy);
                    enemyId = enemy.Id;
                }
            }

            return(enemyId);
        }
示例#2
0
        /// <summary>
        /// process the Talk To action
        /// </summary>
        private void TalkToAction()
        {
            //
            // display a list of NPCs in space-time location and get a player choice
            //
            int npcToTalkToId = _gameConsoleView.DisplayGetNpcToTalkTo();

            //
            // display NPC's message
            //
            if (npcToTalkToId != 0)
            {
                //
                // get the NPC from the universe
                //
                Npc npc = _gameUniverse.GetNpcById(npcToTalkToId);

                //
                // display information for the object chosen
                //
                _gameConsoleView.DisplayTalkTo(npc);
            }
        }