Safariminer 527b73afb5 rebase
2025-09-19 14:33:07 -04:00

35 lines
986 B
C++

#pragma once
#include "defines.h"
#include <raylib.h>
#include <vector>
#include <iostream>
#include <rlights.h>
namespace MassShoot {
namespace Maps {
class CollideCollAdvancedResult {
public:
Vector3 newPossiblePos;
};
class Map {
std::vector<BoundingBox> collisions;
std::vector<std::string> textures;
std::vector<Light> lights;
std::vector<std::string> triggerMaps;
std::vector<BoundingBox> triggers;
std::vector<std::string> sprites;
std::vector<Vector3> billboards;
public:
LOADING_FUNC LoadMap(std::string mapName);
LIGHTING_FUNC UpdateLighting(Vector3 cameraPosition);
RENDERING_FUNC RenderBillboards();
RENDERING_FUNC RenderBoxes();
PHYSICS_BOOL IsColliding(BoundingBox box);
CollideCollAdvancedResult CollideCollAdvanced(Vector3 newbox, Vector3 oldbox, int margin, int height);
PHYSICS_FUNC CheckForTriggers(BoundingBox box);
std::string GetMapName();
std::string title, subtitle;
bool shaded = true;
};
}
}