#include "Monster.h" #include "DEFINES.h" #include "olcUTIL_DataFile.h" INCLUDE_DATA int Monster::STRATEGY::_GetInt(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)][param].GetInt(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)][param].GetInt(index); } } float Monster::STRATEGY::_GetFloat(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)][param].GetReal(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)][param].GetReal(index); } } std::string Monster::STRATEGY::_GetString(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)][param].GetString(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)][param].GetString(index); } } void Monster::STRATEGY::RUN_STRATEGY(Monster&m,float fElapsedTime){ switch(m.strategy){ case 0:{//Run Towards Monster::STRATEGY::RUN_TOWARDS(m,fElapsedTime,m.strategy); }break; case 1:{//Shoot Afar Monster::STRATEGY::SHOOT_AFAR(m,fElapsedTime,m.strategy); }break; case 2:{//Turret. Monster::STRATEGY::TURRET(m,fElapsedTime,m.strategy); }break; } }