auto aim
This commit is contained in:
@@ -3,7 +3,6 @@ use std::{f32::consts::PI, time::Duration};
|
||||
use crate::{
|
||||
DebugVisuals,
|
||||
alien::{ALIEN_ASSET_PATH, Animations},
|
||||
billboards::Billboard,
|
||||
camera::GameCameraRig,
|
||||
cash::{Cash, CashCollectEvent},
|
||||
heads_ui::HeadChanged,
|
||||
@@ -16,7 +15,6 @@ use bevy::{
|
||||
window::{CursorGrabMode, PrimaryWindow},
|
||||
};
|
||||
use bevy_dolly::prelude::Rig;
|
||||
use bevy_sprite3d::{Sprite3dBuilder, Sprite3dParams};
|
||||
use bevy_tnua::{TnuaUserControlsSystemSet, prelude::*};
|
||||
use bevy_tnua_avian3d::TnuaAvian3dSensorShape;
|
||||
|
||||
@@ -27,10 +25,10 @@ pub struct Player;
|
||||
struct PlayerAnimations;
|
||||
|
||||
#[derive(Component, Default)]
|
||||
struct PlayerHead;
|
||||
pub struct PlayerHead;
|
||||
|
||||
#[derive(Component, Default)]
|
||||
struct PlayerRig;
|
||||
pub struct PlayerRig;
|
||||
|
||||
#[derive(Resource, Default)]
|
||||
struct PlayerSpawned {
|
||||
@@ -51,7 +49,7 @@ pub fn plugin(app: &mut App) {
|
||||
(
|
||||
spawn,
|
||||
update_camera,
|
||||
cursor_events,
|
||||
mouse_rotate,
|
||||
collect_cash,
|
||||
toggle_animation,
|
||||
setup_animations_marker_for_player,
|
||||
@@ -70,7 +68,6 @@ fn spawn(
|
||||
asset_server: Res<AssetServer>,
|
||||
query: Query<&Transform, With<SpawnPoint>>,
|
||||
mut player_spawned: ResMut<PlayerSpawned>,
|
||||
mut sprite_params: Sprite3dParams,
|
||||
) {
|
||||
if player_spawned.spawned {
|
||||
return;
|
||||
@@ -84,7 +81,6 @@ fn spawn(
|
||||
|
||||
let mesh = asset_server
|
||||
.load(GltfAssetLabel::Scene(0).from_asset("models/heads/angry demonstrator.glb"));
|
||||
let selector = asset_server.load("ui/selector.png");
|
||||
|
||||
commands
|
||||
.spawn((
|
||||
@@ -113,18 +109,6 @@ fn spawn(
|
||||
.with_rotation(Quat::from_rotation_y(std::f32::consts::PI))
|
||||
.with_scale(Vec3::splat(1.5)),
|
||||
SceneRoot(asset_server.load(GltfAssetLabel::Scene(0).from_asset(ALIEN_ASSET_PATH))),
|
||||
))
|
||||
.with_child((
|
||||
Billboard,
|
||||
Transform::from_translation(Vec3::new(0., 1.5, 0.)),
|
||||
Sprite3dBuilder {
|
||||
image: selector,
|
||||
pixels_per_metre: 40.,
|
||||
alpha_mode: AlphaMode::Blend,
|
||||
unlit: true,
|
||||
..default()
|
||||
}
|
||||
.bundle(&mut sprite_params),
|
||||
));
|
||||
|
||||
commands.spawn((
|
||||
@@ -135,7 +119,7 @@ fn spawn(
|
||||
player_spawned.spawned = true;
|
||||
}
|
||||
|
||||
fn cursor_events(
|
||||
fn mouse_rotate(
|
||||
mut mouse: EventReader<MouseMotion>,
|
||||
// todo: Put the player head as a child of the rig to avoid this mess:
|
||||
mut player: Query<&mut Transform, Or<(With<PlayerRig>, With<PlayerHead>)>>,
|
||||
|
||||
Reference in New Issue
Block a user