Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        /// <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;
        }
Exemplo n.º 4
0
        /// <summary>
        /// 해당 건조 데이터가 비서함 조건을 만족하고 있는지를 구합니다.
        /// </summary>
        public bool BuildAssistantCheck(BuildStirngLists builddata)
        {
            if (Build_Assistant == null || Build_Assistant == "" || builddata.Assistant.Contains(Build_Assistant))
                return true;

            return false;
        }
Exemplo n.º 5
0
        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];
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 해당 건조 데이터의 레시피가 대형함 건조 레시피인지를 구합니다.
        /// </summary>
        public bool IsLargeShipRecipe(BuildStirngLists builddata)
        {
            if (builddata.Fuel >= 1500 || builddata.Bullet >= 1500 || builddata.Steel >= 2000 || builddata.Bauxite >= 1000)
                return true;

            return false;
        }