예제 #1
0
        private static ModVM GetModVM(PlayerMod mod, bool showCheckbox)
        {
            var model = new ModVM();

            model.IsInModSet   = mod.IsInModSet();
            model.ShowCheckbox = showCheckbox;
            model.Id           = mod.Id;
            model.Pips         = mod.Pips;

            model.Set    = (ModSets)mod.SetId;
            model.Slot   = (ModSlots)mod.SlotId;
            model.ModImg = GetModImg(model.Set, model.Slot);

            model.CharacterId   = mod.PlayerCharacter?.Unit?.Id ?? 0;
            model.CharacterName = mod.PlayerCharacter?.Unit?.Name ?? "Unassigned";
            model.CharacterUrl  = GetCharacterUrl(mod);
            model.CharacterImg  = mod.PlayerCharacter?.Unit?.Image ?? "/Content/Images/unassigned.jpg";

            model.PrimaryType = mod.PrimaryTypeId;

            if (mod.PrimaryType != null)
            {
                model.Primary = $"+{GetModStatValue(mod.PrimaryValue, (ModStatUnits)mod.PrimaryUnitsId)} {GetPrimaryModStatTypeName(mod.PrimaryType)}";
            }

            if (mod.Secondary1Type != null)
            {
                model.Secondary1 = $"+{GetModStatValue(mod.Secondary1Value, (ModStatUnits)mod.Secondary1UnitsId)} {GetModStatTypeName(mod.Secondary1Type)}";
            }

            if (mod.Secondary2Type != null)
            {
                model.Secondary2 = $"+{GetModStatValue(mod.Secondary2Value, (ModStatUnits)mod.Secondary2UnitsId)} {GetModStatTypeName(mod.Secondary2Type)}";
            }

            if (mod.Secondary3Type != null)
            {
                model.Secondary3 = $"+{GetModStatValue(mod.Secondary3Value, (ModStatUnits)mod.Secondary3UnitsId)} {GetModStatTypeName(mod.Secondary3Type)}";
            }

            if (mod.Secondary4Type != null)
            {
                model.Secondary4 = $"+{GetModStatValue(mod.Secondary4Value, (ModStatUnits)mod.Secondary4UnitsId)} {GetModStatTypeName(mod.Secondary4Type)}";
            }

            model.Speed             = mod.Speed();
            model.CritChance        = mod.CritChance();
            model.CritDamage        = mod.CritDamage();
            model.FlatOffense       = mod.FlatOffense();
            model.PercentageOffense = mod.PercentageOffense();
            model.Potency           = mod.Potency();
            model.Accuracy          = mod.Accuracy();

            model.FlatProtection       = mod.FlatProtection();
            model.PercentageProtection = mod.PercentageProtection();
            model.FlatHealth           = mod.FlatHealth();
            model.PercentageHealth     = mod.PercentageHealth();
            model.FlatDefense          = mod.FlatDefense();
            model.PercentageDefense    = mod.PercentageDefense();
            model.Tenacity             = mod.Tenacity();
            model.CritAvoidance        = mod.CritAvoid();

            return(model);
        }