public void OnDungeonSelected(object sender, GestureEventArgs e)
        {
            var selectedGrid = sender as Grid;
            var dungeonId = (int)selectedGrid.Tag;
            _selectedDungeon = GetDungeon(dungeonId);

            var heroRepository = new HeroRepository();
            _heroesOwnedByPlayer = heroRepository.GetHeroesOwnedByPlayer().Count;

            var playerRepository = new PlayerRepository();
            _player = playerRepository.GetPlayer();

            if (PlayerCanEnterDungeon())
            {
                _player.Stam.Current = _player.Stam.Current - _selectedDungeon.StaminaCost;
                playerRepository.SavePlayer(_player);
                MessageBus.Default.Notify("EnterDungeon", new Object(), new NotificationEventArgs(dungeonId.ToString()));
            }
            else
            {
                var errorModalControl = GetErrorMessage();
                var errorModal = new ModalContainer(errorModalControl);
                errorModal.Show();
            }
        }
예제 #2
0
        public void LaunchDeleteHeroModal(object sender, GestureEventArgs e)
        {
            var heroToDelete = GetHeroToDelete(sender);

            var deleteHeroConfirmationModal = new Modals.DeleteHeroConfirmation(heroToDelete);
            deleteHeroConfirmationModal.CloseModal += RemoveDeletedHeroFromScreen;
            var deleteHeroModal = new ModalContainer(deleteHeroConfirmationModal);
            deleteHeroModal.Show();
        }