summaryrefslogtreecommitdiff
path: root/src/engine/Cup.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2024-10-05 15:31:31 -0600
committerGitHub <noreply@github.com>2024-10-05 15:31:31 -0600
commit75297759ee906b103ff9714dad17e683f1757b7f (patch)
tree2a81aff6c8e1d2be2806f34f8850c74499980479 /src/engine/Cup.cpp
parent447fd8b29057e8dcc223507e6b7d6bc448c6f7d8 (diff)
[modding] Course Mod Support (#104)
* Course Manager * Course * Test * Render * That escalated quickly * update * properties * Properties * test * Fix compile * Add World * skycolours * Skybox Colours done * Cleanup * test * Game runs again * update * Game run again * Cup Works * continue * Add Courses * clouds * changes * fixes * update * Fix compile * update * A few changes * More Updates * More refactors * Fixes * Fix ai behaviour * Changes * Fix courses * test course test not working * CUSTOM * TestCourse works kinda * fixes * test course works * cleanup --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/engine/Cup.cpp')
-rw-r--r--src/engine/Cup.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/engine/Cup.cpp b/src/engine/Cup.cpp
new file mode 100644
index 000000000..0e77ac9b8
--- /dev/null
+++ b/src/engine/Cup.cpp
@@ -0,0 +1,38 @@
+#include "Cup.h"
+#include "courses/Course.h"
+
+Cup::Cup(const char* name, std::vector<Course*> courses) {
+ this->Name = name;
+ this->Courses = courses;
+
+ if (Courses.size() != 4) {
+ throw std::invalid_argument("A cup must contain exactly 4 courses.");
+ }
+}
+
+void Cup::Next() {
+ if (CursorPosition < Courses.size() - 1) {
+ CursorPosition++;
+ }
+}
+
+void Cup::Previous() {
+ if (CursorPosition > 0) {
+ CursorPosition--;
+ }
+}
+
+Course* Cup::GetCourse() {
+ return Courses[CursorPosition];
+}
+
+size_t Cup::GetSize() {
+ return Courses.size();
+}
+
+// Function to shuffle the courses randomly
+void Cup::ShuffleCourses() {
+ // std::random_device rd;
+ // std::mt19937 g(rd());
+ //std::shuffle(Courses.begin(), Courses.end(), g);
+}