author | alfadur |
Tue, 01 Oct 2019 23:53:09 +0300 | |
changeset 15445 | 96e438b114f0 |
parent 15222 | b32c52c76977 |
permissions | -rw-r--r-- |
12859 | 1 |
import QtQuick 2.7 |
14148 | 2 |
import Hedgewars.Engine 1.0 |
12859 | 3 |
|
4 |
Page1Form { |
|
14859
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
5 |
focus: true |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
6 |
|
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
7 |
property HWEngine hwEngine |
14920 | 8 |
property NetSession netSession |
14376
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
9 |
|
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
10 |
Component { |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
11 |
id: hwEngineComponent |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
12 |
|
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
13 |
HWEngine { |
14377
b6824a53d4b1
Allow to instantiate HWEngine with different library binaries
unC0Rr
parents:
14376
diff
changeset
|
14 |
engineLibrary: "./libhedgewars_engine.so" |
14376
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
15 |
previewAcceptor: PreviewAcceptor |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
16 |
onPreviewImageChanged: previewImage.source = "image://preview/image" |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
17 |
onPreviewIsRendering: previewImage.source = "qrc:/res/iconTime.png" |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
18 |
} |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
19 |
} |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
20 |
|
14920 | 21 |
Component { |
22 |
id: netSessionComponent |
|
23 |
||
24 |
NetSession { |
|
25 |
nickname: "test0272" |
|
26 |
url: "hwnet://gameserver.hedgewars.org:46632" |
|
27 |
} |
|
28 |
} |
|
29 |
||
14376
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
30 |
Component.onCompleted: { |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
31 |
hwEngine = hwEngineComponent.createObject() |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
32 |
} |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14303
diff
changeset
|
33 |
|
14859
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
34 |
tickButton { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
35 |
onClicked: { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
36 |
tickButton.visible = false |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
37 |
gameView.tick(100) |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
38 |
} |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
39 |
} |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
40 |
gameButton { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
41 |
visible: !gameView.engineInstance |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
42 |
onClicked: { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
43 |
var engineInstance = hwEngine.runQuickGame() |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
44 |
gameView.engineInstance = engineInstance |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
45 |
} |
14148 | 46 |
} |
14859
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
47 |
button1 { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
48 |
visible: !gameView.engineInstance |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
49 |
onClicked: { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
50 |
hwEngine.getPreview() |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
51 |
} |
14148 | 52 |
} |
14920 | 53 |
netButton.onClicked: { |
54 |
netSession = netSessionComponent.createObject() |
|
55 |
netSession.open() |
|
56 |
} |
|
14859
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
57 |
|
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
58 |
Keys.onPressed: { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
59 |
if (event.key === Qt.Key_Enter) |
15222 | 60 |
gameView.engineInstance.longEvent(Engine.Attack, Engine.Set) |
14859
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
61 |
} |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
62 |
|
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
63 |
Keys.onReleased: { |
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14377
diff
changeset
|
64 |
if (event.key === Qt.Key_Enter) |
15222 | 65 |
gameView.engineInstance.longEvent(Engine.Attack, Engine.Unset) |
12859 | 66 |
} |
67 |
} |