2024-10-09 02:01:23 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "datatypes.h"
|
|
|
|
|
|
|
|
|
|
class Movable{
|
|
|
|
|
|
|
|
|
|
public:
|
2024-10-19 04:08:46 +02:00
|
|
|
Movable() {}
|
|
|
|
|
virtual ~Movable() {}
|
|
|
|
|
|
2024-10-09 02:01:23 +02:00
|
|
|
Movable(Vec2D<float> p, Vec2D<float> d, float s) : speed(s), position(p), direction(d) {}
|
|
|
|
|
Movable(Vec2D<float> p, float s) : speed(s), position(p) {}
|
|
|
|
|
|
|
|
|
|
float speed = 1.0f;
|
|
|
|
|
|
|
|
|
|
Vec2D<float> position;
|
|
|
|
|
Vec2D<float> direction;
|
|
|
|
|
|
2024-10-31 01:43:00 +01:00
|
|
|
Vec2D<float> drag_offset;
|
|
|
|
|
|
|
|
|
|
bool in_rect = false;
|
|
|
|
|
|
|
|
|
|
bool picked_up = false;
|
|
|
|
|
bool dragging = false;
|
|
|
|
|
bool hover_connect = false;
|
|
|
|
|
bool hovering = false;
|
|
|
|
|
bool connecting = false;
|
|
|
|
|
bool selected = false;
|
|
|
|
|
bool highlighted = false;
|
|
|
|
|
bool copied = false;
|
|
|
|
|
|
|
|
|
|
bool erase = false;
|
|
|
|
|
|
|
|
|
|
virtual void setPosition(Vec2D<float> _position) {position = _position;}
|
2024-11-01 02:38:47 +01:00
|
|
|
virtual Vec2D<float> getPosition() {return position;};
|
2024-10-28 02:07:47 +01:00
|
|
|
virtual void update(double frametime) {};
|
2024-10-25 02:43:41 +02:00
|
|
|
virtual void update() {};
|
2024-10-09 02:01:23 +02:00
|
|
|
};
|