예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }