2
0

BsMonoArray.cpp 580 B

1234567891011121314151617181920212223242526272829
  1. #include "BsMonoArray.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoClass.h"
  4. namespace BansheeEngine
  5. {
  6. ScriptArray::ScriptArray(MonoArray* existingArray)
  7. :mInternal(existingArray)
  8. {
  9. }
  10. ScriptArray::ScriptArray(MonoClass& klass, UINT32 size)
  11. : mInternal(nullptr)
  12. {
  13. mInternal = createArray(klass, size);
  14. }
  15. UINT32 ScriptArray::size() const
  16. {
  17. return (UINT32)mono_array_length(mInternal);
  18. }
  19. MonoArray* ScriptArray::createArray(MonoClass& klass, UINT32 size)
  20. {
  21. return mono_array_new(MonoManager::instance().getDomain(),
  22. klass._getInternalClass(), size);
  23. }
  24. }