public bool SetCharKindInfo(ref CHARKIND_INFO pkCHARKIND_INFO) { if (pkCHARKIND_INFO == null) { return(false); } int cHARKIND = pkCHARKIND_INFO.CHARKIND; if (cHARKIND <= 0 || cHARKIND >= 5000) { return(false); } this.m_kCharKindInfo[cHARKIND] = new NrCharKindInfo(this.m_kTempData); this.m_kCharKindInfo[cHARKIND].SetCharKindInfo(ref pkCHARKIND_INFO, this.m_kCharDataCodeInfo.GetCharTribe(pkCHARKIND_INFO.CharTribe)); string text = this.m_kCharKindInfo[cHARKIND].GetCode(); text = text.ToLower(); if (!this.m_dicCharCodeInfo.ContainsKey(text)) { this.m_dicCharCodeInfo.Add(text, cHARKIND); } string name = this.m_kCharKindInfo[cHARKIND].GetName(); if (!this.m_dicCharNameInfo.ContainsKey(name)) { this.m_dicCharNameInfo.Add(name, cHARKIND); } string bundleName = this.m_kCharKindInfo[cHARKIND].GetBundleName(); if (!this.m_dicBundleNameInfo.ContainsKey(bundleName)) { this.m_dicBundleNameInfo.Add(bundleName, cHARKIND); } string aniBundleName = this.m_kCharKindInfo[cHARKIND].GetAniBundleName(); if (!this.m_kCharAniMapInfoList.ContainsKey(aniBundleName)) { NkCharAniMapInfo nkCharAniMapInfo = new NkCharAniMapInfo(); nkCharAniMapInfo.AddCharKind(cHARKIND); this.m_kCharAniMapInfoList.Add(aniBundleName, nkCharAniMapInfo); } else { NkCharAniMapInfo nkCharAniMapInfo = this.m_kCharAniMapInfoList[aniBundleName]; nkCharAniMapInfo.AddCharKind(cHARKIND); } if (this.m_kCharKindInfo[cHARKIND].IsATB(1L)) { this.AddPlayerCode(this.m_kCharKindInfo[cHARKIND].GetBundlePath()); } this.m_nTotalCharKindInfoNum++; return(true); }
public void SetAniInfo(ref CHARKIND_ANIINFO aniinfo) { int weaponkey = 0; NrCharKindInfo nrCharKindInfo = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfoFromBundleName(aniinfo.BUNDLENAME); if (nrCharKindInfo != null && nrCharKindInfo.IsATB(1L)) { int weaponType = NrTSingleton <NkWeaponTypeInfoManager> .Instance.GetWeaponType(aniinfo.WEAPONTYPE); if (weaponType != nrCharKindInfo.GetWeaponType()) { weaponkey = 1; } } int charAniTypeForEvent = (int)this.m_kCharDataCodeInfo.GetCharAniTypeForEvent(aniinfo.ANITYPE); int charAniEvent = (int)this.m_kCharDataCodeInfo.GetCharAniEvent(aniinfo.EVENTTYPE); NkCharAniInfo charAniInfo = this.GetCharAniInfo(aniinfo.BUNDLENAME); if (charAniInfo != null) { charAniInfo.SetAniEventTime(weaponkey, charAniTypeForEvent, charAniEvent, aniinfo.EVENTTIME); NkCharAniMapInfo charAniMapInfo = this.GetCharAniMapInfo(aniinfo.BUNDLENAME); if (charAniMapInfo != null) { List <int> charKindList = charAniMapInfo.GetCharKindList(); foreach (int current in charKindList) { nrCharKindInfo = this.GetCharKindInfo(current); if (nrCharKindInfo != null) { nrCharKindInfo.SetAniInfo(ref charAniInfo); } } } } }