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.
|
|
|
#pragma once
|
|
|
|
#include "olcPixelGameEngine.h"
|
|
|
|
#include "Unit.h"
|
|
|
|
#include "CollectionPoint.h"
|
|
|
|
|
|
|
|
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;
|
|
|
|
vf2d cameraStart={96,96};
|
|
|
|
vf2d worldZoom={1,1};
|
|
|
|
Pixel levelColor=DARK_GREEN;
|
|
|
|
int availableMemory=640;
|
|
|
|
};
|