BsScriptLightInternal.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsVector3.h"
  5. #include "BsQuaternion.h"
  6. #include "BsDegree.h"
  7. #include "BsColor.h"
  8. #include "BsLightInternal.h"
  9. namespace BansheeEngine
  10. {
  11. class BS_SCR_BE_EXPORT ScriptLightInternal : public ScriptObject <ScriptLightInternal>
  12. {
  13. public:
  14. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "LightInternal")
  15. SPtr<LightInternal> getInternal() const { return mLightInternal; }
  16. private:
  17. ScriptLightInternal(MonoObject* managedInstance, const HSceneObject& parentSO);
  18. ~ScriptLightInternal();
  19. static void internal_create(MonoObject* managedInstance, ScriptSceneObject* parentSO);
  20. static Vector3 internal_getPosition(ScriptLightInternal* thisPtr);
  21. static void internal_setPosition(ScriptLightInternal* thisPtr, Vector3 position);
  22. static Quaternion internal_getRotation(ScriptLightInternal* thisPtr);
  23. static void internal_setRotation(ScriptLightInternal* thisPtr, Quaternion rotation);
  24. static LightType internal_getType(ScriptLightInternal* thisPtr);
  25. static void internal_setType(ScriptLightInternal* thisPtr, LightType type);
  26. static bool internal_getCastsShadow(ScriptLightInternal* thisPtr);
  27. static void internal_setCastsShadow(ScriptLightInternal* thisPtr, bool castsShadow);
  28. static Color internal_getColor(ScriptLightInternal* thisPtr);
  29. static void internal_setColor(ScriptLightInternal* thisPtr, Color color);
  30. static float internal_getRange(ScriptLightInternal* thisPtr);
  31. static void internal_setRange(ScriptLightInternal* thisPtr, float range);
  32. static float internal_getIntensity(ScriptLightInternal* thisPtr);
  33. static void internal_setIntensity(ScriptLightInternal* thisPtr, float intensity);
  34. static Degree internal_getSpotAngle(ScriptLightInternal* thisPtr);
  35. static void internal_setSpotAngle(ScriptLightInternal* thisPtr, Degree spotAngle);
  36. static Degree internal_getSpotFalloffAngle(ScriptLightInternal* thisPtr);
  37. static void internal_setSpotFalloffAngle(ScriptLightInternal* thisPtr, Degree spotFalloffAngle);
  38. static Sphere internal_getBounds(ScriptLightInternal* thisPtr);
  39. static void internal_updateTransform(ScriptLightInternal* thisPtr, ScriptSceneObject* parent);
  40. static void internal_onDestroy(ScriptLightInternal* instance);
  41. SPtr<LightInternal> mLightInternal;
  42. UINT32 mLastUpdateHash;
  43. };
  44. }