- Home /
Question by
Dunkelheit · Sep 01, 2014 at 11:11 PM ·
editortextureguilayout
Replace ordinary array with a fancy dynamic texture pack array.
I'm trying to make a window to support multiple texture entries by user. The user select a texture or drag one and click on "add" button, the texture should appear down the add button or something like that.
However I'm stucked, no idea which classes and tuts should I follow to accomplish and finish it. My current screen is like that:
I have created a class that extends EditorWindow and implements some OnGUI elements:
private Texture2D _texture;
private static int _y = 0;
[MenuItem("Component/TEMP1/Create Texture Pack")]
public static void Init()
{
var window = GetWindow(typeof(DwarfTexturePack));
window.title = "DT2D Texture Pack";
window.position = new Rect(30, 30, 400, 200);
window.Show();
}
void OnGUI()
{
_texture = EditorGUI.ObjectField(new Rect(3, 3, 200, 200), "Add a Texture", _texture, typeof(Texture2D)) as Texture2D;
if (GUI.Button(new Rect(5, 60, position.width - 5, 20), "Add Selected Texture"))
{
if (_texture != null)
{
_y += 100;
EditorGUI.PrefixLabel(new Rect(10, _y, 200, 15), 0, new GUIContent(_texture.name));
EditorGUI.DrawPreviewTexture(new Rect(10, _y + 5, 100, 100), _texture);
}
}
}
I would like to implemente something like that:
So, when a texture is added a picture of the texture is rendered dynamically. Somehow it is an array of a rect of textures or something like that.
Which classes should I take a look or a tutorial whould I get that covers this?
Thanks in advance!
Comment