Example #1
0
        public Grass2SingledBillboardClan Load(string rootPath, IntVector2 billboardImageSize)
        {
            var pathGenerator = new Grass2BillboardClanFilesManagerPathGenerator(rootPath);
            var infoFile      =
                JsonUtility.FromJson <Grass2BillboardInfoJson>(File.ReadAllText(pathGenerator.CreateInfoFilePath()));

            var billboardsList = new List <DetailedGrass2SingleBillboard>();

            int i = 0;

            foreach (var bladesCount in infoFile.BladesCountList)
            {
                var tex = SavingFileManager.LoadPngTextureFromFile(pathGenerator.CreateBillboardFilePath(i),
                                                                   billboardImageSize.X, billboardImageSize.Y, TextureFormat.ARGB32, true, true);
                tex.filterMode = FilterMode.Point;
                tex.wrapMode   = TextureWrapMode.Clamp;

                billboardsList.Add(new DetailedGrass2SingleBillboard()
                {
                    BladesCount = bladesCount,
                    Texture     = tex
                });
                i++;
            }

            return(new Grass2SingledBillboardClan()
            {
                BillboardsList = billboardsList
            });
        }
Example #2
0
        public void Save(string rootPath, Grass2SingledBillboardClan clan)
        {
            var billboardsList = clan.BillboardsList;
            var pathGenerator  = new Grass2BillboardClanFilesManagerPathGenerator(rootPath);
            var infoFile       = new Grass2BillboardInfoJson()
            {
                BladesCountList = billboardsList.Select(c => c.BladesCount).ToList()
            };

            File.WriteAllText(pathGenerator.CreateInfoFilePath(), JsonUtility.ToJson(infoFile));

            int i = 0;

            foreach (var billboard in billboardsList)
            {
                SavingFileManager.SaveTextureToPngFile(pathGenerator.CreateBillboardFilePath(i), billboard.Texture);
                i++;
            }
        }