#pragma once #define INCLUDE_ANIMATION_DATA extern std::map<AnimationState,Animate2D::FrameSequence>ANIMATION_DATA; #define INCLUDE_MONSTER_LIST extern std::vector<Monster>MONSTER_LIST; #define INCLUDE_SPAWNER_LIST extern std::vector<MonsterSpawner>SPAWNER_LIST; #define INCLUDE_DAMAGENUMBER_LIST extern std::vector<DamageNumber>DAMAGENUMBER_LIST; #define INCLUDE_game extern Crawler*game; #define INCLUDE_MONSTER_DATA extern std::map<MonsterName,MonsterData>MONSTER_DATA; #define INCLUDE_BULLET_LIST extern std::vector<std::unique_ptr<Bullet>>BULLET_LIST; #define INCLUDE_PARTICLE_LIST extern std::vector<Particle>PARTICLE_LIST; #define INCLUDE_EMITTER_LIST extern std::vector<std::unique_ptr<Emitter>>EMITTER_LIST; #define ACCESS_PLAYER Player*p=game->GetPlayer(); #define INFINITE 999999 #define SETUP_CLASS(class) \ class::class(){} \ class::class(Player*player) \ :Player::Player(player){} \ Class class::GetClass(){return cl;} \ std::string class::GetClassName(){return name;} \ Ability&class::GetRightClickAbility(){return rightClickAbility;}; \ Ability&class::GetAbility1(){return ability1;}; \ Ability&class::GetAbility2(){return ability2;}; \ Ability&class::GetAbility3(){return ability3;}; \ Ability&class::GetAbility4(){return ability4;}; \ AnimationState&class::GetWalkNAnimation(){return walk_n;}; \ AnimationState&class::GetWalkEAnimation(){return walk_e;}; \ AnimationState&class::GetWalkSAnimation(){return walk_s;}; \ AnimationState&class::GetWalkWAnimation(){return walk_w;}; \ AnimationState&class::GetIdleNAnimation(){return idle_n;}; \ AnimationState&class::GetIdleEAnimation(){return idle_e;}; \ AnimationState&class::GetIdleSAnimation(){return idle_s;}; \ AnimationState&class::GetIdleWAnimation(){return idle_w;};