public Recipe(BinaryReader reader) { Rarity = (RecipeRarity)reader.ReadInt32(); InternalName = reader.ReadString(); ExternalName = reader.ReadString(); Enhancement = reader.ReadString(); Item = new RecipeEntry[reader.ReadInt32() + 1]; for (var index1 = 0; index1 < Item.Length; index1++) { Item[index1] = new RecipeEntry { Level = reader.ReadInt32(), BuyCost = reader.ReadInt32(), CraftCost = reader.ReadInt32(), BuyCostM = reader.ReadInt32(), CraftCostM = reader.ReadInt32() }; var num = reader.ReadInt32(); Item[index1].Salvage = new string[num + 1]; Item[index1].Count = new int[num + 1]; Item[index1].SalvageIdx = new int[num + 1]; for (var index2 = 0; index2 < Item[index1].Salvage.Length; ++index2) { Item[index1].Salvage[index2] = reader.ReadString(); Item[index1].Count[index2] = reader.ReadInt32(); Item[index1].SalvageIdx[index2] = reader.ReadInt32(); Item[index1].RecipeIdx[index2] = reader.ReadInt32(); } } //IsGeneric = reader.ReadBoolean(); //IsVirtual = reader.ReadBoolean(); //IsHidden = reader.ReadBoolean(); }
public Recipe(ref Recipe iRecipe) { Rarity = iRecipe.Rarity; InternalName = iRecipe.InternalName; ExternalName = iRecipe.ExternalName; Enhancement = iRecipe.Enhancement; EnhIdx = iRecipe.EnhIdx; Item = new RecipeEntry[iRecipe.Item.Length]; IsVirtual = iRecipe.IsVirtual; IsGeneric = iRecipe.IsGeneric; IsHidden = iRecipe.IsHidden; for (var index1 = 0; index1 < iRecipe.Item.Length; index1++) { Item[index1] = new RecipeEntry { Level = iRecipe.Item[index1].Level, BuyCost = iRecipe.Item[index1].BuyCost, CraftCost = iRecipe.Item[index1].CraftCost, BuyCostM = iRecipe.Item[index1].BuyCostM, CraftCostM = iRecipe.Item[index1].CraftCostM, Salvage = new string[iRecipe.Item[index1].Salvage.Length], SalvageIdx = new int[iRecipe.Item[index1].Salvage.Length], Count = new int[iRecipe.Item[index1].Salvage.Length] }; for (var index2 = 0; index2 <= Item[index1].Salvage.Length - 1; ++index2) { Item[index1].Salvage[index2] = iRecipe.Item[index1].Salvage[index2]; Item[index1].SalvageIdx[index2] = iRecipe.Item[index1].SalvageIdx[index2]; Item[index1].Count[index2] = iRecipe.Item[index1].Count[index2]; } } }
public Recipe(BinaryReader reader) { Rarity = (RecipeRarity)reader.ReadInt32(); InternalName = reader.ReadString(); ExternalName = reader.ReadString(); Enhancement = reader.ReadString(); Item = new RecipeEntry[reader.ReadInt32() + 1]; for (int index1 = 0; index1 < Item.Length; ++index1) { Item[index1] = new RecipeEntry { Level = reader.ReadInt32(), BuyCost = reader.ReadInt32(), CraftCost = reader.ReadInt32(), BuyCostM = reader.ReadInt32(), CraftCostM = reader.ReadInt32() }; int num = reader.ReadInt32(); Item[index1].Salvage = new string[num + 1]; Item[index1].Count = new int[num + 1]; Item[index1].SalvageIdx = new int[num + 1]; for (int index2 = 0; index2 < Item[index1].Salvage.Length; ++index2) { Item[index1].Salvage[index2] = reader.ReadString(); Item[index1].Count[index2] = reader.ReadInt32(); Item[index1].SalvageIdx[index2] = reader.ReadInt32(); } } }