refactor heads-db and added plane controls
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
(key:"green grocer", range:60),
|
||||
(key:"highland hammer thrower", ability:Thrown, range:80),
|
||||
(key:"legionnaire", ability:Gun, range:60),
|
||||
(key:"mig pilot", ability:Gun, range:60),
|
||||
(key:"mig pilot", ability:Gun, range:60, controls:Plane),
|
||||
(key:"nanny", ability:Thrown, range:60),
|
||||
(key:"panic attack"),
|
||||
(key:"salty sea dog"),
|
||||
|
||||
@@ -5,8 +5,8 @@ use crate::{
|
||||
GameState,
|
||||
aim::AimTarget,
|
||||
global_observer,
|
||||
head_asset::HeadsDatabase,
|
||||
heads::ActiveHeads,
|
||||
heads_database::HeadsDatabase,
|
||||
hitpoints::Hit,
|
||||
physics_layers::GameLayer,
|
||||
player::{Player, PlayerBodyMesh},
|
||||
|
||||
@@ -4,7 +4,7 @@ use crate::{
|
||||
GameState,
|
||||
abilities::{HeadAbility, TriggerData, TriggerThrow},
|
||||
aim::AimTarget,
|
||||
head_asset::HeadsDatabase,
|
||||
heads_database::HeadsDatabase,
|
||||
npc::Npc,
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ mod target_ui;
|
||||
use crate::{
|
||||
GameState,
|
||||
head::ActiveHead,
|
||||
head_asset::HeadsDatabase,
|
||||
heads_database::HeadsDatabase,
|
||||
physics_layers::GameLayer,
|
||||
player::{Player, PlayerBodyMesh},
|
||||
tb_entities::EnemySpawn,
|
||||
|
||||
@@ -4,7 +4,7 @@ use crate::{
|
||||
GameState,
|
||||
backpack::{BackbackSwapEvent, Backpack},
|
||||
global_observer,
|
||||
head_asset::HeadsDatabase,
|
||||
heads_database::HeadsDatabase,
|
||||
hitpoints::Hitpoints,
|
||||
player::Player,
|
||||
sounds::PlaySound,
|
||||
|
||||
@@ -2,6 +2,13 @@ use crate::abilities::HeadAbility;
|
||||
use bevy::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Default, Reflect, Serialize, Deserialize)]
|
||||
pub enum HeadControls {
|
||||
#[default]
|
||||
Walk,
|
||||
Plane,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Reflect, Serialize, Deserialize)]
|
||||
pub struct HeadStats {
|
||||
pub key: String,
|
||||
@@ -9,6 +16,8 @@ pub struct HeadStats {
|
||||
pub ability: HeadAbility,
|
||||
#[serde(default)]
|
||||
pub range: f32,
|
||||
#[serde(default)]
|
||||
pub controls: HeadControls,
|
||||
}
|
||||
|
||||
#[derive(Debug, Asset, Reflect, Serialize, Deserialize)]
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
GameState,
|
||||
head_asset::{HeadDatabaseAsset, HeadsDatabase},
|
||||
heads_database::{HeadDatabaseAsset, HeadsDatabase},
|
||||
};
|
||||
use bevy::{prelude::*, utils::HashMap};
|
||||
use bevy_asset_loader::prelude::*;
|
||||
|
||||
@@ -11,8 +11,8 @@ mod cutscene;
|
||||
mod debug;
|
||||
mod gates;
|
||||
mod head;
|
||||
mod head_asset;
|
||||
mod heads;
|
||||
mod heads_database;
|
||||
mod hitpoints;
|
||||
mod keys;
|
||||
mod loading_assets;
|
||||
@@ -42,7 +42,7 @@ use bevy_trenchbroom::prelude::*;
|
||||
use bevy_ui_gradients::UiGradientsPlugin;
|
||||
use camera::MainCamera;
|
||||
use control::controller::CharacterControllerPlugin;
|
||||
use head_asset::HeadDatabaseAsset;
|
||||
use heads_database::HeadDatabaseAsset;
|
||||
use loading_assets::AudioAssets;
|
||||
use std::io::{Read, Write};
|
||||
use utils::{billboards, sprite_3d_animation, squish_animation};
|
||||
|
||||
@@ -2,8 +2,8 @@ use crate::{
|
||||
GameState,
|
||||
ai::Ai,
|
||||
head::ActiveHead,
|
||||
head_asset::HeadsDatabase,
|
||||
heads::{HEAD_COUNT, HeadState},
|
||||
heads_database::HeadsDatabase,
|
||||
hitpoints::{Hitpoints, Kill},
|
||||
keys::KeySpawn,
|
||||
tb_entities::EnemySpawn,
|
||||
|
||||
@@ -9,8 +9,8 @@ use crate::{
|
||||
},
|
||||
global_observer,
|
||||
head::ActiveHead,
|
||||
head_asset::HeadsDatabase,
|
||||
heads::HeadChanged,
|
||||
heads_database::HeadsDatabase,
|
||||
hitpoints::Hitpoints,
|
||||
loading_assets::GameAssets,
|
||||
physics_layers::GameLayer,
|
||||
|
||||
Reference in New Issue
Block a user