YouDunIt/modules/you_done_it/file_popup.h

28 lines
625 B
C++

#pragma once
#include "scene/2d/node_2d.h"
class FilePopup : public Node2D {
GDCLASS(FilePopup, Node2D);
static void _bind_methods();
void enter_tree();
void process(double delta);
protected:
virtual void unhandled_input(Ref<InputEvent> const &what) override;
void _notification(int what);
public:
void request_open();
void request_close();
bool is_open() const;
void set_open_position(Node2D *node);
Node2D *get_open_position() const;
private:
double animation_progress{ 0.0 };
bool desire_open{ false };
Transform2D home_position{};
Node2D *open_position{ nullptr };
double const ANIM_SPEED{ 5.0 };
};