From 1ec7e724fcace1274473dfcae91022cc1c930baa Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 8 Jan 2025 15:57:05 +0100 Subject: working scheduler and enemies and rest --- game/Config.h | 1 + game/GameScene.cpp | 4 ++-- game/enemy/BattleScript.cpp | 2 +- game/enemy/EnemyScript.cpp | 3 +-- game/scheduler/ObjectsScheduler.cpp | 8 +++----- game/scheduler/ObjectsScheduler.h | 4 ++-- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/game/Config.h b/game/Config.h index 58a51f2..e4f617a 100644 --- a/game/Config.h +++ b/game/Config.h @@ -63,3 +63,4 @@ static constexpr int PLAYER_GRAVITY_SCALE = 60; // In game units // Jetpack particles static constexpr const char * JETPACK_PARTICLES = "jetpack_particles"; +static constexpr const char * CAMERA_NAME = "camera"; diff --git a/game/GameScene.cpp b/game/GameScene.cpp index 07275ab..4cb3671 100644 --- a/game/GameScene.cpp +++ b/game/GameScene.cpp @@ -61,9 +61,9 @@ void GameScene::load_scene() { camera.add_component().set_script(); camera.add_component().set_script(); camera.add_component().set_script(); - camera.add_component().set_script(); - camera.add_component().set_script(); camera.add_component().set_script(); + camera.add_component().set_script(); + camera.add_component().set_script(); camera.add_component(Rigidbody::Data {}); AI & enemy_path_1 = camera.add_component(400); diff --git a/game/enemy/BattleScript.cpp b/game/enemy/BattleScript.cpp index dde8da1..4260c42 100644 --- a/game/enemy/BattleScript.cpp +++ b/game/enemy/BattleScript.cpp @@ -39,7 +39,7 @@ bool BattleScript::create_battle(const BattleStartEvent & e) { for (int i = 0; i < e.num_enemies; i++) { BehaviorScript & script = enemy_scripts[i]; script.active = true; - this->trigger_event( + this->queue_event( SpawnEnemyEvent { .speed = dist(engine), .column = i, diff --git a/game/enemy/EnemyScript.cpp b/game/enemy/EnemyScript.cpp index 8e475a8..07ed9e8 100644 --- a/game/enemy/EnemyScript.cpp +++ b/game/enemy/EnemyScript.cpp @@ -84,8 +84,7 @@ bool EnemyScript::spawn_enemy(const SpawnEnemyEvent & e) { bool EnemyScript::on_collide(const CollisionEvent & e) { if (e.info.other.metadata.tag == "player_bullet") { - //this->despawn_enemy(); - + this->despawn_enemy(); } Animator& body_animator = this->get_components().front(); body_animator.data.col = 2; diff --git a/game/scheduler/ObjectsScheduler.cpp b/game/scheduler/ObjectsScheduler.cpp index 11bb111..02d84c1 100644 --- a/game/scheduler/ObjectsScheduler.cpp +++ b/game/scheduler/ObjectsScheduler.cpp @@ -9,7 +9,6 @@ #include "api/Transform.h" #include "enemy/BattleScript.h" #include "prefab/ZapperPoolSubScene.h" -#include using namespace crepe; void ObjectsScheduler::preset_0() { trigger_event(MissileSpawnEvent {}); } @@ -20,13 +19,12 @@ void ObjectsScheduler::preset_4() {} void ObjectsScheduler::boss_fight_1() { this->get_components_by_name("camera").front().get().data.linear_velocity.x = 0; this->get_components_by_name("player").front().get().data.linear_velocity.x = 0; - - this->trigger_event(BattleStartEvent{.num_enemies = 5}); + this->trigger_event(BattleStartEvent{.num_enemies = 2}); } bool ObjectsScheduler::boss_fight_1_event() { - this->get_components_by_name("camera").front().get().data.linear_velocity.x = PLAYER_SPEED; - this->get_components_by_name("player").front().get().data.linear_velocity.x = PLAYER_SPEED; + this->get_components_by_name("camera").front().get().data.linear_velocity.x = PLAYER_SPEED * 0.02; + this->get_components_by_name("player").front().get().data.linear_velocity.x = PLAYER_SPEED * 0.02; return false; } diff --git a/game/scheduler/ObjectsScheduler.h b/game/scheduler/ObjectsScheduler.h index 1bd0940..56d72cb 100644 --- a/game/scheduler/ObjectsScheduler.h +++ b/game/scheduler/ObjectsScheduler.h @@ -15,8 +15,8 @@ private: int last_boss_check = 0; int last_obstacle_check = 0; - int boss_fight_interval = 1000; - int obstacle_interval = 3000; + int boss_fight_interval = 5000; + int obstacle_interval = 350; int start_offset = 1300; private: -- cgit v1.2.3