using System.Collections.Generic; using Common.Utility.CombatEvent; using Excel2Json; using Fort23.Core; using Fort23.UTool; namespace GameLogic.Hero { public class HeroInfo : CombatHeroInfo { public SkillData SkillData; private string _iconZhiYe; /// /// 是否为主力英雄 /// public bool isLead; /// /// 技能数据 /// // public SkillData SkillData; public string GetZyIconName() { if (string.IsNullOrEmpty(_iconZhiYe)) { switch (modelConfig.profession) { case 1 : _iconZhiYe = "icon_zy_Shield"; break; case 2 : _iconZhiYe = "icon_zy_Hat"; break; case 3 : _iconZhiYe = "icon_zy_Potion"; break; case 4 : _iconZhiYe = "icon_zy_Bow"; break; } } return _iconZhiYe; } public HeroInfo() { EventManager.Instance.AddEventListener(CustomEventType.HeroPowerUp, OnHeroPowerUp); } private void OnHeroPowerUp(IEventData e) { HeroPowerUpEventData data = e as HeroPowerUpEventData; if (data.upType == HeroUpType.BasicEquip) { CalAttribute(); } } public void InitHero(AccountFileInfo.HeroData heroData) { // modelID = heroData.heroModelId; isLead = heroData.isLead; InitHero(heroData.heroModelId, heroData.heroPowerId, heroData.heroPromoteId); // SetDataConfig(heroData.heroModelId, // heroData.heroPowerId, // heroData.heroPromoteId); // CalFactor(); // CalAttribute(); // SkillData = new SkillData(this); // SkillData.InitSkills(); } public void InitHero(int modelID, int powerID, int promoteID) { this.modelID = modelID; SetDataConfig(modelID, powerID, promoteID); CalFactor(); CalAttribute(); SkillData = new SkillData(this); SkillData.InitSkills(); } public HeroInfo Upgrade() { level.Value++; powerUpConfig = ConfigComponent.Instance.Get(level.Value); CalFactor(); CalBasicAttribute(); return this; } public HeroInfo Promote() { star.Value++; promoteConfig = ConfigComponent.Instance.Get(star.Value); CalFactor(); CalBasicAttribute(); return this; } public AccountFileInfo.HeroData ToHeroData() { AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData { heroModelId = modelConfig.ID, heroPowerId = powerUpConfig.ID, heroPromoteId = promoteConfig.ID, isLead = isLead, }; return heroData; } } }