public override bool GetActorStaticSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { skillData.TheActorMeta = actorMeta; skillData.SkillSlot = skillSlot; ActorStaticDataProviderBase.ActorSkillDataBuilder actorSkillDataBuilder = null; this._actorSkillDataBuilder.TryGetValue((uint)actorMeta.ActorType, out actorSkillDataBuilder); return(actorSkillDataBuilder != null && actorSkillDataBuilder(ref actorMeta, skillSlot, ref skillData)); }
protected virtual bool BuildOrganSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { ResOrganCfgInfo dataCfgInfoByCurLevelDiff = OrganDataHelper.GetDataCfgInfoByCurLevelDiff(skillData.TheActorMeta.ConfigId); if (dataCfgInfoByCurLevelDiff == null) { base.ErrorMissingOrganConfig((uint)skillData.TheActorMeta.ConfigId); return(false); } if (skillSlot >= (ActorSkillSlot)dataCfgInfoByCurLevelDiff.SkillIDs.Length) { return(false); } skillData.SkillId = dataCfgInfoByCurLevelDiff.SkillIDs[(int)skillSlot]; skillData.PassiveSkillId = 0; return(skillData.SkillId > 0); }
protected virtual bool BuildMonsterSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { ResMonsterCfgInfo dataCfgInfo = MonsterDataHelper.GetDataCfgInfo(skillData.TheActorMeta.ConfigId, (int)skillData.TheActorMeta.Difficuty); if (dataCfgInfo == null) { dataCfgInfo = MonsterDataHelper.GetDataCfgInfo(skillData.TheActorMeta.ConfigId, 1); } if (dataCfgInfo == null) { base.ErrorMissingMonsterConfig((uint)skillData.TheActorMeta.ConfigId); return(false); } if (skillSlot >= (ActorSkillSlot)dataCfgInfo.SkillIDs.Length) { return(false); } skillData.SkillId = dataCfgInfo.SkillIDs[(int)skillSlot]; skillData.PassiveSkillId = dataCfgInfo.PassiveSkillID[(int)skillSlot]; return(skillData.SkillId > 0 || skillData.PassiveSkillId > 0); }
protected virtual bool BuildHeroSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey((uint)skillData.TheActorMeta.ConfigId); if (dataByKey == null) { base.ErrorMissingHeroConfig((uint)skillData.TheActorMeta.ConfigId); return(false); } if (skillSlot >= (ActorSkillSlot)dataByKey.astSkill.Length) { return(false); } skillData.PassiveSkillId = dataByKey.astSkill[(int)skillSlot].iPassiveSkillID; skillData.SkillId = dataByKey.astSkill[(int)skillSlot].iSkillID; return(skillData.SkillId > 0); }
public virtual bool GetActorStaticSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { return(false); }
protected virtual bool BuildMonsterSkillData(ref ActorMeta actorMeta, ActorSkillSlot skillSlot, ref ActorStaticSkillData skillData) { int index = (int)skillSlot; ResMonsterCfgInfo dataCfgInfo = MonsterDataHelper.GetDataCfgInfo(skillData.TheActorMeta.ConfigId, skillData.TheActorMeta.Difficuty); if (dataCfgInfo == null) { base.ErrorMissingMonsterConfig((uint)skillData.TheActorMeta.ConfigId); return(false); } if (index >= dataCfgInfo.SkillIDs.Length) { return(false); } skillData.SkillId = dataCfgInfo.SkillIDs[index]; skillData.PassiveSkillId = dataCfgInfo.PassiveSkillID[index]; return((skillData.SkillId > 0) || (skillData.PassiveSkillId > 0)); }