using UnityEngine; using UnityEngine.PlayerLoop; public partial class TeamHero { public HeroInfo heroInfo; public TeamBase teamBase; public int heroIndex; // 战场数据 public uint ObjID = 0;// 战斗单位唯一ID public uint NPCID = 0;// 战斗NPCID,不同的实例ID对应的NPCID可能一样 public TeamHero() { } public TeamHero(HB424_tagSCTurnFightInit.tagSCTurnFightObj fightObj, TeamBase _teamBase) { heroInfo = new HeroInfo(fightObj); teamBase = _teamBase; if (fightObj.PosNum < 0 || fightObj.PosNum >= TeamConst.MaxTeamSlotCount) { Debug.LogError("Invalid PosNum: " + fightObj.PosNum); } else { teamBase.teamHeros[fightObj.PosNum] = this; // 将当前对象添加到对应位置 } ObjID = fightObj.ObjID; NPCID = fightObj.NPCID; // HPEx * 1亿 + HP curHp = (long)fightObj.HPEx * GeneralDefine.HundredMillion +(long)fightObj.HP; maxHp = (long)fightObj.MaxHPEx * GeneralDefine.HundredMillion +(long)fightObj.MaxHP; rage = (int)fightObj.AngreXP; heroIndex = fightObj.PosNum; Update(); } public void Update() { } // 最终属性 当前属性应该是要在这一层的 public int GetPower() { return heroInfo.CalculatePower(); } }