You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
VirusAttack/olcCodeJam2023Entry/Level.h

48 lines
757 B

#pragma once
#include "olcPixelGameEngine.h"
#include "Unit.h"
#include "CollectionPoint.h"
class Scenario;
enum LevelName{
STAGE1,
STAGE2,
STAGE3,
STAGE4,
STAGE5,
STAGE6,
STAGE7,
STAGE8,
};
struct UnitData{
UnitType type;
vf2d pos;
bool friendly;
};
struct CPData{
vf2d pos;
float rot;
MemoryType type;
};
//A small level will allocate roughly 640 bits
//Medium: 960
//Large: 1280
struct Level{
LevelName name=STAGE1;
vi2d size={1,1};
Resources player_starting_resources;
Resources enemy_starting_resources;
std::vector<UnitData>unitPlacement;
std::vector<CPData>cpPlacement;
Sound bgm=Sound::COSMOS;
Scenario*scenario;
vf2d cameraStart={96,96};
vf2d worldZoom={1,1};
Pixel levelColor=DARK_GREEN;
int availableMemory=640;
};