コード例 #1
0
        /// <summary>
        /// Save the assigned item and close the popup
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void PopupSaveButton_Clicked(object sender, EventArgs e)
        {
            var             itemId        = ((Button)sender).CommandParameter;
            var             characterName = AssignItemPicker.SelectedItem.ToString();
            var             character     = CharacterIndexViewModel.Instance.GetCharacterByName(characterName);
            PlayerInfoModel player        = new PlayerInfoModel(character);

            var characterFoundIndex = BattleEngineViewModel.Instance.Engine.EngineSettings.CharacterList.FindIndex(c => c.Name == player.Name);

            BattleEngineViewModel.Instance.Engine.EngineSettings.CharacterList.RemoveAt(characterFoundIndex);

            // Add item to character
            var item         = ItemIndexViewModel.Instance.GetItem((string)itemId);
            var itemLocation = ItemTypeEnumHelper.GetLocationFromItemType(item.ItemType);

            player = AddItemToCharacter(player, itemLocation, item);

            // Remove item from dropped list and add to selected item list.
            var itemIndex = BattleEngineViewModel.Instance.Engine.EngineSettings.BattleScore.ItemModelDropList.FindIndex(i => i.Id == (string)itemId);

            BattleEngineViewModel.Instance.Engine.EngineSettings.BattleScore.ItemModelDropList.RemoveAt(itemIndex);
            BattleEngineViewModel.Instance.Engine.EngineSettings.BattleScore.ItemModelSelectList.Add(item);

            // Add updated player back to view model
            BattleEngineViewModel.Instance.Engine.EngineSettings.CharacterList.Add(player);

            DrawItemLists();

            PopupLoadingView.IsVisible = false;
        }
コード例 #2
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_Diploma_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.Diploma);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.OffHand, result);
        }
コード例 #3
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_Calculator_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.Calculator);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.LeftFinger, result);
        }
コード例 #4
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_GraduationCapAndRobe_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.GraduationCapAndRobe);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.Head, result);
        }
コード例 #5
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_FoodCourtCard_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.FoodCourtCard);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.Necklace, result);
        }
コード例 #6
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_IndexCards_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.IndexCards);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.RightFinger, result);
        }
コード例 #7
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_Laptop_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.Laptop);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.PrimaryHand, result);
        }
コード例 #8
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_PrivateTutor_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.PrivateTutor);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.Necklace, result);
        }
コード例 #9
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_Skateboard_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.Skateboard);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.Feet, result);
        }
コード例 #10
0
        public void ItemTypeEnumHelperTests_GetLocationFromItemType_Unknown_Should_Pass()
        {
            // Arrange

            // Act
            var result = ItemTypeEnumHelper.GetLocationFromItemType(ItemTypeEnum.Unknown);

            // Reset

            // Assert
            Assert.AreEqual(ItemLocationEnum.Unknown, result);
        }
コード例 #11
0
        public void ItemTypeEnumHelper_GetLocationByPosition_1_Should_Pass()
        {
            // Arrange

            var item = ItemTypeEnum.PencilEraser;

            // Act
            var Actual   = ItemTypeEnumHelper.GetLocationFromItemType(item);
            var Expected = ItemLocationEnum.PrimaryHand;

            // Assert
            Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name);
        }
コード例 #12
0
        /// <summary>
        /// Save by calling for Create
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public async void Save_Clicked(object sender, EventArgs e)
        {
            // if the name or description are not entered, the page remains on the create screen
            if (string.IsNullOrEmpty(ViewModel.Data.Name) || string.IsNullOrEmpty(ViewModel.Data.Description))
            {
                await Navigation.PushModalAsync(new NavigationPage(new ItemUpdatePage(ViewModel)));

                await Navigation.PopModalAsync();
            }
            // otherwise it creates and saves the new item
            else
            {
                var itemType     = ItemTypePicker.SelectedItem.ToString();
                var itemTypeEnum = ItemTypeEnumHelper.ConvertMessageStringToEnum(itemType);
                ViewModel.Data.ItemType = itemTypeEnum;
                ViewModel.Data.Damage   = ItemTypeEnumHelper.GetDamageFromItemType(itemTypeEnum);
                ViewModel.Data.ImageURI = ItemTypeEnumHelper.GetImageURIFromItemType(itemTypeEnum);
                ViewModel.Data.Location = ItemTypeEnumHelper.GetLocationFromItemType(itemTypeEnum);

                MessagingCenter.Send(this, "Create", ViewModel.Data);
                await Navigation.PopModalAsync();
            }
        }