[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>
This commit is contained in:
MegaMech
2024-10-05 15:31:31 -06:00
committed by GitHub
parent 447fd8b290
commit 75297759ee
122 changed files with 12025 additions and 3626 deletions
+38
View File
@@ -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);
}