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 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 cube = app.world_mut().add_asset(mesh);
app.insert_resource(BuiltinBlockMeshes { cube });
@ -22,10 +22,25 @@ struct BuiltinBlockMeshes {
}
#[derive(Asset, TypePath)]
struct BlockVisuals {
pub struct BlockVisuals {
_id: Identifier<Block>,
// mesh: Handle<Mesh>,
color: Color,
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 {
@ -57,14 +72,19 @@ impl AssetLoader for BlockVisualsLoader {
let raw = ron::de::from_bytes::<BlockTypeVisualsRaw>(&bytes)?;
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);
// TODO: Figure out how to reference a procedural mesh from here.
// let mesh = load_context.load(???);
let id = load_context.path().try_into()?;
Ok(BlockVisuals { _id: id, material })
Ok(BlockVisuals {
_id: id,
color,
material,
})
}
fn extensions(&self) -> &[&str] {

@ -6,10 +6,10 @@
use bevy::prelude::*;
mod block_visuals;
mod player;
pub mod block_visuals;
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(player::plugin);
}

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

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

@ -6,7 +6,7 @@ use bevy::window::{CursorGrabMode, CursorOptions};
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(PreUpdate, center_cursor.run_if(is_cursor_grabbed));
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.add_systems(Update, update_head_orientation.run_if(is_cursor_grabbed));
}

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

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

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

@ -1,9 +1,9 @@
use bevy::prelude::*;
mod crosshair;
mod loading_screen;
pub mod crosshair;
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));
// Make entities require the `Pickable` component if

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

Loading…
Cancel
Save