From abaa1add15da28f965f64bbb3bbe1d42a270ac4e Mon Sep 17 00:00:00 2001 From: floralrainfall Date: Thu, 6 Jul 2023 20:30:19 -0400 Subject: [PATCH] RBX::Instance --- CMakeLists.txt | 25 ++++++++++++++++++++++--- src/engine/app/Name.cpp | 0 src/engine/app/Name.hpp | 20 ++++++++++++++++++++ src/engine/app/humanoid/Humanoid.cpp | 6 ++++++ src/engine/app/humanoid/Humanoid.hpp | 25 +++++++++++++++++++++++++ src/engine/app/v8/tree/Instance.cpp | 10 ++++++++++ src/engine/app/v8/tree/Instance.hpp | 19 +++++++++++++++++++ 7 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 src/engine/app/Name.cpp create mode 100644 src/engine/app/Name.hpp create mode 100644 src/engine/app/humanoid/Humanoid.cpp create mode 100644 src/engine/app/humanoid/Humanoid.hpp create mode 100644 src/engine/app/v8/tree/Instance.cpp create mode 100644 src/engine/app/v8/tree/Instance.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 20cb358..204a2b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,25 @@ cmake_minimum_required(VERSION 3.4) +project(engine) project(player) project(server) project(studio) -add_executable(player +find_package(Qt6 REQUIRED COMPONENTS Core) +qt_standard_project_setup() + +add_library(engine STATIC + src/engine/app/humanoid/Humanoid.cpp + src/engine/app/humanoid/Humanoid.hpp + + src/engine/app/v8/tree/Instance.cpp + src/engine/app/v8/tree/Instance.hpp + + src/engine/app/Name.hpp + src/engine/app/Name.cpp +) + +qt_add_executable(player src/client/player/main.cpp ) @@ -12,6 +27,10 @@ add_executable(server src/client/server/main.cpp ) -add_executable(studio +qt_add_executable(studio src/client/studio/main.cpp -) \ No newline at end of file +) + +target_link_libraries(player PRIVATE Qt6::Core engine) +target_link_libraries(studio PRIVATE Qt6::Core engine) +target_link_libraries(server PRIVATE engine) \ No newline at end of file diff --git a/src/engine/app/Name.cpp b/src/engine/app/Name.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/engine/app/Name.hpp b/src/engine/app/Name.hpp new file mode 100644 index 0000000..2b3951e --- /dev/null +++ b/src/engine/app/Name.hpp @@ -0,0 +1,20 @@ +#ifndef __APP_NAME_HPP__ +#define __APP_NAME_HPP__ + +#include + +namespace RBX +{ + class Name + { + public: + + char* c_str(); + + static void compare(const RBX::Name *a, const RBX::Name *b); + static void declare(const char* sName, int dictionaryIndex); + static std::map* dictionary(); + }; +} + +#endif \ No newline at end of file diff --git a/src/engine/app/humanoid/Humanoid.cpp b/src/engine/app/humanoid/Humanoid.cpp new file mode 100644 index 0000000..27aa783 --- /dev/null +++ b/src/engine/app/humanoid/Humanoid.cpp @@ -0,0 +1,6 @@ +#include "Humanoid.hpp" + +RBX::Humanoid::Humanoid() +{ + +} \ No newline at end of file diff --git a/src/engine/app/humanoid/Humanoid.hpp b/src/engine/app/humanoid/Humanoid.hpp new file mode 100644 index 0000000..e35028f --- /dev/null +++ b/src/engine/app/humanoid/Humanoid.hpp @@ -0,0 +1,25 @@ +#ifndef __APP_HUMANOID_HUMANOID_HPP__ +#define __APP_HUMANOID_HUMANOID_HPP__ + +namespace RBX +{ + class Humanoid : Instance + { + private: + float m_health; + float m_maxHealth; + float m_walkRotationalVelocity; + public: + Humanoid(); + ~Humanoid(); + + bool canSit(); + void buildJoints(); + void checkForJointDeath(); + void computeForce(float force, bool something); + void getTorso(); + void getHead(); + } +} + +#endif \ No newline at end of file diff --git a/src/engine/app/v8/tree/Instance.cpp b/src/engine/app/v8/tree/Instance.cpp new file mode 100644 index 0000000..57dcc2e --- /dev/null +++ b/src/engine/app/v8/tree/Instance.cpp @@ -0,0 +1,10 @@ +#include "Instance.hpp" + +void RBX::Instance::setName(std::string name) +{ + if(name != this->m_name) + { + this->m_name = name; + // raise property changed + } +} \ No newline at end of file diff --git a/src/engine/app/v8/tree/Instance.hpp b/src/engine/app/v8/tree/Instance.hpp new file mode 100644 index 0000000..51de289 --- /dev/null +++ b/src/engine/app/v8/tree/Instance.hpp @@ -0,0 +1,19 @@ +#ifndef __APP_V8_TREE_INSTANCE_HPP__ +#define __APP_V8_TREE_INSTANCE_HPP__ + +#include + +namespace RBX +{ + class Instance + { + private: + std::string m_name; + public: + Instance(); + void setName(std::string name); + + } +} + +#endif \ No newline at end of file