From 9140081f539a03b515e575376320ded9388b8915 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 21 Nov 2024 08:35:47 +0100 Subject: [PATCH] feat: created node base class --- src/core/node.cpp | 4 ++++ src/core/node.hpp | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/core/node.cpp create mode 100644 src/core/node.hpp diff --git a/src/core/node.cpp b/src/core/node.cpp new file mode 100644 index 0000000..72a4077 --- /dev/null +++ b/src/core/node.cpp @@ -0,0 +1,4 @@ +#include "node.hpp" + +namespace ce { +} diff --git a/src/core/node.hpp b/src/core/node.hpp new file mode 100644 index 0000000..618cbdc --- /dev/null +++ b/src/core/node.hpp @@ -0,0 +1,26 @@ +#ifndef CANVAS_NODE_HPP +#define CANVAS_NODE_HPP + +#include +#include +#include + +namespace ce { +class Node { +private: + std::string name{}; + std::map> nodes{}; +public: + Node() = default; + virtual ~Node() = default; + virtual void on_added(Node *parent) = 0; + virtual void on_tick(double delta_time) = 0; + virtual void on_removed(Node *former_parent) = 0; + + void add_child(Node *child); + void remove_child(Node *child); + Node *get_child(char const *find_name); +}; +} + +#endif // !CANVAS_NODE_HPP