/// <summary> /// 해당 개발 데이터가 비서함 조건을 만족하고 있는지를 구합니다. /// </summary> public bool ItemAssistantCheck(ItemStringLists itemdata) { if (Item_Assistant == null || Item_Assistant == "" || itemdata.Assistant.Contains(Item_Assistant)) { return(true); } return(false); }
/// <summary> /// 해당 개발 데이터가 레시피 조건을 만족하고 있는지를 구합니다. /// </summary> public bool ItemRecipeCheck(ItemStringLists itemdata) { if ((Item_Fuel == 0 || itemdata.Fuel == Item_Fuel) && (Item_Bullet == 0 || itemdata.Bullet == Item_Bullet) && (Item_Steel == 0 || itemdata.Steel == Item_Steel) && (Item_Bauxite == 0 || itemdata.Bauxite == Item_Bauxite)) { return(true); } return(false); }
private void LogToBin(LogType Type, string format, params object[] args) { string MainFolder = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); if (!Directory.Exists(Path.Combine(MainFolder, "Bin"))) { Directory.CreateDirectory(Path.Combine(MainFolder, "Bin")); } #region BuildItem if (Type == LogType.BuildItem) { var binPath = Path.Combine(MainFolder, "Bin", "ItemBuild2.bin"); var item = new ItemStringLists(); item.Date = args[0].ToString(); item.Assistant = args[1].ToString(); item.Fuel = Convert.ToInt32(args[2].ToString()); item.Bullet = Convert.ToInt32(args[3].ToString()); item.Steel = Convert.ToInt32(args[4].ToString()); item.bauxite = Convert.ToInt32(args[5].ToString()); if (args[6].ToString() == "NA") { item.Results = string.Empty; } else { item.Results = args[6].ToString(); } using (var fileStream = new FileStream(binPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) using (var writer = new BinaryWriter(fileStream)) { writer.Seek(0, SeekOrigin.End); writer.Write(item.Date); writer.Write(item.Assistant); writer.Write(item.Fuel); writer.Write(item.Bullet); writer.Write(item.Steel); writer.Write(item.bauxite); writer.Write(item.Results); fileStream.Dispose(); fileStream.Close(); writer.Dispose(); writer.Close(); } } #endregion #region BuildShip else if (Type == LogType.BuildShip) { var binPath = Path.Combine(MainFolder, "Bin", "ShipBuild2.bin"); var item = new BuildStirngLists(); item.Date = args[0].ToString(); item.Assistant = args[1].ToString(); item.Fuel = Convert.ToInt32(args[2].ToString()); item.Bullet = Convert.ToInt32(args[3].ToString()); item.Steel = Convert.ToInt32(args[4].ToString()); item.bauxite = Convert.ToInt32(args[5].ToString()); item.UseItems = Convert.ToInt32(args[6].ToString()); item.Results = args[7].ToString(); using (var fileStream = new FileStream(binPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) using (var writer = new BinaryWriter(fileStream)) { writer.Seek(0, SeekOrigin.End); writer.Write(item.Date); writer.Write(item.Assistant); writer.Write(item.Fuel); writer.Write(item.Bullet); writer.Write(item.Steel); writer.Write(item.bauxite); writer.Write(item.UseItems); writer.Write(item.Results); fileStream.Dispose(); fileStream.Close(); writer.Dispose(); writer.Close(); } } #endregion #region ShipDrop else if (Type == LogType.ShipDrop) { var binPath = Path.Combine(MainFolder, "Bin", "Drop2.bin"); var item = new DropStringLists(); item.Date = args[0].ToString(); item.SeaArea = args[1].ToString(); item.MapInfo = args[2].ToString(); item.Boss = args[3].ToString(); item.EnemyFleet = args[4].ToString(); item.Rank = args[5].ToString(); item.Drop = args[6].ToString(); using (var fileStream = new FileStream(binPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) using (var writer = new BinaryWriter(fileStream)) { writer.Seek(0, SeekOrigin.End); writer.Write(item.Date); writer.Write(item.SeaArea); writer.Write(item.MapInfo); writer.Write(item.Boss); writer.Write(item.EnemyFleet); writer.Write(item.Rank); writer.Write(item.Drop); fileStream.Dispose(); fileStream.Close(); writer.Dispose(); writer.Close(); } } #endregion }
public List <ItemStringLists> ReturnItemList(string FileName, bool IsNavi, bool ReturnAll = false) { var items = new List <ItemStringLists>(); var pagingList = new List <List <ItemStringLists> >(); var bytes = File.ReadAllBytes(FileName); using (var memoryStream = new MemoryStream(bytes)) using (var reader = new BinaryReader(memoryStream)) { while (memoryStream.Position < memoryStream.Length) { var item = new ItemStringLists { Date = reader.ReadString(), Assistant = reader.ReadString(), Fuel = reader.ReadInt32(), Bullet = reader.ReadInt32(), Steel = reader.ReadInt32(), Bauxite = reader.ReadInt32(), Results = reader.ReadString(), }; //item.Results = KanColleClient.Current.Translations.GetTranslation(item.Results, TranslationType.Equipment, true); //item.Assistant = KanColleClient.Current.Translations.GetTranslation(item.Assistant, TranslationType.ShipTypes, true); items.Add(item); } memoryStream.Dispose(); memoryStream.Close(); reader.Dispose(); reader.Close(); } items = ItemListFilter(items); if (ReturnAll == true) { return(items); } int Page = 0, i = 0; do { if (i + 20 < items.Count) { pagingList.Add(items.GetRange(i, 20)); Page++; } else { pagingList.Add(items.GetRange(i, items.Count - Page * 20)); } i = i + 20; } while (i < items.Count); this.ItemMaxPage = Page; if (this.ItemPages >= ItemMaxPage) { this.ItemPages = this.ItemMaxPage; } if (IsNavi) { return(pagingList[this.ItemPages]); } else { this.ItemPages = this.ItemMaxPage; return(pagingList[this.ItemMaxPage]); } }