Modify crate visibility

main
copygirl 3 weeks ago
parent 90bd171212
commit a436180ae4
  1. 30
      client/src/assets/block_visuals.rs
  2. 6
      client/src/assets/mod.rs
  3. 2
      client/src/assets/player.rs
  4. 2
      client/src/input/client_inputs.rs
  5. 2
      client/src/input/cursor_grab.rs
  6. 2
      client/src/input/head_orientation.rs
  7. 8
      client/src/input/mod.rs
  8. 9
      client/src/ui/crosshair.rs
  9. 2
      client/src/ui/loading_screen.rs
  10. 6
      client/src/ui/mod.rs
  11. 4
      common/src/assets/manifest.rs

@ -5,7 +5,7 @@ use bevy::asset::io::Reader;
use bevy::asset::{AssetLoader, LoadContext}; use bevy::asset::{AssetLoader, LoadContext};
use serde::Deserialize; use serde::Deserialize;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
let mesh = Mesh::from(Cuboid::new(1.0, 1.0, 1.0)); let mesh = Mesh::from(Cuboid::new(1.0, 1.0, 1.0));
let cube = app.world_mut().add_asset(mesh); let cube = app.world_mut().add_asset(mesh);
app.insert_resource(BuiltinBlockMeshes { cube }); app.insert_resource(BuiltinBlockMeshes { cube });
@ -22,10 +22,25 @@ struct BuiltinBlockMeshes {
} }
#[derive(Asset, TypePath)] #[derive(Asset, TypePath)]
struct BlockVisuals { pub struct BlockVisuals {
_id: Identifier<Block>, _id: Identifier<Block>,
// mesh: Handle<Mesh>, color: Color,
material: Handle<StandardMaterial>, material: Handle<StandardMaterial>,
// mesh: Handle<Mesh>,
}
impl BlockVisuals {
// pub fn id(&self) -> &Identifier<Block> {
// &self.id
// }
pub fn color(&self) -> Color {
self.color
}
// pub fn material(&self) -> &Handle<StandardMaterial> {
// &self.material
// }
} }
impl ManifestEntry for BlockVisuals { impl ManifestEntry for BlockVisuals {
@ -57,14 +72,19 @@ impl AssetLoader for BlockVisualsLoader {
let raw = ron::de::from_bytes::<BlockTypeVisualsRaw>(&bytes)?; let raw = ron::de::from_bytes::<BlockTypeVisualsRaw>(&bytes)?;
let (r, g, b) = raw.color; let (r, g, b) = raw.color;
let material = StandardMaterial::from(Color::srgb_u8(r, g, b)); let color = Color::srgb_u8(r, g, b);
let material = StandardMaterial::from(color);
let material = load_context.add_labeled_asset("material".to_string(), material); let material = load_context.add_labeled_asset("material".to_string(), material);
// TODO: Figure out how to reference a procedural mesh from here. // TODO: Figure out how to reference a procedural mesh from here.
// let mesh = load_context.load(???); // let mesh = load_context.load(???);
let id = load_context.path().try_into()?; let id = load_context.path().try_into()?;
Ok(BlockVisuals { _id: id, material }) Ok(BlockVisuals {
_id: id,
color,
material,
})
} }
fn extensions(&self) -> &[&str] { fn extensions(&self) -> &[&str] {

@ -6,10 +6,10 @@
use bevy::prelude::*; use bevy::prelude::*;
mod block_visuals; pub mod block_visuals;
mod player; pub mod player;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.add_plugins(block_visuals::plugin); app.add_plugins(block_visuals::plugin);
app.add_plugins(player::plugin); app.add_plugins(player::plugin);
} }

@ -1,7 +1,7 @@
use bevy::prelude::*; use bevy::prelude::*;
use common::prelude::*; use common::prelude::*;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.load_resource::<PlayerAssets>(); app.load_resource::<PlayerAssets>();
app.add_observer(insert_player_visuals); app.add_observer(insert_player_visuals);
} }

