using System; using System.Runtime.CompilerServices; using BansheeEngine; namespace BansheeEditor { public class HandleSlider : ScriptObject { public enum StateType { Inactive, Active, Hover }; public HandleSlider(Handle parentHandle) { parentHandle.RegisterSlider(this); } public Vector3 Position { get { Vector3 value; Internal_GetPosition(mCachedPtr, out value); return value; } set { Internal_SetPosition(mCachedPtr, value); } } public Quaternion Rotation { get { Quaternion value; Internal_GetRotation(mCachedPtr, out value); return value; } set { Internal_SetRotation(mCachedPtr, value); } } public Vector3 Scale { get { Vector3 value; Internal_GetScale(mCachedPtr, out value); return value; } set { Internal_SetScale(mCachedPtr, value); } } public StateType State { get { StateType value; Internal_GetState(mCachedPtr, out value); return value; } } internal void Destroy() { Internal_Destroy(mCachedPtr); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_Destroy(IntPtr nativeInstance); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_GetPosition(IntPtr nativeInstance, out Vector3 value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetPosition(IntPtr nativeInstance, Vector3 value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_GetRotation(IntPtr nativeInstance, out Quaternion value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetRotation(IntPtr nativeInstance, Quaternion value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_GetScale(IntPtr nativeInstance, out Vector3 value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetScale(IntPtr nativeInstance, Vector3 value); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_GetState(IntPtr nativeInstance, out StateType value); } }