Making Solid Controller work
This commit is contained in:
@ -10,5 +10,5 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
Collider2D.cpp
|
||||
CharacterController2D.cpp
|
||||
SolidController2D.cpp
|
||||
TriggerCollider2D.cpp
|
||||
TriggerController2D.cpp
|
||||
)
|
@ -29,22 +29,21 @@ bool_t SolidController2D::getCollidingResult(
|
||||
assertNotNull(movingObject);
|
||||
if(movement.x == 0 && movement.y == 0) return false;
|
||||
|
||||
auto localPos = this->transform->getLocalPosition();
|
||||
auto localPos = movingObject->transform->getWorldPosition();
|
||||
glm::vec2 myPos(localPos.x, localPos.z);
|
||||
|
||||
|
||||
// Check what THIS is
|
||||
// Check what the moving object is
|
||||
switch(movingObject->getColliderType()) {
|
||||
case COLLIDER2D_TYPE_BOX: {
|
||||
auto box1 = dynamic_cast<BoxCollider*>(this);
|
||||
auto box1 = dynamic_cast<BoxCollider*>(movingObject);
|
||||
assertNotNull(box1);
|
||||
|
||||
// Box VS ?
|
||||
switch(collider->getColliderType()) {
|
||||
// Box VS (this)?
|
||||
switch(this->collider->getColliderType()) {
|
||||
case COLLIDER2D_TYPE_BOX: {
|
||||
auto box2 = dynamic_cast<BoxCollider*>(collider);
|
||||
auto box2 = dynamic_cast<BoxCollider*>(this->collider);
|
||||
assertNotNull(box2);
|
||||
auto localPos2 = box2->transform->getLocalPosition();
|
||||
auto localPos2 = box2->transform->getWorldPosition();
|
||||
glm::vec2 otherPos(localPos2.x, localPos2.z);
|
||||
|
||||
return boxCheckCollision(
|
||||
|
@ -5,8 +5,11 @@
|
||||
|
||||
#pragma once
|
||||
#include "Collider2D.hpp"
|
||||
#include "BoxCollider.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class CharacterController2D;
|
||||
|
||||
class TriggerController2D : public SceneItemComponent {
|
||||
public:
|
||||
Collider2D *collider = nullptr;
|
||||
@ -20,6 +23,6 @@ namespace Dawn {
|
||||
* Returns whether or not the given moving object is colliding with this
|
||||
* trigger collider.
|
||||
*/
|
||||
bool_t getCollidingResult(Collider2D* movingObject)
|
||||
bool_t getCollidingResult(Collider2D* movingObject);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user