mirror of
https://github.com/QuasarApp/Hanoi-Towers.git
synced 2025-04-28 02:34:33 +00:00
195 lines
4.0 KiB
QML
195 lines
4.0 KiB
QML
//#
|
|
//# Copyright (C) 2018 - 2021 QuasarApp.
|
|
//# Distributed under the lgplv3 software license, see the accompanying
|
|
//# Everyone is permitted to copy and distribute verbatim copies
|
|
//# of this license document, but changing it is not allowed.
|
|
//#
|
|
|
|
|
|
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Controls.Material 2.15
|
|
import NotifyModule 1.0
|
|
import "./menu" as Menu
|
|
|
|
import QtQuick.Layouts 1.3
|
|
|
|
ApplicationWindow {
|
|
visible: true
|
|
id: gameWindow
|
|
width: 1240
|
|
height: 720
|
|
title: qsTr("Hanoi Towers")
|
|
property var admodbanner: null
|
|
|
|
function createAdBobObjects(url, parent) {
|
|
if (!(backEnd.isAndroid() && backEnd.isAdMod())) {
|
|
return null;
|
|
}
|
|
const component = Qt.createComponent(url);
|
|
return component.createObject(parent);
|
|
}
|
|
|
|
function showAdMobBanner() {
|
|
if (admodbanner) {
|
|
admodbanner.show()
|
|
}
|
|
}
|
|
|
|
function hideLoad() {
|
|
loadAdScrean.visible = false
|
|
}
|
|
|
|
function hideerrLoad(errorID) {
|
|
loadAdScrean.visible = false
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
const obj = createAdBobObjects("qrc:/admod/AdMobInterstitialAndroid.qml", this);
|
|
if (obj) {
|
|
admodbanner = obj;
|
|
|
|
loadAdScrean.visible = true;
|
|
|
|
admodbanner.loadError.connect(hideerrLoad)
|
|
admodbanner.loaded.connect(hideLoad)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
header: Menu.ToolBarPage {
|
|
id: toolBar
|
|
state: stackview.state
|
|
|
|
onReturnToMenu: {
|
|
stackview.state = "MainMenu"
|
|
}
|
|
|
|
onRestart: {
|
|
gamePage.start(level);
|
|
}
|
|
}
|
|
|
|
|
|
background: Background {
|
|
source: "qrc:/textures/res/fogBack.png"
|
|
anchors.fill: parent
|
|
opacity: 0.2
|
|
}
|
|
|
|
contentData: SwipeView {
|
|
id: stackview
|
|
state: "MainMenu"
|
|
anchors.fill: parent
|
|
interactive: false
|
|
|
|
background: Item {}
|
|
|
|
Menu.MainMenu {
|
|
id: mainmenu
|
|
onlineStatus : toolBar.onlineStatus
|
|
onStart: {
|
|
stackview.state = "Game"
|
|
gamePage.launch();
|
|
|
|
}
|
|
|
|
onLoad: {
|
|
stackview.state = "Game"
|
|
gamePage.load();
|
|
|
|
}
|
|
|
|
onNewState: {
|
|
stackview.state = state;
|
|
}
|
|
|
|
gameState: gamePage.stateData
|
|
}
|
|
|
|
Menu.LocalUsersTable {
|
|
id: usersTable
|
|
}
|
|
|
|
Menu.World {
|
|
id: worldTable
|
|
}
|
|
|
|
Menu.Config {
|
|
id: configPage
|
|
}
|
|
|
|
About {
|
|
id: aboutPage
|
|
}
|
|
|
|
Game {
|
|
id: gamePage
|
|
stateWidget: gameWindow.header.gameState
|
|
}
|
|
|
|
states: [
|
|
State {
|
|
name: "MainMenu"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 0
|
|
}
|
|
},
|
|
State {
|
|
name: "UsersTable"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 1
|
|
}
|
|
},
|
|
|
|
State {
|
|
name: "WorldTable"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 2
|
|
}
|
|
},
|
|
|
|
State {
|
|
name: "Settings"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 3
|
|
}
|
|
},
|
|
|
|
State {
|
|
name: "About"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 4
|
|
}
|
|
},
|
|
|
|
State {
|
|
name: "Game"
|
|
PropertyChanges {
|
|
target: stackview
|
|
currentIndex: 5
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|
|
|
|
NotificationServiceView {
|
|
anchors.fill: parent;
|
|
}
|
|
|
|
Menu.PremiumLoader {
|
|
}
|
|
|
|
Menu.AdLoadScrean {
|
|
id: loadAdScrean
|
|
visible: false
|
|
}
|
|
}
|