You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.4 KiB
C++
109 lines
2.4 KiB
C++
#include <raylib.h>
|
|
#include <string>
|
|
|
|
#include <map>
|
|
#include <string>
|
|
#include <memory>
|
|
|
|
#include "./world/Chunk.h"
|
|
#include "./WindowManager/WindowManager.h"
|
|
|
|
|
|
|
|
|
|
int main()
|
|
{
|
|
|
|
|
|
// Initialize the window and raylib
|
|
WindowManager windowManager("My Title", 320, 240);
|
|
|
|
std::string userInput;
|
|
|
|
SetTargetFPS(60);
|
|
|
|
Texture2D texture = LoadTextureFromImage(ImageFromImage(LoadImage("tiles.png"), { 0, 0, 8, 8 }));
|
|
std::map<std::string, Texture2D*> myMap;
|
|
myMap["grass"] = &texture;
|
|
Chunk chunk(100, 100, 50, BLUE);
|
|
chunk.LoadTextures(myMap);
|
|
|
|
// Enable window resizing
|
|
SetWindowState(FLAG_WINDOW_RESIZABLE);
|
|
|
|
while (!WindowShouldClose())
|
|
{
|
|
|
|
windowManager.UpdateScale();
|
|
|
|
BeginTextureMode(windowManager.Screen);
|
|
ClearBackground(BLACK);
|
|
DrawText("Drawing on Render Texture", 10, 10, 20, RED);
|
|
DrawRectangle(160, 120, 160, 120, RED);
|
|
|
|
ClearBackground(GRAY);
|
|
|
|
double xStart = (GetScreenWidth() - windowManager.ScaledScreen.texture.width) / 2;
|
|
double yStart = (GetScreenHeight() - windowManager.ScaledScreen.texture.height) / 2;
|
|
|
|
// Display the user input on the screen
|
|
DrawText(userInput.c_str(), 10, 10, 20, BLACK);
|
|
DrawRectangle(200, 200 / 2 - 50, 100, 100, RED);
|
|
chunk.Draw();
|
|
|
|
EndTextureMode();
|
|
|
|
// Scaled Texture
|
|
|
|
|
|
|
|
float deltaTime = GetFrameTime();
|
|
// Update
|
|
|
|
|
|
// Check for mouse input
|
|
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
|
|
{
|
|
int mouseX = GetMouseX();
|
|
int mouseY = GetMouseY();
|
|
|
|
// Print the mouse coordinates
|
|
printf("Mouse clicked at (%d, %d)\n", mouseX, mouseY);
|
|
}
|
|
|
|
|
|
// Check for user input
|
|
if (IsKeyPressed(KEY_BACKSPACE) && userInput.length() > 0)
|
|
{
|
|
// Remove the last character from the input string
|
|
userInput.pop_back();
|
|
}
|
|
else
|
|
{
|
|
// Check if any key is being pressed
|
|
int key = GetKeyPressed();
|
|
|
|
|
|
if ( IsKeyPressed(KEY_A) ) {
|
|
}
|
|
|
|
|
|
if (key > 0)
|
|
{
|
|
// Append the pressed key to the input string
|
|
userInput += static_cast<char>(key);
|
|
}
|
|
}
|
|
|
|
// Display
|
|
windowManager.Display();
|
|
|
|
|
|
}
|
|
|
|
// Close the window and raylib
|
|
CloseWindow();
|
|
|
|
return 0;
|
|
}
|