暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

TileUtility.cs 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using UnityEngine;
  2. using UnityEngine.Tilemaps;
  3. namespace UnityEditor.Tilemaps
  4. {
  5. /// <summary>
  6. /// Utility class for creating Tiles
  7. /// </summary>
  8. public class TileUtility
  9. {
  10. internal static void CreateNewTile()
  11. {
  12. string message = string.Format("Save tile'{0}':", "tile");
  13. string newAssetPath = EditorUtility.SaveFilePanelInProject("Save tile", "New Tile", "asset", message, ProjectWindowUtil.GetActiveFolderPath());
  14. // If user canceled or save path is invalid, we can't create the tile
  15. if (string.IsNullOrEmpty(newAssetPath))
  16. return;
  17. AssetDatabase.CreateAsset(CreateDefaultTile(), newAssetPath);
  18. }
  19. /// <summary>Creates a Tile with defaults based on the Tile preset</summary>
  20. /// <returns>A Tile with defaults based on the Tile preset</returns>
  21. public static Tile CreateDefaultTile()
  22. {
  23. return ObjectFactory.CreateInstance<Tile>();
  24. }
  25. /// <summary>Creates a Tile with defaults based on the Tile preset and a Sprite set</summary>
  26. /// <param name="sprite">A Sprite to set the Tile with</param>
  27. /// <returns>A Tile with defaults based on the Tile preset and a Sprite set</returns>
  28. [CreateTileFromPalette]
  29. public static TileBase DefaultTile(Sprite sprite)
  30. {
  31. Tile tile = CreateDefaultTile();
  32. tile.name = sprite.name;
  33. tile.sprite = sprite;
  34. tile.color = Color.white;
  35. return tile;
  36. }
  37. }
  38. }