using System;
using System.Collections.Generic;
using Excel2Json;
using Fort23.UTool;
namespace GameLogic.Hero
{
public class FaBaoInfo
{
///
/// 星级
///
public int star;
public FabaoConfig FabaoConfig;
public FabaoPowerupConfig FabaoPowerupConfig;
public SkillConfig SkillConfig;
public float[] effectValue;
public long qiangDu;
public Dictionary attriButedIC = new Dictionary();
public AccountFileInfo.FaBaoData FaBaoData;
public FaBaoInfo(AccountFileInfo.FaBaoData faBaoData)
{
CustomInit(faBaoData);
}
public void UpGrade()
{
FaBaoData.level++;
CustomInit(FaBaoData);
AccountFileInfo.Instance.SavePlayerData();
}
public FaBaoInfo(int id, int powerupId, int start = 1)
{
FaBaoData = new AccountFileInfo.FaBaoData();
FaBaoData.level= powerupId;
FaBaoData.id = id;
// FaBaoData.useIndex = start;
FabaoConfig = ConfigComponent.Instance.Get(id);
FabaoPowerupConfig = ConfigComponent.Instance.Get(powerupId);
SkillConfig = ConfigComponent.Instance.Get(FabaoConfig.SkillGroupID * 10 + FabaoPowerupConfig.SkillLevel - 1);
effectValue = new float[SkillConfig.effectValue.Length];
Array.Copy(SkillConfig.effectValue, effectValue, SkillConfig.effectValue.Length);
attriButedIC.Clear();
//计算加得属性
for (var i = 0; i < FabaoConfig.ShuxingIDs.Length; i++)
{
long attribute = GetAttriBute(FabaoConfig.ShuxingIDs[i]);
long value = (long)(attribute * FabaoConfig.ShuxingPara[0] * 0.01f);
attriButedIC.Add(FabaoConfig.ShuxingIDs[i], value);
}
qiangDu = (long)(FabaoPowerupConfig.Power * SkillConfig.power * 0.01f);
}
public void CustomInit(AccountFileInfo.FaBaoData faBaoData)
{
FaBaoData = faBaoData;
FabaoConfig = ConfigComponent.Instance.Get(faBaoData.id);
FabaoPowerupConfig = ConfigComponent.Instance.Get(faBaoData.level);
SkillConfig = ConfigComponent.Instance.Get(FabaoConfig.SkillGroupID * 10 + FabaoPowerupConfig.SkillLevel - 1);
effectValue = new float[SkillConfig.effectValue.Length];
Array.Copy(SkillConfig.effectValue, effectValue, SkillConfig.effectValue.Length);
attriButedIC.Clear();
//计算加得属性
for (var i = 0; i < FabaoConfig.ShuxingIDs.Length; i++)
{
long attribute = GetAttriBute(FabaoConfig.ShuxingIDs[i]);
long value = (long)(attribute * FabaoConfig.ShuxingPara[0] * 0.01f);
attriButedIC.Add(FabaoConfig.ShuxingIDs[i], value);
}
qiangDu = (long)(FabaoPowerupConfig.Power * SkillConfig.power * 0.01f);
}
private long GetAttriBute(int type)
{
switch (type)
{
case 1:
return FabaoPowerupConfig.HP;
case 2:
return FabaoPowerupConfig.HP;
case 3:
return FabaoPowerupConfig.HP;
}
return 0;
}
}
}