| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #pragma once
- #include "BsMonoPrerequisites.h"
- #include <mono/jit/jit.h>
- #include <mono/metadata/class.h>
- namespace BansheeEngine
- {
- enum class MonoFieldVisibility
- {
- Private,
- ProtectedInternal,
- Internal,
- Protected,
- Public
- };
- class BS_MONO_EXPORT MonoField
- {
- public:
- const String& getName() const { return mName; }
- MonoClass* getType();
- void getValue(MonoObject* instance, void* outValue);
- MonoObject* getValueBoxed(MonoObject* instance);
- void setValue(MonoObject* instance, void* value);
- bool hasAttribute(MonoClass* monoClass);
- MonoObject* getAttribute(MonoClass* monoClass);
- MonoFieldVisibility getVisibility();
- bool isStatic();
- private:
- friend class MonoClass;
- MonoField(MonoClassField* field);
- String mName;
- MonoClassField* mField;
- MonoClass* mFieldType;
- void* mThunk;
- };
- }
|