/// <summary> /// Save the newly created character and close this page /// </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 CharacterUpdatePage(ViewModel))); await Navigation.PopModalAsync(); } // otherwise it creates and saves the new character else { ViewModel.Data.PlayerType = PlayerTypeEnum.Character; ViewModel.Data.SpecificCharacterTypeEnum = SpecificCharacterTypeEnumHelper.ConvertMessageStringToEnum(CharacterTypePicker.SelectedItem.ToString()); ViewModel.Data.CharacterTypeEnum = SpecificCharacterTypeEnumHelper.GetCharacterTypeEnumFromSpecificCharacterTypeEnum(ViewModel.Data.SpecificCharacterTypeEnum); ViewModel.Data.ImageURI = SpecificCharacterTypeEnumHelper.ToImageURI(ViewModel.Data.SpecificCharacterTypeEnum); ViewModel.Data.SpecialAbility = SpecificCharacterTypeEnumHelper.ToAbility(ViewModel.Data.SpecificCharacterTypeEnum); ViewModel.Data.Range = SpecificCharacterTypeEnumHelper.ToRange(ViewModel.Data.SpecificCharacterTypeEnum); MessagingCenter.Send(this, "Create", ViewModel.Data); foreach (var item in newItems) { MessagingCenter.Send(this, "CreateItem", item); } await Navigation.PopModalAsync(); } }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_SmartyPants_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.SmartyPants); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeSmartyPantsImageURI, result); }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_Procrastinator_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.Procrastinator); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeProcrastinatorImageURI, result); }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_Overachiever_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.Overachiever); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeOverachieverImageURI, result); }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_InternationalStudent_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.InternationalStudent); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeInternationalStudentImageURI, result); }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_HelicopterParent_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.HelicopterParent); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeHelicopterParentImageURI, result); }
public void SpecificCharacterTypeEnumHelperTests_ToImageURI_Unknown_Should_Pass() { // Arrange // Act var result = SpecificCharacterTypeEnumHelper.ToImageURI(SpecificCharacterTypeEnum.Unknown); // Reset // Assert Assert.AreEqual(Constants.SpecificCharacterTypeDefaultImageURI, result); }
/// <summary> /// Create Random Character for the battle. This method is specific to our game flavor - Escaping School.Creates a parent. /// </summary> /// <param name="MaxLevel"></param> /// <returns></returns> public static CharacterModel GetRandomCharacterParent(int MaxLevel) { var result = new CharacterModel() { Level = DiceHelper.RollDice(1, MaxLevel), // Randomize Name Name = GetCharacterName(), Description = GetCharacterDescriptionParent(), CharacterTypeEnum = CharacterTypeEnum.Parent, // Randomize the Attributes Attack = GetAbilityValue(), Speed = GetAbilityValue(), Defense = GetAbilityValue(), // Randomize an Item for Location. Parents don't have heads or feet. Necklace = GetItem(ItemLocationEnum.Necklace), PrimaryHand = GetItem(ItemLocationEnum.PrimaryHand), OffHand = GetItem(ItemLocationEnum.OffHand), RightFinger = GetItem(ItemLocationEnum.Finger), LeftFinger = GetItem(ItemLocationEnum.Finger), }; var specifictype = DiceHelper.RollDice(1, 2); if (specifictype % 2 == 0) { result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.CoolParent; } if (specifictype % 2 != 0) { result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.HelicopterParent; } result.ImageURI = SpecificCharacterTypeEnumHelper.ToImageURI(result.SpecificCharacterTypeEnum); result.TileImageURI = SpecificCharacterTypeEnumHelper.ToTileImageURI(result.SpecificCharacterTypeEnum); result.MaxHealth = DiceHelper.RollDice(MaxLevel, 10); // Level up to the new level result.LevelUpToValue(result.Level); // Enter Battle at full health result.CurrentHealth = result.MaxHealth; return(result); }
/// <summary> /// Create Random Character for the battle. This method is specific to our game flavor - Escaping School.Creates a parent. /// </summary> /// <param name="MaxLevel"></param> /// <returns></returns> public static CharacterModel GetRandomCharacterStudent(int MaxLevel) { var result = new CharacterModel() { Level = DiceHelper.RollDice(1, MaxLevel), // Randomize Name Name = GetCharacterName(), Description = GetCharacterDescriptionParent(), CharacterTypeEnum = CharacterTypeEnum.Student, // Randomize the Attributes Attack = GetAbilityValue(), Speed = GetAbilityValue(), Defense = GetAbilityValue(), // Randomize an Item for Location. Parents don't have heads or feet. Necklace = GetItem(ItemLocationEnum.Necklace), PrimaryHand = GetItem(ItemLocationEnum.PrimaryHand), OffHand = GetItem(ItemLocationEnum.OffHand), RightFinger = GetItem(ItemLocationEnum.Finger), LeftFinger = GetItem(ItemLocationEnum.Finger), }; var specifictype = DiceHelper.RollDice(1, 7); switch (specifictype) { case 1: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.InternationalStudent; break; case 2: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.Overachiever; break; case 3: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.Procrastinator; break; case 4: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.Prodigy; break; case 5: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.SecondCareer; break; case 6: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.Slacker; break; case 7: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.SmartyPants; break; default: result.SpecificCharacterTypeEnum = SpecificCharacterTypeEnum.Unknown; break; } result.ImageURI = SpecificCharacterTypeEnumHelper.ToImageURI(result.SpecificCharacterTypeEnum); result.TileImageURI = SpecificCharacterTypeEnumHelper.ToTileImageURI(result.SpecificCharacterTypeEnum); result.MaxHealth = DiceHelper.RollDice(MaxLevel, 10); // Level up to the new level result.LevelUpToValue(result.Level); // Enter Battle at full health result.CurrentHealth = result.MaxHealth; return(result); }