Vector3 generateSpawnPosition(Spawnable spawnable) { BoundManager.boundingBox bbox = _boundManager.bbox(); float spawnableX = spawnable.useParentSpawnPosition ? _spawnPosition.x : spawnable.spawnPosition.x; float spawnableY = spawnable.useParentSpawnPosition ? _spawnPosition.y : spawnable.spawnPosition.y; float spawnX = spawnable.randomSpawn.x || _randomSpawn.x ? Random.Range(_bbox.xMin, _bbox.xMax) : Mathf.Clamp(spawnableX, _bbox.xMin, _bbox.xMax); float spawnY = spawnable.randomSpawn.y || _randomSpawn.y ? Random.Range(_bbox.yMin, _bbox.yMax) : Mathf.Clamp(spawnableY, _bbox.yMin, _bbox.yMax); return(new Vector3(spawnX, spawnY, 0)); }
void Start() { _boundManager = _managers.boundManager; _bbox = _boundManager.bbox(); _gameManager = _managers.gameManager; }