new enemies

This commit is contained in:
Martin 2022-12-26 18:49:48 +01:00
parent 631d59c8e4
commit b278e81a75
29 changed files with 962 additions and 852 deletions

View File

@ -144,7 +144,7 @@
} }
}, },
"enemyManager": { "enemyManager": {
"projectileLauncher1": { "axeLauncher": {
"enemyIds": [ "enemyIds": [
"SiegeEnemyRanged" "SiegeEnemyRanged"
], ],
@ -153,6 +153,13 @@
"projectileDamage": 4, "projectileDamage": 4,
"cooldown": 2.5 "cooldown": 2.5
}, },
"magicOrbLauncher": {
"enemyIds": [],
"projectileLifetime": 0,
"projectileSpeed": 0,
"projectileDamage": 0,
"cooldown": 0
},
"enemies": [ "enemies": [
{ {
"id": "BasicEnemy", "id": "BasicEnemy",
@ -166,7 +173,7 @@
"goldReward": 0, "goldReward": 0,
"healthPotionRewardChance": 0.01, "healthPotionRewardChance": 0.01,
"magnetRewardChance": 0.01, "magnetRewardChance": 0.01,
"chestRewardChance": 0.0 "chestRewardChance": 0
}, },
{ {
"id": "StandardEnemy", "id": "StandardEnemy",
@ -283,7 +290,7 @@
{ {
"id": "SiegeEnemyRanged", "id": "SiegeEnemyRanged",
"moveType": "PeriodicFollow", "moveType": "PeriodicFollow",
"graphicsType": "Goblin", "graphicsType": "Barbarian",
"health": 25, "health": 25,
"damage": 5, "damage": 5,
"speed": 60, "speed": 60,

View File

@ -0,0 +1,12 @@
{
"ver": "1.1.0",
"importer": "directory",
"imported": true,
"uuid": "2d9684c7-bb09-480c-8bda-bec0fa86b7f4",
"files": [],
"subMetas": {},
"userData": {
"compressionType": {},
"isRemoteBundle": {}
}
}

View File

@ -1,7 +1,7 @@
[ [
{ {
"__type__": "cc.Prefab", "__type__": "cc.Prefab",
"_name": "BarbarianProjectile", "_name": "AxeProjectile",
"_objFlags": 0, "_objFlags": 0,
"_native": "", "_native": "",
"data": { "data": {
@ -13,7 +13,7 @@
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "BarbarianProjectile", "_name": "AxeProjectile",
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": null, "_parent": null,
@ -236,7 +236,7 @@
"__id__": 11 "__id__": 11
}, },
"tag": 0, "tag": 0,
"_group": 4, "_group": 64,
"_density": 1, "_density": 1,
"_sensor": false, "_sensor": false,
"_friction": 0.2, "_friction": 0.2,

View File

@ -8,6 +8,6 @@
], ],
"subMetas": {}, "subMetas": {},
"userData": { "userData": {
"syncNodeName": "BarbarianProjectile" "syncNodeName": "AxeProjectile"
} }
} }

View File

@ -1,7 +1,7 @@
[ [
{ {
"__type__": "cc.Prefab", "__type__": "cc.Prefab",
"_name": "DarkRavenProjectile", "_name": "MagicOrbProjectile",
"_objFlags": 0, "_objFlags": 0,
"_native": "", "_native": "",
"data": { "data": {
@ -13,7 +13,7 @@
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "DarkRavenProjectile", "_name": "MagicOrbProjectile",
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": null, "_parent": null,
@ -236,7 +236,7 @@
"__id__": 11 "__id__": 11
}, },
"tag": 0, "tag": 0,
"_group": 4, "_group": 64,
"_density": 1, "_density": 1,
"_sensor": false, "_sensor": false,
"_friction": 0.2, "_friction": 0.2,

View File

@ -8,6 +8,6 @@
], ],
"subMetas": {}, "subMetas": {},
"userData": { "userData": {
"syncNodeName": "DarkRavenProjectile" "syncNodeName": "MagicOrbProjectile"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -77,7 +77,8 @@ export class MetaUpgradeSettings {
} }
export class EnemyManagerSettings { export class EnemyManagerSettings {
public projectileLauncher1 = new EnemyLauncherSettings(); public axeLauncher = new EnemyLauncherSettings();
public magicOrbLauncher = new EnemyLauncherSettings();
public enemies: EnemySettings[] = [new EnemySettings()]; public enemies: EnemySettings[] = [new EnemySettings()];
public periodicFollowMovers: PeriodicFollowMoverSettings[] = [new PeriodicFollowMoverSettings()]; public periodicFollowMovers: PeriodicFollowMoverSettings[] = [new PeriodicFollowMoverSettings()];
public individualEnemySpawners: IndividualEnemySpawnerSettings[] = [new IndividualEnemySpawnerSettings()]; public individualEnemySpawners: IndividualEnemySpawnerSettings[] = [new IndividualEnemySpawnerSettings()];

View File

@ -41,7 +41,8 @@ export class Game extends Component {
@property(ProjectileLauncher) private haloProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private haloProjectileLauncherComponent: ProjectileLauncher;
@property(ProjectileLauncher) private horizontalProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private horizontalProjectileLauncherComponent: ProjectileLauncher;
@property(ProjectileLauncher) private diagonalProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private diagonalProjectileLauncherComponent: ProjectileLauncher;
@property(ProjectileLauncher) private enemyProjectileLauncherComponent: ProjectileLauncher; @property(ProjectileLauncher) private enemyAxeProjectileLauncherComponent: ProjectileLauncher;
@property(ProjectileLauncher) private enemyMagicOrbProjectileLauncherComponent: ProjectileLauncher;
@property(EnemyManager) private enemyManager: EnemyManager; @property(EnemyManager) private enemyManager: EnemyManager;
@property(ItemManager) private itemManager: ItemManager; @property(ItemManager) private itemManager: ItemManager;
@property(Camera) private camera: Camera; @property(Camera) private camera: Camera;
@ -55,7 +56,8 @@ export class Game extends Component {
private horizontalProjectileLauncher: WaveProjectileLauncher; private horizontalProjectileLauncher: WaveProjectileLauncher;
private diagonalProjectileLauncher: WaveProjectileLauncher; private diagonalProjectileLauncher: WaveProjectileLauncher;
private enemyProjectileLauncher: EnemyProjectileLauncher; private enemyAxeProjectileLauncher: EnemyProjectileLauncher;
private enemyMagicOrbProjectileLauncher: EnemyProjectileLauncher;
private itemAttractor: ItemAttractor; private itemAttractor: ItemAttractor;
@ -122,11 +124,18 @@ export class Game extends Component {
projectileData projectileData
); );
this.enemyProjectileLauncher = new EnemyProjectileLauncher( this.enemyAxeProjectileLauncher = new EnemyProjectileLauncher(
this.enemyProjectileLauncherComponent, this.enemyAxeProjectileLauncherComponent,
this.player.node, this.player.node,
this.enemyManager, this.enemyManager,
settings.enemyManager.projectileLauncher1 settings.enemyManager.axeLauncher
);
this.enemyMagicOrbProjectileLauncher = new EnemyProjectileLauncher(
this.enemyMagicOrbProjectileLauncherComponent,
this.player.node,
this.enemyManager,
settings.enemyManager.magicOrbLauncher
); );
new PlayerProjectileCollisionSystem([this.haloProjectileLauncher, this.horizontalProjectileLauncher, this.diagonalProjectileLauncher]); new PlayerProjectileCollisionSystem([this.haloProjectileLauncher, this.horizontalProjectileLauncher, this.diagonalProjectileLauncher]);
@ -184,7 +193,8 @@ export class Game extends Component {
this.haloProjectileLauncher.gameTick(deltaTime); this.haloProjectileLauncher.gameTick(deltaTime);
this.horizontalProjectileLauncher.gameTick(deltaTime); this.horizontalProjectileLauncher.gameTick(deltaTime);
this.diagonalProjectileLauncher.gameTick(deltaTime); this.diagonalProjectileLauncher.gameTick(deltaTime);
this.enemyProjectileLauncher.gameTick(deltaTime); this.enemyAxeProjectileLauncher.gameTick(deltaTime);
this.enemyMagicOrbProjectileLauncher.gameTick(deltaTime);
this.itemAttractor.gameTick(deltaTime); this.itemAttractor.gameTick(deltaTime);
this.background.gameTick(); this.background.gameTick();