//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// using System.Collections.Generic; using BansheeEngine; namespace BansheeEditor { /** @addtogroup Inspectors * @{ */ /// /// Renders an inspector for the resource. /// [CustomInspector(typeof(SpriteTexture))] internal class SpriteTextureInspector : Inspector { private GUITextureField textureField = new GUITextureField(new LocEdString("Atlas")); private GUIVector2Field offsetField = new GUIVector2Field(new LocEdString("Offset")); private GUIVector2Field scaleField = new GUIVector2Field(new LocEdString("Scale")); /// protected internal override void Initialize() { LoadResource(); SpriteTexture spriteTexture = InspectedObject as SpriteTexture; if (spriteTexture == null) return; textureField.OnChanged += (x) => { spriteTexture.Texture = x; 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 InspectableState Refresh() { SpriteTexture spriteTexture = InspectedObject as SpriteTexture; if (spriteTexture == null) return InspectableState.NotModified; textureField.ValueRef = spriteTexture.Texture; offsetField.Value = spriteTexture.Offset; scaleField.Value = spriteTexture.Scale; return InspectableState.NotModified; } } /** @} */ }