-
Notifications
You must be signed in to change notification settings - Fork 2
/
NewGame.qml
69 lines (61 loc) · 1.47 KB
/
NewGame.qml
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import QtQuick 2.15
import QtQuick.Controls 2.15
import Game 1.0
import "./ui"
Rectangle {
id: root
property QtObject gameController
property QtObject statModel: gameController.getPlayerStatistics()
property var templates: gameController.getCharacterTemplateList()
property int currentIndex: 0
property bool cmapEnabled: templates.length === 0
color: "black"
Action {
id: acceptedAction
onTriggered: {
statModel.faction = "player";
application.popView();
gameManager.launchNewGame();
}
}
Action {
id: exitAction
text: i18n.t("Cancel")
onTriggered: {
application.popView()
gameManager.endGame();
}
}
CharacterTemplatePicker {
id: templatePicker
templates: root.templates
anchors.fill: parent
visible: !cmapEnabled
onCustomize: {
if (templateName.length > 0)
statModel.fromTemplate(templateName);
cmapEnabled = true;
}
onAccepted: {
statModel.fromTemplate(templateName);
acceptedAction.trigger();
}
}
CharacterSheet {
anchors.fill: parent
characterSheet: statModel
visible: cmapEnabled
Component.onCompleted: {
characterSheet.hitPoints = characterSheet.maxHitPoints
characterSheet.specialPoints = 5;
}
onAccepted: acceptedAction.trigger()
onCanceled: exitAction.trigger()
}
Connections {
target: statModel
function onStatisticsChanged() {
statModel.hitPoints = statModel.maxHitPoints
}
}
}