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