cs381/as6/Components.hpp

116 lines
2.8 KiB
C++

#pragma once
#include "Entity.hpp"
// Placeholder component definitions inspired by the GDD. Logic will be filled
// in later, but the types exist now so other modules can include them and build.
struct TransformComponent : public Component {
float x = 0.0f;
float y = 0.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct PhysicsComponent : public Component {
float vx = 0.0f;
float vy = 0.0f;
float speedCap = 400.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct GravityWellComponent : public Component {
float mass = 150000.0f;
float minDist = 30.0f;
bool active = false;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct GravityReceiverComponent : public Component {
Entity *well = nullptr;
bool inVoid = false;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct ColliderComponent : public Component {
float radius = 8.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct ScrollComponent : public Component {
float scrollX = 0.0f;
float speed = 2.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct ScrollableComponent : public Component {
float worldX = 0.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct SpawnComponent : public Component {
float cursorWX = 0.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct TrailComponent : public Component {
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct ProjectionComponent : public Component {
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct MeterComponent : public Component {
float value = 60.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct HudComponent : public Component {
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct RenderComponent : public Component {
virtual void Draw() {}
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct NullZoneComponent : public Component {
float width = 70.0f;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};
struct CollectibleComponent : public Component {
bool collected = false;
void Setup() override {}
void Update(float) override {}
void Cleanup() override {}
};