| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Wrappers/Physics/BsScriptBoxCollider.h"
- #include "Physics/BsBoxCollider.h"
- namespace bs
- {
- ScriptBoxCollider::ScriptBoxCollider(MonoObject* instance, const SPtr<Collider>& collider)
- :TScriptCollider(instance, collider)
- {
-
- }
- void ScriptBoxCollider::initRuntimeData()
- {
- metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptBoxCollider::internal_CreateInstance);
- metaData.scriptClass->addInternalCall("Internal_SetExtents", &ScriptBoxCollider::internal_SetExtents);
- metaData.scriptClass->addInternalCall("Internal_GetExtents", &ScriptBoxCollider::internal_GetExtents);
- }
- BoxCollider* ScriptBoxCollider::getBoxCollider() const
- {
- return static_cast<BoxCollider*>(mCollider.get());
- }
- void ScriptBoxCollider::internal_CreateInstance(MonoObject* instance)
- {
- SPtr<BoxCollider> collider = BoxCollider::create(Vector3::ONE);
- collider->_setOwner(PhysicsOwnerType::Script, instance);
- new (bs_alloc<ScriptBoxCollider>()) ScriptBoxCollider(instance, collider);
- }
- void ScriptBoxCollider::internal_SetExtents(ScriptBoxCollider* thisPtr, Vector3* extents)
- {
- thisPtr->getBoxCollider()->setExtents(*extents);
- }
- void ScriptBoxCollider::internal_GetExtents(ScriptBoxCollider* thisPtr, Vector3* extents)
- {
- *extents = thisPtr->getBoxCollider()->getExtents();
- }
- }
|