/// <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); }
/// <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); }