mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-22 17:18:12 +01:00
58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
#include "SpawnPointManager.h"
|
|
bool SpawnPointManager::getAutomaticSpawn(){
|
|
return this->automaticSpawn;
|
|
}
|
|
List_T<GameObject>* SpawnPointManager::getSpawnPoints()
|
|
{
|
|
return this->spawnPoints;
|
|
}
|
|
List_T<GameObject>* SpawnPointManager::getGraveyardSpawnPoints()
|
|
{
|
|
return this->graveyardSpawnPoints;
|
|
}
|
|
void SpawnPointManager::Start()
|
|
{
|
|
this->Refresh();
|
|
}
|
|
void SpawnPointManager::Refresh()
|
|
{
|
|
if (this->spawnPoints == null) {
|
|
return;
|
|
}
|
|
this->spawnPoints->Clear();
|
|
this->graveyardSpawnPoints->Clear();
|
|
FOREACH(_TRANSFORM, MonoBehaviour::transform) {
|
|
Transform deref_transform = *_TRANSFORM;
|
|
Transform* transform = &deref_transform;
|
|
if (!transform->name->StartsWith(new String("GY"))) {
|
|
this->spawnPoints->Add(transform->gameObject);
|
|
}
|
|
else {
|
|
this->graveyardSpawnPoints->Add(transform->gameObject);
|
|
}
|
|
}
|
|
}
|
|
GameObject* SpawnPointManager::GetSpawnPoint()
|
|
{
|
|
if (this->spawnPoints->Count == 0) {
|
|
return null;
|
|
}
|
|
int index = UnityEngine::Random::Range(0, this->spawnPoints->Count);
|
|
return this->spawnPoints->GetData(index);
|
|
}
|
|
GameObject* SpawnPointManager::GetGraveyardSpawnPoint()
|
|
{
|
|
if (this->getGraveyardSpawnPoints()->Count == 0) {
|
|
return this->GetSpawnPoint();
|
|
}
|
|
int index = UnityEngine::Random::Range(0, this->graveyardSpawnPoints->Count);
|
|
return this->graveyardSpawnPoints->GetData(index);
|
|
}
|
|
SpawnPointManager::SpawnPointManager()
|
|
{
|
|
automaticSpawn = true;
|
|
spawnPoints = new List_T<GameObject>();
|
|
graveyardSpawnPoints = new List_T<GameObject>();
|
|
}
|
|
|