Esempio n. 1
0
    // Start is called before the first frame update
    void Awake()
    {
        simulator      = new BlockMapSimulator(Width, Height, BlockRegistry);
        levelGenerator = new BlockLevelGenerator(BlockRegistry, MaterialRegistry, InstantiateBlock, CanPlace);

        if (!IsEditor)
        {
            if (LevelRegistry)
            {
                LevelPatternSaveAsset = LevelRegistry.Patterns[Random.Range(0, LevelRegistry.Patterns.Length)];
            }
            if (LevelPatternSaveAsset)
            {
                LoadFromLevelPatternAsset();
            }
            if (LevelPatternSaveAsset)
            {
                LoadFromLevelPatternAsset();
            }
            else
            {
                levelGenerator.GenerateLevel();
            }
        }
        else
        {
            if (LevelPatternSaveAsset)
            {
                LoadFromLevelPatternAsset();
            }
            int x = 0;
            int y = 4;
            foreach (var block in BlockRegistry.Blocks)
            {
                x += block.Width + 1;
                if (x > Width)
                {
                    x  = 0;
                    y += 5;
                }
                var kblock = InstantiateBlock(block, BlockOrientation.O0, x, y, MaterialRegistry.Materials[0], false);
                var pos    = kblock.transform.position;
                pos.z = -.5f;
                kblock.transform.position = pos;
                kblock.PushOut(0f);
            }
        }
    }
Esempio n. 2
0
 public void AddSimulatorPoints(BlockMapSimulator simulator)
 {
     //currentScore += simulator.GetPoints();
 }