| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 05f3e40 commit 34f3255
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -67,10 +67,15 @@ private void RefreshSelection() | |||
| 67 | 67 | } | |
| 68 | 68 | else | |
| 69 | 69 | { | |
| 70 | - // Add children if it's a GameObject | ||
| 70 | + // Add children if it's a GameObject and find sprites in it | ||
| 71 | 71 | if (obj is GameObject gameObject) | |
| 72 | 72 | { | |
| 73 | - AddChildren(gameObject); | ||
| 73 | + AddChildrenAndSprites(gameObject); | ||
| 74 | + } | ||
| 75 | + // If it's a Texture2D, load its Sprites (if any) | ||
| 76 | + else if (obj is Texture2D texture) | ||
| 77 | + { | ||
| 78 | + AddTextureSprites(texture); | ||
| 74 | 79 | } | |
| 75 | 80 | } | |
| 76 | 81 | } | |
@@ -90,12 +95,22 @@ private void RefreshSelection() | |||
| 90 | 95 | Repaint(); | |
| 91 | 96 | } | |
| 92 | 97 | ||
| 93 | - private void AddChildren(GameObject obj) | ||
| 98 | + private void AddChildrenAndSprites(GameObject obj) | ||
| 94 | 99 | { | |
| 100 | + // Add the GameObject itself | ||
| 101 | + allObjects.Add(obj); | ||
| 102 | + | ||
| 103 | + // Check if the GameObject has a SpriteRenderer and add the Sprite | ||
| 104 | + var spriteRenderer = obj.GetComponent<SpriteRenderer>(); | ||
| 105 | + if (spriteRenderer != null && spriteRenderer.sprite != null) | ||
| 106 | + { | ||
| 107 | + allObjects.Add(spriteRenderer.sprite); // Add the sprite separately | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + // Recursively add children and their sprites | ||
| 95 | 111 | foreach (Transform child in obj.transform) | |
| 96 | 112 | { | |
| 97 | - allObjects.Add(child.gameObject); | ||
| 98 | - AddChildren(child.gameObject); | ||
| 113 | + AddChildrenAndSprites(child.gameObject); | ||
| 99 | 114 | } | |
| 100 | 115 | } | |
| 101 | 116 | ||
@@ -107,9 +122,32 @@ private void AddFolderContents(string folderPath) | |||
| 107 | 122 | { | |
| 108 | 123 | string path = AssetDatabase.GUIDToAssetPath(guid); | |
| 109 | 124 | Object asset = AssetDatabase.LoadAssetAtPath<Object>(path); | |
| 125 | + | ||
| 126 | + // Add the asset itself | ||
| 110 | 127 | if (asset != null) | |
| 111 | 128 | { | |
| 112 | 129 | allObjects.Add(asset); | |
| 130 | + | ||
| 131 | + // If it's a Texture2D, also add any Sprites inside it | ||
| 132 | + if (asset is Texture2D texture) | ||
| 133 | + { | ||
| 134 | + AddTextureSprites(texture); | ||
| 135 | + } | ||
| 136 | + } | ||
| 137 | + } | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + private void AddTextureSprites(Texture2D texture) | ||
| 141 | + { | ||
| 142 | + // Check if the texture contains any sprites (e.g., from a sprite sheet) | ||
| 143 | + string path = AssetDatabase.GetAssetPath(texture); | ||
| 144 | + Object[] assets = AssetDatabase.LoadAllAssetsAtPath(path); | ||
| 145 | + | ||
| 146 | + foreach (Object asset in assets) | ||
| 147 | + { | ||
| 148 | + if (asset is Sprite sprite) | ||
| 149 | + { | ||
| 150 | + allObjects.Add(sprite); // Add each sprite separately | ||
| 113 | 151 | } | |
| 114 | 152 | } | |
| 115 | 153 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments