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

            return(false);
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
0
        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
        }
Ejemplo n.º 7
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]);
            }
        }