/// <summary> /// 해당 건조 데이터가 레시피 조건을 만족하고 있는지를 구합니다. /// </summary> public bool BuildRecipeCheck(BuildStirngLists builddata) { if ((Build_Fuel == 0 || builddata.Fuel == Build_Fuel) && (Build_Bullet == 0 || builddata.Bullet == Build_Bullet) && (Build_Steel == 0 || builddata.Steel == Build_Steel) && (Build_Bauxite == 0 || builddata.Bauxite == Build_Bauxite)) return true; return false; }
/// <summary> /// 해당 건조 데이터가 대형함 조건을 만족하고 있는지를 구합니다. /// </summary> public bool BuildLargeShipCheck(BuildStirngLists builddata) { if (Build_LargeShip == null) return true; if (Build_LargeShip == true && IsLargeShipRecipe(builddata)) return true; if (Build_LargeShip == false && !IsLargeShipRecipe(builddata)) return true; return false; }
/// <summary> /// 해당 건조 데이터가 개발자재 조건을 만족하고 있는지를 구합니다. /// </summary> public bool BuildItemCheck(BuildStirngLists builddata) { if (Build_ItemAll) return true; if (Build_Item1 && builddata.UseItems == 1) return true; if (Build_Item20 && builddata.UseItems == 20) return true; if (Build_Item100 && builddata.UseItems == 100) return true; return false; }
/// <summary> /// 해당 건조 데이터가 비서함 조건을 만족하고 있는지를 구합니다. /// </summary> public bool BuildAssistantCheck(BuildStirngLists builddata) { if (Build_Assistant == null || Build_Assistant == "" || builddata.Assistant.Contains(Build_Assistant)) return true; return false; }
public List<BuildStirngLists> ReturnBuildList(string FileName, bool IsNavi, bool ReturnAll = false) { var items = new List<BuildStirngLists>(); var pagingList = new List<List<BuildStirngLists>>(); 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 BuildStirngLists { Date = reader.ReadString(), Assistant = reader.ReadString(), Fuel = reader.ReadInt32(), Bullet = reader.ReadInt32(), Steel = reader.ReadInt32(), Bauxite = reader.ReadInt32(), UseItems = reader.ReadInt32(), Results = reader.ReadString(), }; //item.Results = KanColleClient.Current.Translations.GetTranslation(item.Results, TranslationType.Ships, true); items.Add(item); } memoryStream.Dispose(); memoryStream.Close(); reader.Dispose(); reader.Close(); } items = BuildListFilter(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.BuildMaxPage = Page; if (this.BuildPages >= BuildMaxPage) this.BuildPages = this.BuildMaxPage; if (IsNavi) return pagingList[this.BuildPages]; else { this.BuildPages = this.BuildMaxPage; return pagingList[this.BuildMaxPage]; } }
/// <summary> /// 해당 건조 데이터의 레시피가 대형함 건조 레시피인지를 구합니다. /// </summary> public bool IsLargeShipRecipe(BuildStirngLists builddata) { if (builddata.Fuel >= 1500 || builddata.Bullet >= 1500 || builddata.Steel >= 2000 || builddata.Bauxite >= 1000) return true; return false; }