public static ItemModel GetItemModelFromCatalogItem(string itemId, string itemClass, string displayName, string description, string customData, IJsonParser jsonParser) { ItemModel itemModel = null; PlayFabItemClass playFabItemClass = (PlayFabItemClass)Enum.Parse(typeof(PlayFabItemClass), itemClass); switch (playFabItemClass) { case PlayFabItemClass.Ability: itemModel = parseAbilityItemModel(customData, jsonParser); break; case PlayFabItemClass.Equipment: itemModel = parseEquipmentItemModel(customData, jsonParser); break; } if (itemModel != null) { itemModel.ID = int.Parse(itemId); itemModel.Name = displayName; itemModel.Description = description; ItemModelRaw itemModelRaw = jsonParser.DeserializeObject <ItemModelRaw>(customData); itemModelRaw.ApplyToItemModel(itemModel); } return(itemModel); }
private static ItemModel parseEquipmentItemModel(string customData, IJsonParser jsonParser) { EquipmentItemModel equipmentItemModel = new EquipmentItemModel(); EquipmentItemModelRaw equipmentItemModelRaw = jsonParser.DeserializeObject <EquipmentItemModelRaw>(customData); equipmentItemModelRaw.ApplyToEquipmentItemModel(equipmentItemModel); return(equipmentItemModel); }
private static AbilityItemModel parseAbilityItemModel(string customData, IJsonParser jsonParser) { AbilityItemModel abilityItemModel = new AbilityItemModel(); AbilityItemModelRaw abilityItemModelRaw = jsonParser.DeserializeObject <AbilityItemModelRaw>(customData); abilityItemModelRaw.ApplyToAbilityItemModel(abilityItemModel, jsonParser); return(abilityItemModel); }
public void ApplyToAbilityItemModel(AbilityItemModel abilityItemModel, IJsonParser jsonParser) { abilityItemModel.AbilityEffectType = (AbilityEffectType)int.Parse(AbilityEffectType); abilityItemModel.AbilityTargetType = (AbilityTargetType)int.Parse(AbilityTargetType); abilityItemModel.AbilityDurationType = (AbilityDurationType)int.Parse(AbilityDurationType); abilityItemModel.CastTurns = int.Parse(CastTurns); abilityItemModel.CoolDownTurns = int.Parse(CoolDownTurns); abilityItemModel.ImmediateAmout = int.Parse(ImmediateAmout); abilityItemModel.IsSpellBased = int.Parse(IsSpellBased) == 1; AbilityDurationDataRaw abilityDurationDataRaw = string.IsNullOrEmpty(AbilityDurationData) ? null : jsonParser.DeserializeObject <AbilityDurationDataRaw>(AbilityDurationData); if (abilityDurationDataRaw != null) { abilityItemModel.AbilityDurationData = new AbilityDurationData(); abilityDurationDataRaw.ApplyToDurationData(abilityItemModel.AbilityDurationData, abilityItemModel); } }