using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Text; namespace vnxbqy.UI { public class SkillDetails { public static SkillSourceType sourceType { get; private set; } public static SkillConfig skillConfig { get; private set; } public static int godWeaponType { get; private set; } public static int godWeaponEffectStage { get; private set; } public static List skillDescriptions = new List(); public static string skillSource { get; private set; } public static int fightPower { get; private set; } static MagicianModel godWeaponModel { get { return ModelCenter.Instance.GetModel(); } } static SignInModel signInModel { get { return ModelCenter.Instance.GetModel(); } } static MountModel mountModel { get { return ModelCenter.Instance.GetModel(); } } static PetModel petModel { get { return ModelCenter.Instance.GetModel(); } } public static void ShowSkillDetails(int skillId, SkillSourceType type, int fightPower, params string[] infos) { SkillDetails.fightPower = fightPower; sourceType = type; skillConfig = SkillConfig.Get(skillId); skillDescriptions.Clear(); switch (type) { case SkillSourceType.GodWeaponSkill: { skillSource = infos[0]; skillDescriptions.Add(skillConfig.Description); skillDescriptions.Add(infos[1]); } break; case SkillSourceType.PlayerSkill: { skillSource = skillConfig.SkillName; skillDescriptions.Add(skillConfig.Description); } break; case SkillSourceType.MountSkill: { skillDescriptions.Add(infos[0]); if (GeneralDefine.signInPromoteSkills.Contains(skillId)) { var label = string.Empty; var property = skillConfig.EffectValue11; var value = skillConfig.EffectValue12; var propertyConfig = PlayerPropertyConfig.Get(property); if (mountModel.IsSkillUnlock(skillId)) { label = Language.Get("SignInPromoteSkill_2", signInModel.totalSignInCount, signInModel.totalSignInCount * value, propertyConfig.Name); } else { label = Language.Get("SignInPromoteSkill_1", signInModel.totalSignInCount, signInModel.totalSignInCount * value, propertyConfig.Name); } if (!string.IsNullOrEmpty(label)) { skillDescriptions.Add(label); } } skillDescriptions.Add(infos[1]); } break; case SkillSourceType.PetSkill: { skillDescriptions.Add(infos[0]); if (GeneralDefine.signInPromoteSkills.Contains(skillId)) { var label = string.Empty; var property = skillConfig.EffectValue11; var value = skillConfig.EffectValue12; var propertyConfig = PlayerPropertyConfig.Get(property); if (petModel.IsSkillUnlock(skillId)) { label = Language.Get("SignInPromoteSkill_2", signInModel.totalSignInCount, signInModel.totalSignInCount * value, propertyConfig.Name); } else { label = Language.Get("SignInPromoteSkill_1", signInModel.totalSignInCount, signInModel.totalSignInCount * value, propertyConfig.Name); } if (!string.IsNullOrEmpty(label)) { skillDescriptions.Add(label); } } skillDescriptions.Add(infos[1]); } break; case SkillSourceType.ViewHorsePet: { skillDescriptions.Add(infos[0]); skillDescriptions.Add(infos[1]); } break; case SkillSourceType.BlastFurnace: { skillSource = infos[0]; skillDescriptions.Add(skillConfig.Description); } break; case SkillSourceType.DogzSkill: { skillDescriptions.Add(skillConfig.Description); } break; case SkillSourceType.JadeDynastySkill: { skillDescriptions.Add(skillConfig.Description); } break; } if (!WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Open(); } } public enum SkillSourceType { GodWeaponSkill, PlayerSkill, PetSkill, MountSkill, BlastFurnace, ViewHorsePet, DogzSkill, JadeDynastySkill, //后续IL开发添加预设 default1, default2, default3, default4, default5, default6, default7, default8, default9, default10, } } }