internal bool ConvertServerHeroRuneInfo(ref ActorServerRuneData serverData, ActorRunelSlot runeSlot, COMDT_CHOICEHERO serverHeroInfo) { if (runeSlot >= ActorRunelSlot.SlotMaxCount) { return(false); } serverData.RuneSlot = runeSlot; if (serverHeroInfo != null) { serverData.RuneId = serverHeroInfo.SymbolID[(int)((UIntPtr)runeSlot)]; } return(true); }
public virtual bool GetActorServerRuneData(ref ActorMeta actorMeta, ActorRunelSlot runeSlot, ref ActorServerRuneData runeData) { return(false); }
public override bool GetActorServerRuneData(ref ActorMeta actorMeta, ActorRunelSlot runeSlot, ref ActorServerRuneData runeData) { runeData.TheActorMeta = actorMeta; ListView <COMDT_CHOICEHERO> inSearchList = null; if (!this._serverCachedInfo.TryGetValue(actorMeta.PlayerId, ref inSearchList)) { return(false); } int configId = actorMeta.ConfigId; return(this.ConvertServerHeroRuneInfo(ref runeData, runeSlot, this.Find(inSearchList, (COMDT_CHOICEHERO hero) => (ulong)hero.stBaseInfo.stCommonInfo.dwHeroID == (ulong)((long)configId)))); }