public void OnSelfDefineRcmdEquipChange(CSDT_HERO_EQUIPLIST svrEquipList) { uint dwHeroId = svrEquipList.dwHeroId; stRcmdEquipListInfo stRcmdEquipListInfo; if (this.m_customRecommendEquipDictionary.TryGetValue(dwHeroId, ref stRcmdEquipListInfo)) { stRcmdEquipListInfo.ListItem[(int)((uint)((UIntPtr)svrEquipList.dwEquipIndex))].bSelfDefine = true; for (int i = 0; i < 6; i++) { stRcmdEquipListInfo.ListItem[(int)((uint)((UIntPtr)svrEquipList.dwEquipIndex))].EquipId[i] = (ushort)svrEquipList.stEquipInfo.EquipID[i]; } this.m_customRecommendEquipDictionary.set_Item(dwHeroId, stRcmdEquipListInfo); } else { stRcmdEquipListInfo defaultRcmdEquipListInfo = this.GetDefaultRcmdEquipListInfo(dwHeroId, svrEquipList.dwEquipIndex); defaultRcmdEquipListInfo.ListItem[(int)((uint)((UIntPtr)svrEquipList.dwEquipIndex))].bSelfDefine = true; for (int j = 0; j < 6; j++) { defaultRcmdEquipListInfo.ListItem[(int)((uint)((UIntPtr)svrEquipList.dwEquipIndex))].EquipId[j] = (ushort)svrEquipList.stEquipInfo.EquipID[j]; } this.m_customRecommendEquipDictionary.Add(dwHeroId, defaultRcmdEquipListInfo); } }
public static stRcmdEquipListInfo ConvertCltRcmdEquipListInfo(COMDT_HERO_EQUIPLIST_NEW svrRcmdEquipList) { stRcmdEquipListInfo result = new stRcmdEquipListInfo(0u); if (svrRcmdEquipList != null) { result.CurUseID = svrRcmdEquipList.dwCurUsed; for (int i = 0; i < 3; i++) { result.ListItem[i].bSelfDefine = (svrRcmdEquipList.astEquipList[i].bSelfDefine > 0); result.ListItem[i].Name = CCustomRcmdEquipInfo.GetRcmdEquipPlanName(i, svrRcmdEquipList.astEquipList[i].stEquipName); if (result.ListItem[i].EquipId == null) { result.ListItem[i].EquipId = new ushort[6]; } if (result.ListItem[i].bSelfDefine) { for (int j = 0; j < 6; j++) { result.ListItem[i].EquipId[j] = (ushort)svrRcmdEquipList.astEquipList[i].stEquipInfo.EquipID[j]; } } else { CCustomRcmdEquipInfo.SetDefaultRcmdEquip(ref result.ListItem[i].EquipId, svrRcmdEquipList.dwHeroId, (uint)i); } } } return(result); }
private stRcmdEquipListInfo GetDefaultRcmdEquipListInfo(uint heroId, uint curUseId) { stRcmdEquipListInfo result = new stRcmdEquipListInfo(curUseId); for (uint num = 0u; num < 3u; num += 1u) { result.ListItem[(int)((uint)((UIntPtr)num))].bSelfDefine = false; CCustomRcmdEquipInfo.SetDefaultRcmdEquip(ref result.ListItem[(int)((uint)((UIntPtr)num))].EquipId, heroId, num); } return(result); }
public void InitializeCustomRecommendEquip(COMDT_SELFDEFINE_EQUIP_INFO selfDefineEquipInfo) { if (this.m_customRecommendEquipDictionary == null) { this.m_customRecommendEquipDictionary = new Dictionary <uint, stRcmdEquipListInfo>(); } this.m_customRecommendEquipDictionary.Clear(); this.m_customRecommendEquipsLastChangedHeroID = selfDefineEquipInfo.dwLastChgHeroId; int num = 0; while ((long)num < (long)((ulong)selfDefineEquipInfo.dwHeroNumNew)) { COMDT_HERO_EQUIPLIST_NEW cOMDT_HERO_EQUIPLIST_NEW = selfDefineEquipInfo.astEquipInfoListNew[num]; if (this.m_customRecommendEquipDictionary.ContainsKey(cOMDT_HERO_EQUIPLIST_NEW.dwHeroId)) { this.m_customRecommendEquipDictionary.Remove(cOMDT_HERO_EQUIPLIST_NEW.dwHeroId); } stRcmdEquipListInfo stRcmdEquipListInfo = CCustomRcmdEquipInfo.ConvertCltRcmdEquipListInfo(cOMDT_HERO_EQUIPLIST_NEW); this.m_customRecommendEquipDictionary.Add(cOMDT_HERO_EQUIPLIST_NEW.dwHeroId, stRcmdEquipListInfo); num++; } }