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.
56 lines
930 B
56 lines
930 B
#pragma once
|
|
#include "pixelGameEngine.h"
|
|
using namespace olc;
|
|
|
|
enum class FacingDirection {
|
|
NORTH, EAST, SOUTH, WEST
|
|
};
|
|
|
|
enum EnemyID {
|
|
EXIT,
|
|
SHOOTME,
|
|
POWERUP_ARMOR=57,
|
|
POWERUP_SPEED=58,
|
|
POWERUP_SHOT=59,
|
|
SPECIAL_CAMO=60,
|
|
SPECIAL_STOP=61,
|
|
SPECIAL_SHIELD=62,
|
|
AREA_MAP=63,
|
|
};
|
|
|
|
/*
|
|
enum Wave {
|
|
WAVE0=0,
|
|
WAVE1=1,
|
|
WAVE2=2,
|
|
WAVE3=4
|
|
};
|
|
|
|
enum WallDirection {
|
|
NONE = 0,
|
|
NORTH = 1,
|
|
EAST = 2,
|
|
SOUTH = 4,
|
|
WEST = 8
|
|
};*/
|
|
|
|
struct Tile {
|
|
EnemyID enemyId=SHOOTME;
|
|
FacingDirection facingDir=FacingDirection::EAST;
|
|
byte spawnWave=0;
|
|
byte walls=0;
|
|
bool blink=false;
|
|
};
|
|
|
|
class Editor {
|
|
int level;
|
|
vi2d MAP_SIZE;
|
|
bool reEnableTextEntry; //We must set this to true to cause Text Entry to reappear due to how the callback works.
|
|
std::vector<std::vector<Tile>> map;
|
|
public:
|
|
Editor() {}
|
|
void Update(float fElapsedTime);
|
|
void OnTextEntryComplete(const std::string& sText);
|
|
void LoadLevel();
|
|
void LoadLevelHandling();
|
|
}; |