Beispiel #1
0
        /// <summary>属性检查</summary>
        /// <param name="type">检查类型</param>
        /// <param name="role_state">武将类型</param>
        /// <param name="att">属性值</param>
        /// <param name="ischeck">是否检查</param>
        private static Double CheckValue(RoleCheckType type, int role_state, Double att, bool ischeck = true)
        {
            var max = att;

            if (!ischeck)
            {
                return(att);
            }
            switch (type)
            {
                #region
            case RoleCheckType.LifeSkill: { return(att); }

            case RoleCheckType.Vocation:
            {
                max = GetRuleRole(role_state == (int)RoleStateType.PROTAGONIST ? "7012" : "7018");
                return(att > max ? max : att);
            }

            case RoleCheckType.Level:
            {
                max = GetRuleRole(role_state == (int)RoleStateType.PROTAGONIST ? "7014" : "0");
                return(att > max ? max : att);
            }

            case RoleCheckType.Train:
            {
                max = GetRuleRole(role_state == (int)RoleStateType.PROTAGONIST ? "7013" : "7019");
                return(att > max ? max : att);
            }

            case RoleCheckType.Spirit:
            {
                max = GetRuleRole("7015");
                return(att > max ? max : att);
            }

            case RoleCheckType.Equip:
            {
                max = GetRuleRole("7016");
                return(att > max ? max : att);
            }

            case RoleCheckType.Title:
            {
                max = GetRuleRole("7017");
                return(att > max ? max : att);
            }
                #endregion
            }
            return(att);
        }
Beispiel #2
0
        /// <summary>检查总属性值</summary>
        /// <param name="type"></param>
        /// <param name="surplus"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        private static Double CheckTotal(RoleAttributeType att_type, RoleCheckType type, Double surplus, view_role model)
        {
            var list = new List <AttributeItem>();

            switch (type)
            {
                #region
            case RoleCheckType.Spirit:
            {
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CAPTAIN, value = model.base_captain_spirit
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_FORCE, value = model.base_force_spirit
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_GOVERN, value = model.base_govern_spirit
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_BRAINS, value = model.base_brains_spirit
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CHARM, value = model.base_charm_spirit
                    });
                break;
            }

            case RoleCheckType.Equip:
            {
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CAPTAIN, value = model.base_captain_equip
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_FORCE, value = model.base_force_equip
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_GOVERN, value = model.base_govern_equip
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_BRAINS, value = model.base_brains_equip
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CHARM, value = model.base_charm_equip
                    });
                break;
            }

            case RoleCheckType.Title:
            {
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CAPTAIN, value = model.base_captain_title
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_FORCE, value = model.base_force_title
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_GOVERN, value = model.base_govern_title
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_BRAINS, value = model.base_brains_title
                    });
                list.Add(new AttributeItem {
                        type = RoleAttributeType.ROLE_CHARM, value = model.base_charm_title
                    });
                break;
            }
                #endregion
            }

            var sur = list.Where(m => m.value < surplus).OrderBy(m => m.value);
            if (sur.Any())
            {
                var _s = surplus;
                foreach (var item in sur)
                {
                    var i = _s - item.value;
                    if (i < 0)
                    {
                        return(item.type == att_type ? i : 0);
                    }
                    _s = i;
                }
            }


            return(0);
        }