42 lines
741 B
C++
42 lines
741 B
C++
#ifndef YAZE_APP_ZELDA3_COMMON_H
|
|
#define YAZE_APP_ZELDA3_COMMON_H
|
|
|
|
namespace yaze {
|
|
namespace app {
|
|
/**
|
|
* @brief Zelda 3 specific classes and functions.
|
|
* @namespace zelda3
|
|
*/
|
|
namespace zelda3 {
|
|
|
|
class OverworldEntity {
|
|
public:
|
|
enum EntityType {
|
|
kEntrance = 0,
|
|
kExit = 1,
|
|
kItem = 2,
|
|
kSprite = 3,
|
|
kTransport = 4,
|
|
kMusic = 5,
|
|
kTilemap = 6,
|
|
kProperties = 7
|
|
} type_;
|
|
int x_;
|
|
int y_;
|
|
int game_x_;
|
|
int game_y_;
|
|
int entity_id_;
|
|
int map_id_;
|
|
|
|
auto set_x(int x) { x_ = x; }
|
|
auto set_y(int y) { y_ = y; }
|
|
|
|
OverworldEntity() = default;
|
|
|
|
virtual void UpdateMapProperties(short map_id) = 0;
|
|
};
|
|
} // namespace zelda3
|
|
} // namespace app
|
|
} // namespace yaze
|
|
|
|
#endif // YAZE_APP_ZELDA3_COMMON_H
|