summary refs log tree commit diff stats
path: root/Source/Randomizer2.h
blob: 6e79694821fe87dddaba3153c130e93b8eba2251 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include <memory>
#include "PuzzleSerializer.h"

class Memory;
class Randomizer2 {
public:
    Randomizer2(const std::shared_ptr<Memory>& memory);
    void Randomize();
    void RandomizeTutorial();
    void RandomizeKeep();
    
private:
    Puzzle GetUniqueSolution(Puzzle& p);
    void SetGate(int panel, int X, int Y);
    void SetPos(int panel, float x, float y, float z);

    std::shared_ptr<Memory> _memory;
    PuzzleSerializer _serializer;
};