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