untracked files on deffered_rendering: a459a1c Skybox bugfix
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
#include "PrecompiledHeader.h"
|
||||||
|
#include "WheelPairSystem.h"
|
||||||
|
#include "World.h"
|
||||||
|
|
||||||
|
void Systems::WheelPairSystem::RegisterComponents(ComponentFactory* cf)
|
||||||
|
{
|
||||||
|
cf->Register<Components::WheelPair>([]() { return new Components::WheelPair(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
void Systems::WheelPairSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
|
||||||
|
{
|
||||||
|
auto wheelPair = m_World->GetComponent<Components::WheelPair>(entity);
|
||||||
|
if (!wheelPair)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto transform = m_World->GetComponent<Components::Transform>(entity);
|
||||||
|
if (!transform)
|
||||||
|
return;
|
||||||
|
auto transformFakeFront = m_World->GetComponent<Components::Transform>(wheelPair->FakeWheelFront);
|
||||||
|
if (!transformFakeFront)
|
||||||
|
return;
|
||||||
|
auto transformFakeBack = m_World->GetComponent<Components::Transform>(wheelPair->FakeWheelBack);
|
||||||
|
if (!transformFakeBack)
|
||||||
|
return;
|
||||||
|
|
||||||
|
glm::vec3 thing = transformFakeBack->Position - transformFakeFront->Position;
|
||||||
|
|
||||||
|
float height = ((transformFakeFront->Position + transformFakeBack->Position) / 2.f).y;
|
||||||
|
float angle = std::atan2f(thing.y, thing.z);
|
||||||
|
|
||||||
|
transform->Position.y = height;
|
||||||
|
transform->Orientation = glm::quat(glm::eulerAngles(transform->Orientation) * glm::vec3(0, 1, 1) + glm::vec3(-angle, 0, 0));
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#ifndef Systems_WheelPairSystem_h__
|
||||||
|
#define Systems_WheelPairSystem_h__
|
||||||
|
|
||||||
|
#include "World.h"
|
||||||
|
#include "System.h"
|
||||||
|
#include "Components/Transform.h"
|
||||||
|
#include "Components/WheelPair.h"
|
||||||
|
|
||||||
|
namespace Systems
|
||||||
|
{
|
||||||
|
class WheelPairSystem : public System
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
WheelPairSystem(World* world, std::shared_ptr<::EventBroker> eventBroker, std::shared_ptr<::ResourceManager> resourceManager)
|
||||||
|
: System(world, eventBroker, resourceManager) { }
|
||||||
|
|
||||||
|
void RegisterComponents(ComponentFactory* cf) override;
|
||||||
|
void UpdateEntity(double dt, EntityID entity, EntityID parent) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#endif // Systems_WheelPairSystem_h__
|
||||||
Reference in New Issue
Block a user