| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsScriptEditorPrerequisites.h"
- #include "BsScriptObject.h"
- #include "Handles/BsHandleSlider.h"
- #include "Math/BsQuaternion.h"
- #include "Math/BsVector3.h"
- namespace bs
- {
- /** @addtogroup ScriptInteropEditor
- * @{
- */
- /** Base class for all C++/CLR interop objects that deal with handle sliders. */
- class BS_SCR_BED_EXPORT ScriptHandleSliderBase : public ScriptObjectBase
- {
- public:
- ScriptHandleSliderBase(MonoObject* managedInstance);
- virtual ~ScriptHandleSliderBase();
- /** Returns the internal native handle slider. */
- virtual HandleSlider* getSlider() const = 0;
- protected:
- friend class ScriptHandleSlider;
- friend class ScriptHandleSliderManager;
- /** Destroys the internal native handle slider and unregisters it with with handle manager. */
- void destroy();
- /** Destroys the internal native handle slider. */
- virtual void destroyInternal() = 0;
- };
- /** @} */
- /** @addtogroup EditorScript
- * @{
- */
- /** Interop class between C++ & CLR for HandleSlider. */
- class BS_SCR_BED_EXPORT ScriptHandleSlider : public ScriptObject <ScriptHandleSlider>
- {
- public:
- SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "HandleSlider")
- private:
- ScriptHandleSlider(MonoObject* instance);
- /************************************************************************/
- /* CLR HOOKS */
- /************************************************************************/
- static void internal_Destroy(ScriptHandleSliderBase* nativeInstance);
- static void internal_GetPosition(ScriptHandleSliderBase* nativeInstance, Vector3* value);
- static void internal_SetPosition(ScriptHandleSliderBase* nativeInstance, Vector3* value);
- static void internal_GetRotation(ScriptHandleSliderBase* nativeInstance, Quaternion* value);
- static void internal_SetRotation(ScriptHandleSliderBase* nativeInstance, Quaternion* value);
- static void internal_GetScale(ScriptHandleSliderBase* nativeInstance, Vector3* value);
- static void internal_SetScale(ScriptHandleSliderBase* nativeInstance, Vector3* value);
- static bool internal_GetEnabled(ScriptHandleSliderBase* nativeInstance);
- static void internal_SetEnabled(ScriptHandleSliderBase* nativeInstance, bool value);
- static void internal_GetState(ScriptHandleSliderBase* nativeInstance, HandleSlider::State* value);
- };
- /** @} */
- }
|