BsAnimationEx.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEnginePrerequisites.h"
  5. #include "Wrappers/BsScriptResource.h"
  6. #include "Animation/BsAnimationClip.h"
  7. namespace bs
  8. {
  9. /** @addtogroup ScriptInteropEngine
  10. * @{
  11. */
  12. /** @cond SCRIPT_EXTENSIONS */
  13. /** Extension class for AnimationCurves, for adding additional functionality for the script version of the class. */
  14. class BS_SCRIPT_EXPORT(e:AnimationCurves) AnimationCurvesEx
  15. {
  16. public:
  17. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Position,pr:getter)
  18. static Vector<TNamedAnimationCurve<Vector3>> getPositionCurves(const SPtr<AnimationCurves>& thisPtr);
  19. /** Curves for animating scene object's position. */
  20. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Position,pr:setter)
  21. static void setPositionCurves(const SPtr<AnimationCurves>& thisPtr, const Vector<TNamedAnimationCurve<Vector3>>& value);
  22. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Rotation,pr:getter)
  23. static Vector<TNamedAnimationCurve<Quaternion>> getRotationCurves(const SPtr<AnimationCurves>& thisPtr);
  24. /** Curves for animating scene object's rotation. */
  25. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Rotation,pr:setter)
  26. static void setRotationCurves(const SPtr<AnimationCurves>& thisPtr, const Vector<TNamedAnimationCurve<Quaternion>>& value);
  27. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Scale,pr:getter)
  28. static Vector<TNamedAnimationCurve<Vector3>> getScaleCurves(const SPtr<AnimationCurves>& thisPtr);
  29. /** Curves for animating scene object's scale. */
  30. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Scale,pr:setter)
  31. static void setScaleCurves(const SPtr<AnimationCurves>& thisPtr, const Vector<TNamedAnimationCurve<Vector3>>& value);
  32. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Generic,pr:getter)
  33. static Vector<TNamedAnimationCurve<float>> getGenericCurves(const SPtr<AnimationCurves>& thisPtr);
  34. /** Curves for animating generic component properties. */
  35. BS_SCRIPT_EXPORT(e:AnimationCurves,n:Generic,pr:setter)
  36. static void setGenericCurves(const SPtr<AnimationCurves>& thisPtr, const Vector<TNamedAnimationCurve<float>>& value);
  37. };
  38. /** Extension class for RootMotion, for adding additional functionality for the script version of the class. */
  39. class BS_SCRIPT_EXPORT(e:RootMotion) RootMotionEx
  40. {
  41. public:
  42. /** Animation curve representing the movement of the root bone. */
  43. BS_SCRIPT_EXPORT(e:RootMotion,n:Position,pr:getter)
  44. static TAnimationCurve<Vector3> getPositionCurves(const SPtr<RootMotion>& thisPtr);
  45. /** Animation curve representing the rotation of the root bone. */
  46. BS_SCRIPT_EXPORT(e:RootMotion,n:Rotation,pr:getter)
  47. static TAnimationCurve<Quaternion> getRotationCurves(const SPtr<RootMotion>& thisPtr);
  48. };
  49. /** @endcond */
  50. /** @} */
  51. }