summaryrefslogtreecommitdiff
path: root/kurator/src/ScenarioEditor.h
blob: fe82fa82735840063557a71b7ae941051a758ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#pragma once

#include <array>
#include <memory>
#include <vector>

#include <kurator/campaign/Loadout.h>
#include <kurator/universe/Repository.h>

#include "Scene.h"
#include "SceneFrame.h"
#include "Session.h"


namespace kurator
{


struct Group
{
	campaign::Loadout loadout;
	std::array<int, 6> counts = {0};
};


class ScenarioEditor : public Scene
{
public:
	explicit ScenarioEditor(std::shared_ptr<Session> _session);
	void update() override;
	void draw() const override;
	void start_battle();
private:
	void regenerate();
	std::shared_ptr<Session> session;
	std::shared_ptr<universe::Repository> repository;
	std::shared_ptr<Scene> battle;
	SceneFrame frame;
	float radius;
	std::vector<Group> groups;
};


}  // namespace kurator