1 import QtQuick 2.7 |
1 import QtQuick |
2 import Hedgewars.Engine 1.0 |
2 import Hedgewars.Engine 1.0 |
3 |
3 |
4 Page1Form { |
4 Page1Form { |
5 focus: true |
5 focus: true |
6 |
6 |
7 property HWEngine hwEngine |
7 property HWEngine hwEngine |
8 property NetSession netSession |
8 property NetSession netSession |
9 |
9 |
10 Component { |
10 Component { |
11 id: hwEngineComponent |
11 id: hwEngineComponent |
12 |
12 |
13 HWEngine { |
13 HWEngine { |
14 engineLibrary: "../rust/lib-hedgewars-engine/target/debug/libhedgewars_engine.so" |
14 engineLibrary: "../rust/lib-hedgewars-engine/target/debug/libhedgewars_engine.so" |
15 dataPath: "../share/hedgewars/Data" |
15 dataPath: "../share/hedgewars/Data" |
16 previewAcceptor: PreviewAcceptor |
16 previewAcceptor: PreviewAcceptor |
17 onPreviewImageChanged: previewImage.source = "image://preview/image" |
17 onPreviewImageChanged: previewImage.source = "image://preview/image" |
18 onPreviewIsRendering: previewImage.source = "qrc:/res/iconTime.png" |
18 onPreviewIsRendering: previewImage.source = "qrc:/res/iconTime.png" |
19 } |
|
20 } |
19 } |
|
20 } |
21 |
21 |
22 Component { |
22 Component { |
23 id: netSessionComponent |
23 id: netSessionComponent |
24 |
24 |
25 NetSession { |
25 NetSession { |
26 nickname: "test0272" |
26 nickname: "test0272" |
27 url: "hwnet://gameserver.hedgewars.org:46632" |
27 url: "hwnet://gameserver.hedgewars.org:46632" |
28 } |
|
29 } |
28 } |
|
29 } |
30 |
30 |
31 Component.onCompleted: { |
31 Component.onCompleted: { |
32 hwEngine = hwEngineComponent.createObject() |
32 hwEngine = hwEngineComponent.createObject() |
|
33 } |
|
34 |
|
35 tickButton { |
|
36 onClicked: { |
|
37 tickButton.visible = false |
|
38 gameView.tick(100) |
33 } |
39 } |
|
40 } |
|
41 gameButton { |
|
42 visible: !gameView.engineInstance |
|
43 onClicked: { |
|
44 const engineInstance = hwEngine.runQuickGame() |
|
45 gameView.engineInstance = engineInstance |
|
46 } |
|
47 } |
|
48 button1 { |
|
49 visible: !gameView.engineInstance |
|
50 onClicked: { |
|
51 hwEngine.getPreview() |
|
52 } |
|
53 } |
|
54 preview { |
|
55 visible: !gameView.engineInstance |
|
56 } |
34 |
57 |
35 tickButton { |
58 netButton.onClicked: { |
36 onClicked: { |
59 netSession = netSessionComponent.createObject() |
37 tickButton.visible = false |
60 netSession.open() |
38 gameView.tick(100) |
61 } |
39 } |
|
40 } |
|
41 gameButton { |
|
42 visible: !gameView.engineInstance |
|
43 onClicked: { |
|
44 const engineInstance = hwEngine.runQuickGame() |
|
45 gameView.engineInstance = engineInstance |
|
46 } |
|
47 } |
|
48 button1 { |
|
49 visible: !gameView.engineInstance |
|
50 onClicked: { |
|
51 hwEngine.getPreview() |
|
52 } |
|
53 } |
|
54 netButton.onClicked: { |
|
55 netSession = netSessionComponent.createObject() |
|
56 netSession.open() |
|
57 } |
|
58 |
62 |
59 Keys.onPressed: { |
63 Keys.onPressed: { |
60 if (event.key === Qt.Key_Enter) |
64 if (event.key === Qt.Key_Enter) |
61 gameView.engineInstance.longEvent(Engine.Attack, Engine.Set) |
65 gameView.engineInstance.longEvent(Engine.Attack, Engine.Set) |
62 } |
66 } |
63 |
67 |
64 Keys.onReleased: { |
68 Keys.onReleased: { |
65 if (event.key === Qt.Key_Enter) |
69 if (event.key === Qt.Key_Enter) |
66 gameView.engineInstance.longEvent(Engine.Attack, Engine.Unset) |
70 gameView.engineInstance.longEvent(Engine.Attack, Engine.Unset) |
67 } |
71 } |
|
72 |
|
73 gameMouseArea { |
|
74 onPressed: event => { |
|
75 gameMouseArea.lastPoint = Qt.point(event.x, event.y) |
|
76 } |
|
77 onPositionChanged: event => { |
|
78 gameView.engineInstance.moveCamera( |
|
79 Qt.point(event.x - gameMouseArea.lastPoint.x, |
|
80 event.y - gameMouseArea.lastPoint.y)) |
|
81 |
|
82 gameMouseArea.lastPoint = Qt.point(event.x, event.y) |
|
83 } |
|
84 } |
68 } |
85 } |