123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- /**
- * Copyright (c) 2011 Nokia Corporation.
- */
- /**
- * Hides the missiles.
- */
- function hideMissiles()
- {
- missile_1.stop();
- missile_1.opacity = 0;
- missile_2.stop();
- missile_2.opacity = 0;
- missile_3.stop();
- missile_3.opacity = 0;
- missile_4.stop();
- missile_4.opacity = 0;
- missile_5.stop();
- missile_5.opacity = 0;
- enemy_missile_1.opacity = 0;
- enemy_missile_2.opacity = 0;
- }
- /**
- *
- */
- function gameOver()
- {
- // Stop GameEngine timers
- GameEngine.enableEngineTimer(false);
- // Delete loaded plugin level
- deleteLevel();
- // Hiding
- myShip.opacity = 0;
- btnPause.opacity = 0;
- }
- /**
- * Pauses the game.
- *
- * @param doPause
- */
- function pauseGame(doPause)
- {
- missile_1.pause(doPause)
- missile_2.pause(doPause)
- missile_3.pause(doPause)
- missile_4.pause(doPause)
- missile_5.pause(doPause)
- enemy_missile_1.pause(doPause)
- enemy_missile_2.pause(doPause)
- if (doPause) {
- btnPause.opacity = 0
- myShip.focus = false;
- }
- else {
- btnPause.opacity = 1
- myShip.focus = true;
- }
- GameEngine.pauseLevel(doPause)
- }
- /**
- * Fires the player's missile.
- *
- * @param aXpox
- * @param aFromYpos
- * @param aToYpos
- */
- function fireMissile(aXpox, aFromYpos, aToYpos)
- {
- if (missile_1.opacity < 1) {
- missile_1.fire(aXpox,aFromYpos,aToYpos)
- }
- else if (missile_2.opacity < 1) {
- missile_2.fire(aXpox,aFromYpos,aToYpos)
- }
- else if (missile_3.opacity < 1) {
- missile_3.fire(aXpox,aFromYpos,aToYpos)
- }
- else if (missile_4.opacity < 1) {
- missile_4.fire(aXpox,aFromYpos,aToYpos)
- }
- else if (missile_5.opacity < 1) {
- missile_5.fire(aXpox,aFromYpos,aToYpos)
- }
- }
- /**
- * Fires enemy missile. This function is called from the Qt C++ code.
- *
- * @param aXpox
- * @param aFromYpos
- * @param aToYpos
- */
- function fireEnemyMissile(aXpox, aFromYpos, aToYpos)
- {
- if (enemy_missile_1.opacity == 0) {
- enemy_missile_1.enemyFire(aXpox, aFromYpos, aToYpos)
- }
- else if (enemy_missile_2.opacity == 0) {
- enemy_missile_2.enemyFire(aXpox, aFromYpos, aToYpos)
- }
- }
- /**
- * Creates the level QML component.
- */
- function createLevel()
- {
- var levelComponent =
- Qt.createComponent("file:/" + LevelPlugin.qmlRootPath() + "Level.qml");
- if (levelComponent.status == Component.Ready) {
- if (gameArea.levelPlugin) {
- deleteLevel();
- }
- gameArea.levelPlugin = levelComponent.createObject(levelId);
- if (gameArea.levelPlugin == null) {
- messageBox.showErrorMessage("Error: Failed to create level!", 6000);
- return 1;
- }
- }
- else {
- messageBox.showErrorMessage("Error: Failed to create level!", 6000);
- return 1;
- }
- missile_1.createGraphicsForLevel();
- missile_1.setToDefaultPos();
- missile_2.createGraphicsForLevel();
- missile_2.setToDefaultPos();
- missile_3.createGraphicsForLevel();
- missile_3.setToDefaultPos();
- missile_4.createGraphicsForLevel();
- missile_4.setToDefaultPos();
- missile_5.createGraphicsForLevel();
- missile_5.setToDefaultPos();
- enemy_missile_1.createGraphicsForLevel();
- enemy_missile_2.createGraphicsForLevel();
- myShip.createGraphicsForLevel();
- return 0;
- }
- /**
- * Deletes the current level.
- */
- function deleteLevel()
- {
- if (gameArea.levelPlugin) {
- GameEngine.clearQmlObjects();
- gameArea.levelPlugin.opacity = 0;
- gameArea.levelPlugin.destroy();
- gameArea.levelPlugin = 0;
- }
- }
|