void ReadRoleData() { DataDBSBagItem.Read(GetDataPath(GTDataKey.Data_BagItems), EDataKeyType.Pos); DataDBSEquip.Read(GetDataPath(GTDataKey.Data_Equips), EDataKeyType.Instance); DataDBSDressEquip.Read(GetDataPath(GTDataKey.Data_DressEquips), EDataKeyType.Pos); DataDBSMoney.Read(GetDataPath(GTDataKey.Data_Moneys), EDataKeyType.Id); DataDBSAction.Read(GetDataPath(GTDataKey.Data_Actions), EDataKeyType.Id); DataDBSSoul.Read(GetDataPath(GTDataKey.Data_Souls), EDataKeyType.Id); DataDBSBagGem.Read(GetDataPath(GTDataKey.Data_BagGems), EDataKeyType.Pos); DataDBSGem.Read(GetDataPath(GTDataKey.Data_Gems), EDataKeyType.Instance); DataDBSDressGem.Read(GetDataPath(GTDataKey.Data_DressGems), EDataKeyType.Pos); DataDBSBagChip.Read(GetDataPath(GTDataKey.Data_BagChips), EDataKeyType.Pos); DataDBSBagFashion.Read(GetDataPath(GTDataKey.Data_BagFashions), EDataKeyType.Pos); DataDBSBagRune.Read(GetDataPath(GTDataKey.Data_BagRunes), EDataKeyType.Pos); DataDBSDressRune.Read(GetDataPath(GTDataKey.Data_DressRunes), EDataKeyType.Pos); DataDBSDressFashion.Read(GetDataPath(GTDataKey.Data_DressFashions), EDataKeyType.Pos); DataDBSRune.Read(GetDataPath(GTDataKey.Data_Runes), EDataKeyType.Instance); DataDBSCopy.Read(GetDataPath(GTDataKey.Data_Copys), EDataKeyType.Id); DataDBSMainChapter.Read(GetDataPath(GTDataKey.Data_MainChapters), EDataKeyType.Id); DataDBSRaid.Read(GetDataPath(GTDataKey.Data_Raid), EDataKeyType.Id); DataDBSPartner.Read(GetDataPath(GTDataKey.Data_Partners), EDataKeyType.Id); DataDBSMount.Read(GetDataPath(GTDataKey.Data_Mounts), EDataKeyType.Id); DataDBSRelics.Read(GetDataPath(GTDataKey.Data_Relics), EDataKeyType.Id); DataDBSPet.Read(GetDataPath(GTDataKey.Data_Pets), EDataKeyType.Id); DataDBSGuide.Read(GetDataPath(GTDataKey.Data_Guides), EDataKeyType.Id); DataDBSThreadTask.Read(GetDataPath(GTDataKey.Data_MainTasks), EDataKeyType.Id); DataDBSBranchTask.Read(GetDataPath(GTDataKey.Data_BranchTasks), EDataKeyType.Id); DataDBSDailyTask.Read(GetDataPath(GTDataKey.Data_DailyTasks), EDataKeyType.Id); }
void DumpRoleData() { DataDBSMoney.Clear(); DataDBSAction.Clear(); DataDBSSoul.Clear(); DataDBSBagItem.Clear(); DataDBSBagGem.Clear(); DataDBSBagChip.Clear(); DataDBSBagRune.Clear(); DataDBSBagFashion.Clear(); DataDBSDressEquip.Clear(); DataDBSDressFashion.Clear(); DataDBSDressGem.Clear(); DataDBSDressRune.Clear(); DataDBSEquip.Clear(); DataDBSGem.Clear(); DataDBSRune.Clear(); DataDBSMainChapter.Clear(); DataDBSCopy.Clear(); DataDBSRaid.Clear(); DataDBSRelics.Clear(); DataDBSMount.Clear(); DataDBSPartner.Clear(); DataDBSPet.Clear(); DataDBSGuide.Clear(); DataDBSThreadTask.Clear(); DataDBSBranchTask.Clear(); DataDBSDailyTask.Clear(); }
static void CalcAllGemPropertys(Dictionary <EAttr, int> dict) { Dictionary <int, XItem> .Enumerator em = DataDBSDressGem.Dict.GetEnumerator(); while (em.MoveNext()) { int dressPos = em.Current.Key; int index = MLGem.Instance.GetIndexByDressGemPos(dressPos); if (!DataDBSDressEquip.ContainsKey(index)) { continue; } int instanceID = em.Current.Value.Instance; if (!DataDBSGem.ContainsKey(instanceID)) { continue; } XGem gem = DataDBSGem.GetDataById(instanceID); Dictionary <EAttr, int> .Enumerator em2 = GetPropertys(gem).GetEnumerator(); while (em2.MoveNext()) { dict[em2.Current.Key] += em2.Current.Value; } em2.Dispose(); } em.Dispose(); }
public bool IsCanBeUseAsStrengthenMatToAutoAdd(XItem item) { XGem gem = DataDBSGem.GetDataById(item.Instance); DGem gemDB = ReadCfgGem.GetDataById(gem.Id); return(gemDB.Quality < 3); }
public static Dictionary <EAttr, int> GetAllGemPropertysByIndex(int index) { if (!DataDBSDressEquip.ContainsKey(index)) { return(New()); } Dictionary <EAttr, int> attrValues = New(); for (int i = 1; i <= 5; i++) { int gemPos = MLGem.Instance.GetDressGemPosByIndexAndTargetPos(index, i); XItem item = DataDBSDressGem.GetDataById(gemPos); if (item == null) { continue; } XGem gem = DataDBSGem.GetDataById(item.Instance); if (gem != null) { continue; } CalcGemStrenthLevel(attrValues, gem); } CalcMaxAttrValue(ref attrValues); return(attrValues); }
public bool DelBagGem(int pos) { XItem item = DataDBSBagGem.GetDataById(pos); if (item == null) { return(false); } DataDBSBagGem.Delete(pos); DataDBSGem.Delete(item.Instance); return(true); }
private void OnAck_StrengthGem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckStrengthGem ack = Serializer.Deserialize <AckStrengthGem>(ms); XGem gem = ack.TarGem; List <XItem> list = ack.UseItems; DGem gemDB = ReadCfgGem.GetDataById(gem.Id); int addExpNum = MLGem.Instance.GetExpByStrengthMatList(list); int strengthenLevel = gem.StrengthenLevel; int levelID = gemDB.Quality * 1000 + strengthenLevel + 1; DGemLevel db = ReadCfgGemLevel.GetDataById(levelID); int expNum = db.RequireExp - gem.StrengthenExp; while (addExpNum >= expNum) { strengthenLevel++; levelID = gemDB.Quality * 1000 + strengthenLevel + 1; db = ReadCfgGemLevel.GetDataById(levelID); expNum += db.RequireExp; } gem.StrengthenLevel = strengthenLevel; gem.StrengthenExp = addExpNum + db.RequireExp - expNum; DataDBSGem.Update(gem.Instance, gem); GTDataManager.Instance.UseMoney(db.CostMoneyId, expNum); for (int i = 0; i < list.Count; i++) { XItem item = list[i]; EPosType posType = (EPosType)item.PosType; switch (posType) { case EPosType.BagItem: GTDataManager.Instance.UseItemById(item.Id, item.Num); break; case EPosType.BagGem: GTDataManager.Instance.DelBagGem(item.Pos); break; } } GTWorld.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_BAG_STRENGTHEN_GEM); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }
public void AddNewGem(int instance, int id) { int newPos = GetNewPos(EBagType.GEM); if (newPos == 0) { return; } XItem item = new XItem(); item.Instance = instance; item.Pos = newPos; item.Id = id; item.Num = 1; item.PosType = (int)EPosType.BagGem; DataDBSBagGem.Insert(newPos, item); DataDBSGem.Insert(instance, GTDataFactory.CreateGem(id, instance)); }
public int CompareXGem(XItem x1, XItem x2) { XGem e1 = DataDBSGem.GetDataById(x1.Instance); XGem e2 = DataDBSGem.GetDataById(x2.Instance); DGem db1 = ReadCfgGem.GetDataById(e1.Id); DGem db2 = ReadCfgGem.GetDataById(e2.Id); if (db1.Quality != db2.Quality) { return(db1.Quality - db2.Quality); } if (e1.StrengthenLevel != e2.StrengthenLevel) { return(e1.StrengthenLevel - e2.StrengthenLevel); } if (e1.StrengthenExp != e2.StrengthenExp) { return(e1.StrengthenExp - e2.StrengthenExp); } return(x2.Pos - x1.Pos); }
public int CompareBagGem(XItem x1, XItem x2) { DItem itemDB1 = ReadCfgItem.GetDataById(x1.Id); DItem itemDB2 = ReadCfgItem.GetDataById(x2.Id); if (itemDB1.Quality != itemDB2.Quality) { return(itemDB2.Quality - itemDB1.Quality); } if (itemDB1.Id != itemDB2.Id) { return(itemDB1.Id - itemDB2.Id); } XGem gem1 = DataDBSGem.GetDataById(x1.Instance); XGem gem2 = DataDBSGem.GetDataById(x2.Instance); if (gem1.StrengthenLevel != gem2.StrengthenLevel) { return(gem1.StrengthenLevel - gem2.StrengthenLevel); } return(x1.Instance - x2.Instance); }
public int GetExpByStrengthMatList(List <XItem> list) { int value = 0; for (int i = 0; i < list.Count; i++) { XItem item = list[i]; switch ((EPosType)item.PosType) { case EPosType.BagItem: DItem itemDB = ReadCfgItem.GetDataById(item.Id); value += itemDB.Data1 * item.Num; break; case EPosType.BagGem: XGem gem = DataDBSGem.GetDataById(item.Instance); value += GetExpByXGem(gem); break; } } return(value); }
public int GetActiveSameSuitsCountByPos(int pos) { if (!DataDBSDressGem.ContainsKey(pos)) { return(0); } XItem dressGem = DataDBSDressGem.GetDataById(pos); if (!DataDBSGem.ContainsKey(dressGem.Instance)) { return(0); } XGem gem = DataDBSGem.GetDataById(dressGem.Instance); int p = (int)(pos / 5.1f); List <int> sameSuits = GetSameSuitIDListByID(gem.Id); int count = 0; for (int i = 0; i < sameSuits.Count; i++) { int suitPos = p * 5 + i + 1; if (!DataDBSDressGem.ContainsKey(suitPos)) { continue; } XItem item = DataDBSDressGem.GetDataById(suitPos); if (!DataDBSGem.ContainsKey(item.Instance)) { continue; } XGem g = DataDBSGem.GetDataById(item.Instance); if (sameSuits.Contains(g.Id)) { count++; } } return(count); }