3#include "../../../Components.h"
8 int deltaThreshold = 300;
9 float springStrength = 0.00002f;
21 void init()
override {
24 void update(
float deltaTime)
override {
26 glm::vec3 posA = entity->
fromPos;
27 glm::vec3 posB = entity->toPos;
29 glm::vec3 delta = posB - posA;
30 glm::vec3 attraction = delta * springStrength;
32 if (glm::length(delta) > deltaThreshold) {
33 entity->getManager()->getEntityFromId(
36 entity->getManager()->getEntityFromId(
38 )->GetComponent<TransformComponent>().velocity -= attraction;
50 std::string GetComponentName()
override {
51 return "SpringComponent";
54 void showGUI(std::vector<BaseComponent*> otherComponents = {})
override {
57 ImGui::Text(
"SpringComponent");
61 void showGUI(std::vector<BaseComponent*> otherComponents, std::vector<Entity*> otherEntities)
override {
64 ImGui::Text(
"SpringComponent");
Definition LineRenderer.h:6
glm::vec3 fromPos
When DirectPosition.
Definition GECSEntity.h:124
Definition SpringComponent.h:6