using System.Collections.Generic;
using Common.Utility.CombatEvent;
using Excel2Json;
using Fort23.Core;
using Fort23.UTool;
namespace GameLogic.Hero
{
public class HeroInfo : CombatHeroInfo
{
private string _iconZhiYe;
///
/// 是否为主力英雄
///
public bool isLead;
public HeroInfo()
{
EventManager.Instance.AddEventListener(CustomEventType.HeroEquip, OnHeroEquip);
}
private void OnHeroEquip(IEventData e)
{
HeroEquipEventData data = e as HeroEquipEventData;
if (data.zy == modelConfig.profession)
{
CalAttribute();
HeroPowerUpEventData eventData = HeroPowerUpEventData.Create();
eventData.heroModelID = modelID;
eventData.isSkillUp = false;
eventData.upType = HeroUpType.BasicEquip;
EventManager.Instance.Dispatch(CustomEventType.HeroPowerUp, eventData);
}
}
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);
CalAttribute();
}
public HeroInfo Upgrade()
{
level.Value++;
powerUpConfig = ConfigComponent.Instance.Get(level.Value);
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;
}
}
}