From 3dbfb9dac134514f577b802ce0fa83ee1c380d14 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 11 Apr 2025 10:43:25 +0200 Subject: [PATCH] iii Signed-off-by: Harald Hoyer --- .roo/mcp.json | 3 + src/bullet.rs | 113 ++++++ src/components.rs | 57 +++ src/constants.rs | 33 ++ src/enemy.rs | 356 ++++++++++++++++++ src/game_state.rs | 68 ++++ src/main.rs | 925 +++------------------------------------------- src/player.rs | 189 ++++++++++ src/resources.rs | 126 +++++++ src/stage.rs | 37 ++ src/systems.rs | 45 +++ 11 files changed, 1085 insertions(+), 867 deletions(-) create mode 100644 .roo/mcp.json create mode 100644 src/bullet.rs create mode 100644 src/components.rs create mode 100644 src/constants.rs create mode 100644 src/enemy.rs create mode 100644 src/game_state.rs create mode 100644 src/player.rs create mode 100644 src/resources.rs create mode 100644 src/stage.rs create mode 100644 src/systems.rs diff --git a/.roo/mcp.json b/.roo/mcp.json new file mode 100644 index 0000000..7001130 --- /dev/null +++ b/.roo/mcp.json @@ -0,0 +1,3 @@ +{ + "mcpServers": {} +} \ No newline at end of file diff --git a/src/bullet.rs b/src/bullet.rs new file mode 100644 index 0000000..2cd46a4 --- /dev/null +++ b/src/bullet.rs @@ -0,0 +1,113 @@ +use bevy::prelude::*; + +use crate::components::{Bullet, Enemy, EnemyBullet, EnemyType}; +use crate::constants::{ + BULLET_ENEMY_COLLISION_THRESHOLD, BULLET_SIZE, BULLET_SPEED, ENEMY_BULLET_PLAYER_COLLISION_THRESHOLD, + ENEMY_BULLET_SIZE, ENEMY_BULLET_SPEED, WINDOW_HEIGHT, +}; +use crate::resources::{PlayerLives, PlayerRespawnTimer, Score}; +use crate::game_state::AppState; +use crate::components::Player; // Needed for check_enemy_bullet_player_collisions +use crate::components::Invincible; // Needed for check_enemy_bullet_player_collisions + +// --- Player Bullet Systems --- + +pub fn move_bullets( + mut query: Query<(Entity, &mut Transform), With>, + time: Res