/// <summary> /// Genetate the A1_Tile or the water tile from a sprite sheet image that contais all the tile /// </summary> /// <param name="frame1"></param> /// <param name="frame2"></param> /// <param name="frame3"></param> /// <param name="rule_tiles"></param> /// <param name="wBlock"></param> public static void Generate_A1_Water_Tile_SS(string source_File_Path, string frame1, string frame2, string frame3, Dictionary <byte, int> rule_tiles, int wBlock) { //create the auto tile for the animation water string atile_path = string.Format(@"{0}/_{1}/{2}.asset", Tiles_Utility.Auto_Tile_Folder_Path, Path.GetFileNameWithoutExtension(source_File_Path), Path.GetFileNameWithoutExtension(frame1)); string dir = string.Format(@"{0}/_{1}", Tiles_Utility.Auto_Tile_Folder_Path, Path.GetFileNameWithoutExtension(source_File_Path)); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } //A1_Water_Tile atile = new A1_Water_Tile(); A1_Water_Tile atile = ScriptableObject.CreateInstance <A1_Water_Tile>(); if (File.Exists(atile_path)) { atile = AssetDatabase.LoadAssetAtPath <A1_Water_Tile>(atile_path); } EditorUtility.SetDirty(atile); if (atile != null) { atile.frame1 = new Sprite[256]; atile.frame2 = new Sprite[256]; atile.frame3 = new Sprite[256]; object[] vars1 = AssetDatabase.LoadAllAssetsAtPath(frame1); object[] vars2 = AssetDatabase.LoadAllAssetsAtPath(frame2); object[] vars3 = AssetDatabase.LoadAllAssetsAtPath(frame3); int cc = 0; foreach (var kvp in rule_tiles) { Sprite tmp1 = vars1[kvp.Value + 1] as Sprite; Sprite tmp2 = vars2[kvp.Value + 1] as Sprite; Sprite tmp3 = vars3[kvp.Value + 1] as Sprite; if (cc == 0) //setting the sprite for the tile palette { cc++; atile.sprite = tmp1; atile.preview = tmp1; } atile.frame1[kvp.Key] = tmp1; atile.frame2[kvp.Key] = tmp2; atile.frame3[kvp.Key] = tmp3; } } if (File.Exists(atile_path)) { AssetDatabase.SaveAssets(); } else { AssetDatabase.CreateAsset(atile, atile_path); } }
/// <summary> /// Genetate the A1_Tile or the water tile from the 3 single image tile /// </summary> /// <param name="tile_path1"></param> /// <param name="tile_path2"></param> /// <param name="tile_path3"></param> /// <param name="rule_tiles"></param> /// <param name="wBlock"></param> public static void Generate_A1_Water_Tile(string source_File_Path, string frame1, string frame2, string frame3, Dictionary <byte, int> rule_tiles, int wBlock) { //create the auto tile for the animation water string atile_path = string.Format(@"{0}/_{1}/{2}.asset", Tiles_Utility.Auto_Tile_Folder_Path, Path.GetFileNameWithoutExtension(source_File_Path), Path.GetFileNameWithoutExtension(frame1)); string dir = string.Format(@"{0}/_{1}", Tiles_Utility.Auto_Tile_Folder_Path, Path.GetFileNameWithoutExtension(source_File_Path)); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } A1_Water_Tile atile = ScriptableObject.CreateInstance <A1_Water_Tile>(); if (File.Exists(atile_path)) { atile = AssetDatabase.LoadAssetAtPath <A1_Water_Tile>(atile_path); } EditorUtility.SetDirty(atile); if (atile != null) { atile.frame1 = new Sprite[256]; atile.frame2 = new Sprite[256]; atile.frame3 = new Sprite[256]; string[] tiles1 = Directory.GetFiles(frame1, "*.png"); foreach (var fTile in tiles1) { Tiles_Utility.//set the image importer setting Set_Impoter_Settings(fTile, wBlock); } string[] tiles2 = Directory.GetFiles(frame2, "*.png"); foreach (var fTile in tiles2) { //set the image importer setting Tiles_Utility.Set_Impoter_Settings(fTile, wBlock); } string[] tiles3 = Directory.GetFiles(frame3, "*.png"); foreach (var fTile in tiles3) { //set the image importer setting Tiles_Utility.Set_Impoter_Settings(fTile, wBlock); } int cc = 0; foreach (var kvp in rule_tiles) { Sprite tmp1 = AssetDatabase.LoadAssetAtPath <Sprite>(tiles1[kvp.Value]); Sprite tmp2 = AssetDatabase.LoadAssetAtPath <Sprite>(tiles2[kvp.Value]); Sprite tmp3 = AssetDatabase.LoadAssetAtPath <Sprite>(tiles3[kvp.Value]); if (cc == 0) //setting the sprite for the tile palette { cc++; atile.sprite = tmp1; atile.preview = tmp1; } atile.frame1[kvp.Key] = tmp1; atile.frame2[kvp.Key] = tmp2; atile.frame3[kvp.Key] = tmp3; } } if (File.Exists(atile_path)) { AssetDatabase.SaveAssets(); } else { AssetDatabase.CreateAsset(atile, atile_path); } }