CSC8503_Advanced_Game_Technologies / CSC8503 / GameTech / MainMenuMulitSelectAILevel .cpp
MainMenuMulitSelectAILevel .cpp
Raw
#include "MainMenuMulitSelectAILevel .h"

MainMenuMulitSelectAILevel::MainMenuMulitSelectAILevel() {
	world = new GameWorld();
	renderer = new GameTechRenderer(*world);

	DrawMenu();
}

MainMenuMulitSelectAILevel ::~MainMenuMulitSelectAILevel() {
	delete renderer;
	delete world;
}

void MainMenuMulitSelectAILevel::UpdateMainMenu(float dt) {
	if (!renderer) {
		world = new GameWorld();
		renderer = new GameTechRenderer(*world);
	}

	Debug::SetRenderer(renderer);
	world->UpdateWorld(dt);
	renderer->Update(dt);

	renderer->Render();

	DrawMenu();

	SetKeys();
}

void MainMenuMulitSelectAILevel::UpdateMainMenu() {

	Debug::SetRenderer(renderer);

	renderer->Render();

	DrawMenu();

	SetKeys();
}

void MainMenuMulitSelectAILevel::DrawMenu() {
	for (int i = 0; i < buttons.size(); ++i) {
		renderer->DrawString(buttons[i], Vector2(10, (5 * buttons.size()) + 10 * i), i == selected ? Vector4(0.5, 0.1, 0, 1) : Vector4(0, 0, 0, 1));
	}
}

void MainMenuMulitSelectAILevel::SetKeys() {
	if (Window::GetKeyboard()->KeyPressed(KeyboardKeys::W)) {
		selected--;
		while (selected < 0) {
			selected += buttons.size();
		}
	}
	if (Window::GetKeyboard()->KeyPressed(KeyboardKeys::S)) {
		selected++;
		while (selected >= buttons.size()) {
			selected -= buttons.size();
		}
	}
}