예제 #1
0
void enemyManager::loadEnemy()
{
	char str[128], temp[150000];

	//에너미 데이터 불러오기
	sprintf_s(str, "Stage%d_enemy.txt", _stageNum);
	ifstream loadEnemy(str);

	int dataOrder = 0;		//데이터 순서(개수)
	tagEnemy enemy;
	while (!loadEnemy.eof())
	{
		loadEnemy.getline(temp, 100);
		if (dataOrder % 3 == 0)			//0번째 데이터 type
		{
			enemy.type = (ENEMYTYPE)atoi(temp);
		}
		else if (dataOrder % 3 == 1)	//1번째 데이터 x
		{
			enemy.x = atoi(temp);
		}
		else if (dataOrder % 3 == 2)	//2번째 데이터 y
		{
			enemy.y = atoi(temp);
			setEnemy(enemy);
		}
		dataOrder++;
	}
}
예제 #2
0
HRESULT enemyManager::init(int stageNum)
{
	_stageNum = stageNum;
	loadEnemy();

	return S_OK;
}
예제 #3
0
int Map::load(std::string fname) {
	FileParser infile;
	maprow *cur_layer = NULL;

	clearEvents();
	clearLayers();
	clearQueues();

	// @CLASS Map|Description of maps/
	if (!infile.open(fname))
		return 0;

	this->filename = fname;

	while (infile.next()) {
		if (infile.new_section) {

			// for sections that are stored in collections, add a new object here
			if (infile.section == "enemy")
				enemies.push(Map_Enemy());
			else if (infile.section == "enemygroup")
				enemy_groups.push(Map_Group());
			else if (infile.section == "npc")
				npcs.push(Map_NPC());
			else if (infile.section == "event")
				events.push_back(Event());

		}
		if (infile.section == "header")
			loadHeader(infile);
		else if (infile.section == "layer")
			loadLayer(infile, &cur_layer);
		else if (infile.section == "enemy")
			loadEnemy(infile);
		else if (infile.section == "enemygroup")
			loadEnemyGroup(infile, &enemy_groups.back());
		else if (infile.section == "npc")
			loadNPC(infile);
		else if (infile.section == "event")
			EventManager::loadEvent(infile, &events.back());
	}

	infile.close();

	return 0;
}