using System.Collections.Generic; using BansheeEngine; namespace BansheeEditor { /// /// Renders an inspector for the resource. /// [CustomInspector(typeof(SpriteTexture))] internal class SpriteTextureInspector : Inspector { private GUITextureField textureField = new GUITextureField(new LocEdString("Texture")); private GUIVector2Field offsetField = new GUIVector2Field(new LocEdString("Offset")); private GUIVector2Field scaleField = new GUIVector2Field(new LocEdString("Scale")); /// protected internal override void Initialize() { SpriteTexture spriteTexture = InspectedObject as SpriteTexture; if (spriteTexture == null) return; textureField.OnChanged += (x) => { spriteTexture.Texture = x as Texture2D; EditorApplication.SetDirty(spriteTexture); }; offsetField.OnChanged += (x) => { spriteTexture.Offset = x; EditorApplication.SetDirty(spriteTexture); }; scaleField.OnChanged += (x) => { spriteTexture.Scale = x; EditorApplication.SetDirty(spriteTexture); }; Layout.AddElement(textureField); Layout.AddElement(offsetField); Layout.AddElement(scaleField); } /// protected internal override void Refresh() { SpriteTexture spriteTexture = InspectedObject as SpriteTexture; if (spriteTexture == null) return; textureField.Value = spriteTexture.Texture; offsetField.Value = spriteTexture.Offset; scaleField.Value = spriteTexture.Scale; } } }