@ -8,7 +8,7 @@ use lightyear::prelude::input::native::*;
use bevy::window::{CursorGrabMode, CursorOptions}; use bevy::window::{CursorGrabMode, CursorOptions};
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.init_resource::<CurrentAction>(); app.init_resource::<CurrentAction>();
app.add_systems( app.add_systems(
FixedPreUpdate, FixedPreUpdate,

@ -6,7 +6,7 @@ use bevy::window::{CursorGrabMode, CursorOptions};
use crate::Screen; use crate::Screen;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.add_systems(OnEnter(Screen::Gameplay), add_window_click_observer); app.add_systems(OnEnter(Screen::Gameplay), add_window_click_observer);
app.add_systems(PreUpdate, center_cursor.run_if(is_cursor_grabbed)); app.add_systems(PreUpdate, center_cursor.run_if(is_cursor_grabbed));
app.add_systems( app.add_systems(

@ -15,7 +15,7 @@ impl Default for MouseSensitivity {
} }
} }
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.init_resource::<MouseSensitivity>(); app.init_resource::<MouseSensitivity>();
app.add_systems(Update, update_head_orientation.run_if(is_cursor_grabbed)); app.add_systems(Update, update_head_orientation.run_if(is_cursor_grabbed));
} }

@ -1,12 +1,12 @@
use bevy::prelude::*; use bevy::prelude::*;
mod client_inputs; pub mod client_inputs;
mod cursor_grab; pub mod cursor_grab;
mod head_orientation; pub mod head_orientation;
pub use cursor_grab::is_cursor_grabbed; pub use cursor_grab::is_cursor_grabbed;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.add_plugins(( app.add_plugins((
client_inputs::plugin, client_inputs::plugin,
cursor_grab::plugin, cursor_grab::plugin,

@ -5,7 +5,7 @@ use bevy::window::{CursorGrabMode, CursorOptions};
use crate::Screen; use crate::Screen;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.load_resource::<CrosshairAssets>(); app.load_resource::<CrosshairAssets>();
app.add_systems(OnEnter(Screen::Gameplay), setup_crosshair); app.add_systems(OnEnter(Screen::Gameplay), setup_crosshair);
app.add_systems(Update, update_crosshair_visibility); app.add_systems(Update, update_crosshair_visibility);
@ -13,7 +13,7 @@ pub fn plugin(app: &mut App) {
#[derive(Resource, Asset, Reflect, Clone)] #[derive(Resource, Asset, Reflect, Clone)]
#[reflect(Resource)] #[reflect(Resource)]
pub struct CrosshairAssets { struct CrosshairAssets {
#[dependency] #[dependency]
image: Handle<Image>, image: Handle<Image>,
} }
@ -21,9 +21,8 @@ pub struct CrosshairAssets {
impl FromWorld for CrosshairAssets { impl FromWorld for CrosshairAssets {
fn from_world(world: &mut World) -> Self { fn from_world(world: &mut World) -> Self {
let assets = world.resource::<AssetServer>(); let assets = world.resource::<AssetServer>();
Self { let image = assets.load("crosshair.png");
image: assets.load("crosshair.png"), Self { image }
}
} }
} }

@ -4,7 +4,7 @@ use common::assets::asset_tracking::ResourceHandles;
use crate::Screen; use crate::Screen;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.add_systems( app.add_systems(
Update, Update,
enter_gameplay_screen.run_if(in_state(Screen::Loading).and(all_assets_loaded)), enter_gameplay_screen.run_if(in_state(Screen::Loading).and(all_assets_loaded)),

@ -1,9 +1,9 @@
use bevy::prelude::*; use bevy::prelude::*;
mod crosshair; pub mod crosshair;
mod loading_screen; pub mod loading_screen;
pub fn plugin(app: &mut App) { pub(super) fn plugin(app: &mut App) {
app.add_plugins((crosshair::plugin, loading_screen::plugin)); app.add_plugins((crosshair::plugin, loading_screen::plugin));
// Make entities require the `Pickable` component if // Make entities require the `Pickable` component if

@ -17,13 +17,13 @@ pub trait ManifestEntry: Asset {
#[derive(Resource, Asset, Reflect)] #[derive(Resource, Asset, Reflect)]
#[derive_where(Clone)] #[derive_where(Clone)]
struct ManifestResource<T: ManifestEntry> { pub struct ManifestResource<T: ManifestEntry> {
#[dependency] #[dependency]
handle: Handle<ManifestAsset<T>>, handle: Handle<ManifestAsset<T>>,
} }
#[derive(Asset, TypePath)] #[derive(Asset, TypePath)]
struct ManifestAsset<T: ManifestEntry> { pub struct ManifestAsset<T: ManifestEntry> {
#[dependency] #[dependency]
map: IdentifierMap<T::Marker, Handle<T>>, map: IdentifierMap<T::Marker, Handle<T>>,
} }

Loading…
Cancel
Save