void Location::AddCharacter(CurrentCharacter* currentCharacter) { char query[256]; sprintf(query, "INSERT INTO CurrentCharacter(baseId, x, y, locationId) VALUES(%d, %d, %d, %d)", currentCharacter->base->id, currentCharacter->x, currentCharacter->y, currentCharacter->currentLocation->id); sqlite3_exec(Game::instance->db, query, NULL, NULL, NULL); SpawnCharacter(currentCharacter); }
void ABossSpawnpoint::BeginPlay() { int i; GroupEnums::Role role = UGroup::GetRandomRole(); GroupEnums::Role bossRole = ABoss::GetRandomRole(); UGroup* group = UGroup::CreateGroup(team); bool healerSpawned = false; ABoss* boss = dynamic_cast<ABoss*>(SpawnCharacter(bossClass, 400)); if (bossRole == GroupEnums::Healer) { if (!healerSpawned) { healerSpawned = true; } } SetUpCharacter(boss, group, bossRole); loop(i, amountOfMechanics) { ABossMechanic* bossMechanic = dynamic_cast<ABossMechanic*>(SpawnCharacter(mechanicClass, 400)) ; if (bossMechanic != nullptr) { if (role == GroupEnums::Healer) { if (!healerSpawned) { healerSpawned = true; } else { while (role == GroupEnums::Healer) { role = UGroup::GetRandomRole(); } } } SetUpCharacter(Cast<AMech_RPGCharacter>(bossMechanic), group, role); } }