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