Test values

This commit is contained in:
Martin 2022-12-19 12:00:55 +01:00
parent 83c0be7961
commit e8fc5a1ec9
6 changed files with 54 additions and 7 deletions

View File

@ -195,6 +195,8 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": null, "__prefab": null,
"startTime": 500,
"startXP": 10,
"maxHpLevel": 0, "maxHpLevel": 0,
"bonusDamageLevel": 0, "bonusDamageLevel": 0,
"projectilePiercingLevel": 0, "projectilePiercingLevel": 0,

View File

@ -78,20 +78,24 @@ export class GeneralEnemySpawnerSettings {
public cooldown = 0; public cooldown = 0;
} }
export class WaveEnemySpawnerSettings { export class WaveEnemySpawnerSettings implements ISpawner {
public common = new GeneralEnemySpawnerSettings(); public common = new GeneralEnemySpawnerSettings();
public enemiesToSpawn = 0; public enemiesToSpawn = 0;
} }
export class CircularEnemySpawnerSettings { export class CircularEnemySpawnerSettings implements ISpawner {
public common = new GeneralEnemySpawnerSettings(); public common = new GeneralEnemySpawnerSettings();
public enemiesToSpawn = 0; public enemiesToSpawn = 0;
} }
export class IndividualEnemySpawnerSettings { export class IndividualEnemySpawnerSettings implements ISpawner {
public common = new GeneralEnemySpawnerSettings(); public common = new GeneralEnemySpawnerSettings();
} }
export interface ISpawner {
common: GeneralEnemySpawnerSettings;
}
export class EnemySettings { export class EnemySettings {
public id = ""; public id = "";
public moveType = ""; public moveType = "";

View File

@ -1,4 +1,5 @@
import { Camera, Component, JsonAsset, KeyCode, Vec2, _decorator } from "cc"; import { Camera, Component, JsonAsset, KeyCode, Vec2, _decorator } from "cc";
import { runInThisContext } from "vm";
import { ModalWindowManager } from "../Services/ModalWindowSystem/ModalWindowManager"; import { ModalWindowManager } from "../Services/ModalWindowSystem/ModalWindowManager";
import { delay } from "../Services/Utils/AsyncUtils"; import { delay } from "../Services/Utils/AsyncUtils";
import { Background } from "./Background/Background"; import { Background } from "./Background/Background";
@ -13,6 +14,7 @@ import { MultiInput } from "./Input/MultiInput";
import { VirtualJoystic } from "./Input/VirtualJoystic"; import { VirtualJoystic } from "./Input/VirtualJoystic";
import { GameModalLauncher } from "./ModalWIndows/GameModalLauncher"; import { GameModalLauncher } from "./ModalWIndows/GameModalLauncher";
import { Pauser } from "./Pauser"; import { Pauser } from "./Pauser";
import { TestValues } from "./TestGameRunner";
import { GameUI } from "./UI/GameUI"; import { GameUI } from "./UI/GameUI";
import { EnemyManager } from "./Unit/Enemy/EnemyManager"; import { EnemyManager } from "./Unit/Enemy/EnemyManager";
import { MetaUpgrades } from "./Unit/MetaUpgrades/MetaUpgrades"; import { MetaUpgrades } from "./Unit/MetaUpgrades/MetaUpgrades";
@ -57,7 +59,12 @@ export class Game extends Component {
this.gamePauser.pause(); this.gamePauser.pause();
} }
public async playGame(userData: UserData, settings: GameSettings, translationData: TranslationData): Promise<GameResult> { public async playGame(
userData: UserData,
settings: GameSettings,
translationData: TranslationData,
testValues?: TestValues
): Promise<GameResult> {
const metaUpgrades = new MetaUpgrades(userData.game.metaUpgrades, settings.metaUpgrades); const metaUpgrades = new MetaUpgrades(userData.game.metaUpgrades, settings.metaUpgrades);
this.virtualJoystic.init(); this.virtualJoystic.init();
@ -113,6 +120,12 @@ export class Game extends Component {
this.gameUI.init(this.player); this.gameUI.init(this.player);
this.background.init(this.player.node); this.background.init(this.player.node);
if (testValues) {
this.timeAlive += testValues.startTime;
this.player.Level.addXp(testValues.startXP);
}
this.gamePauser.resume(); this.gamePauser.resume();
// while not dead // while not dead

View File

@ -1,13 +1,17 @@
import { approx, CCInteger, Component, _decorator } from "cc"; import { CCInteger, Component, _decorator } from "cc";
import { AppRoot } from "../AppRoot/AppRoot"; import { AppRoot } from "../AppRoot/AppRoot";
import { GameRunner } from "../Menu/GameRunner"; import { GameRunner } from "../Menu/GameRunner";
import { delay } from "../Services/Utils/AsyncUtils"; import { delay } from "../Services/Utils/AsyncUtils";
import { GameSettings, ISpawner } from "./Data/GameSettings";
import { UserData } from "./Data/UserData"; import { UserData } from "./Data/UserData";
import { Game } from "./Game"; import { Game } from "./Game";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass("TestGameRunner") @ccclass("TestGameRunner")
export class TestGameRunner extends Component { export class TestGameRunner extends Component {
@property(CCInteger) private startTime = 0;
@property(CCInteger) private startXP = 0;
@property(CCInteger) private maxHpLevel = 0; @property(CCInteger) private maxHpLevel = 0;
@property(CCInteger) private bonusDamageLevel = 0; @property(CCInteger) private bonusDamageLevel = 0;
@property(CCInteger) private projectilePiercingLevel = 0; @property(CCInteger) private projectilePiercingLevel = 0;
@ -30,6 +34,28 @@ export class TestGameRunner extends Component {
testUserData.game.metaUpgrades.movementSpeedLevel = this.movementSpeedLevel; testUserData.game.metaUpgrades.movementSpeedLevel = this.movementSpeedLevel;
testUserData.game.metaUpgrades.xpGathererLevel = this.xpGathererLevel; testUserData.game.metaUpgrades.xpGathererLevel = this.xpGathererLevel;
testUserData.game.metaUpgrades.goldGathererLevel = this.goldGathererLevel; testUserData.game.metaUpgrades.goldGathererLevel = this.goldGathererLevel;
Game.Instance.playGame(testUserData, AppRoot.Instance.Settings, AppRoot.Instance.TranslationData);
const settings = this.getTimeModifiedSettings(AppRoot.Instance.Settings);
Game.Instance.playGame(testUserData, settings, AppRoot.Instance.TranslationData, { startTime: this.startTime, startXP: this.startXP });
}
private getTimeModifiedSettings(settings: GameSettings): GameSettings {
const spawners: ISpawner[] = [
...settings.enemyManager.circularEnemySpawners,
...settings.enemyManager.individualEnemySpawners,
...settings.enemyManager.waveEnemySpawners
];
for (const spawner of spawners) {
spawner.common.startDelay -= this.startTime;
spawner.common.stopDelay -= this.startTime;
}
return settings;
} }
} }
export class TestValues {
public startTime = 0;
public startXP = 0;
}

View File

@ -1,5 +1,5 @@
import { Component, _decorator } from "cc"; import { Component, _decorator } from "cc";
import { UnitHealth } from "../UnitHealth"; import { UnitHealth } from "../../UnitHealth";
import { PlayerHealthUI } from "./PlayerHealthUI"; import { PlayerHealthUI } from "./PlayerHealthUI";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;

View File

@ -40,5 +40,7 @@ export class UnitLevel {
this.currentLevel++; this.currentLevel++;
this.levelUpEvent.trigger(this.currentLevel); this.levelUpEvent.trigger(this.currentLevel);
this.tryLevelUp();
} }
} }