private void InitializeSingleDirectionMovingSpawners(List <Vector3> positions) { if (positions == null) { return; } CodeDrop.Canvas = _canvas; CodeDrop.VoodooPool = _voodooCharacterPool; foreach (Vector3 position in positions) { GameObject codeDropObject = Instantiate(_codeDropPrefab, position, Quaternion.identity, _codeDropsHolder); CodeDrop codeDrop = codeDropObject.GetComponent <CodeDrop>(); codeDrop.Screen = _mainCamera; codeDrop.ScreenOffsets = Vector2.zero; codeDrop.Direction = Vector2.down; codeDrop.StartPosition = position; codeDrop.Speed = Random.Range(1.5f, 4); codeDrop.SpawnDelay = (_locationGenerator.LocationSpacing / codeDrop.Speed); codeDrop.CanMove = true; codeDrop.CanSpawn = true; codeDrop.MaxSpawnedVoodoos = 30; } }
private void InitializeBidirectionalMovingSpawners(List <Vector3> topPositions, List <Vector3> bottomPositions) { if (topPositions == null || bottomPositions == null) { return; } if (topPositions.Count != bottomPositions.Count) { return; } CodeDrop.Canvas = _canvas; CodeDrop.VoodooPool = _voodooCharacterPool; for (int i = 0; i < topPositions.Count; i++) { Vector2 direction = Random.Range(0, 2) < 1 ? Vector2.down : Vector2.up; Vector3 spawnPosition = direction == Vector2.down ? topPositions[i] : bottomPositions[i]; GameObject codeDropObject = Instantiate(_codeDropPrefab, spawnPosition, Quaternion.identity, _codeDropsHolder); CodeDrop codeDrop = codeDropObject.GetComponent <CodeDrop>(); codeDrop.Screen = _mainCamera; codeDrop.ScreenOffsets = Vector2.zero; codeDrop.Direction = direction; codeDrop.StartPosition = spawnPosition; codeDrop.Speed = Random.Range(2, 5); codeDrop.SpawnDelay = (_locationGenerator.LocationSpacing / codeDrop.Speed); codeDrop.CanMove = true; codeDrop.CanSpawn = true; codeDrop.MaxSpawnedVoodoos = 30; } }