BsScriptTime.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "BsScriptTime.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoMethod.h"
  5. #include "BsMonoUtil.h"
  6. #include "BsTime.h"
  7. #include "BsPlayInEditorManager.h"
  8. namespace BansheeEngine
  9. {
  10. ScriptTime::ScriptTime(MonoObject* instance)
  11. :ScriptObject(instance)
  12. { }
  13. void ScriptTime::initRuntimeData()
  14. {
  15. metaData.scriptClass->addInternalCall("Internal_GetRealElapsed", &ScriptTime::internal_getRealElapsed);
  16. metaData.scriptClass->addInternalCall("Internal_GetElapsed", &ScriptTime::internal_getElapsed);
  17. metaData.scriptClass->addInternalCall("Internal_GetFrameDelta", &ScriptTime::internal_getFrameDelta);
  18. metaData.scriptClass->addInternalCall("Internal_GetFrameNumber", &ScriptTime::internal_getFrameNumber);
  19. metaData.scriptClass->addInternalCall("Internal_GetPrecise", &ScriptTime::internal_getPrecise);
  20. }
  21. float ScriptTime::internal_getRealElapsed()
  22. {
  23. return gTime().getTime();
  24. }
  25. float ScriptTime::internal_getElapsed()
  26. {
  27. return PlayInEditorManager::instance().getPausableTime();
  28. }
  29. float ScriptTime::internal_getFrameDelta()
  30. {
  31. return gTime().getFrameDelta();
  32. }
  33. UINT64 ScriptTime::internal_getFrameNumber()
  34. {
  35. return gTime().getFrameIdx();
  36. }
  37. UINT64 ScriptTime::internal_getPrecise()
  38. {
  39. return gTime().getTimePrecise();
  40. }
  41. }