示例#1
0
    private void SpawnParts()
    {
        if (!spawnTimer.IsLocked())
        {
            spawnTimer.SetLock(true);
            spawnTimer.SetTimer(spawnTime);
        }

        if (spawnTimer.IsLocked())
        {
            spawnTimer.RecordTime(Time.deltaTime);
        }

        if (spawnTimer.IsDone())
        {
            spawnTimer.SetLock(false);

            puzzlesToSpawnPool = Shuffle(puzzlesToSpawnPool);
            PuzzleController spawn = puzzlesToSpawnPool[0];

            if (isSpawningLeft && spawn.IsLeftSide())
            {
                puzzlesInPlayPool.Add(spawn);

                spawn.SetVisable(true);
                spawn.SetActive(true);

                puzzlesToSpawnPool.Remove(spawn);
            }

            if (isSpawningRight && !spawn.IsLeftSide())
            {
                puzzlesInPlayPool.Add(spawn);

                spawn.SetVisable(true);
                spawn.SetActive(true);

                puzzlesToSpawnPool.Remove(spawn);
            }
        }
    }