diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2024-10-05 15:31:31 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-05 15:31:31 -0600 |
| commit | 75297759ee906b103ff9714dad17e683f1757b7f (patch) | |
| tree | 2a81aff6c8e1d2be2806f34f8850c74499980479 /src/engine/Cup.cpp | |
| parent | 447fd8b29057e8dcc223507e6b7d6bc448c6f7d8 (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.cpp | 38 |
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); +} |
