mirror of
https://github.com/Noratrieb/game-wip-dontplay.git
synced 2026-01-14 11:45:01 +01:00
more
This commit is contained in:
parent
ea398555ac
commit
fa77644b0d
11 changed files with 15 additions and 2811 deletions
9
Cargo.lock
generated
9
Cargo.lock
generated
|
|
@ -2,13 +2,6 @@
|
|||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "egui-inspect"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"egui-inspect-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "egui-inspect-derive"
|
||||
version = "0.1.0"
|
||||
|
|
@ -21,7 +14,7 @@ dependencies = [
|
|||
name = "mantle-diver"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"egui-inspect",
|
||||
"egui-inspect-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ edition = "2021"
|
|||
|
||||
[dependencies]
|
||||
|
||||
[dependencies.egui-inspect]
|
||||
path = "./egui_inspect"
|
||||
[dependencies.egui-inspect-derive]
|
||||
path = "./egui-inspect-derive"
|
||||
|
||||
#[profile.dev]
|
||||
#incremental = false # Buggy on latest rustc nightly, keeps ICEing
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use quote::quote;
|
|||
#[proc_macro_derive(Inspect)]
|
||||
pub fn derive_inspect(input: TokenStream) -> TokenStream {
|
||||
let expanded = quote! {
|
||||
impl ::egui_inspect::Inspect for GameState {
|
||||
impl Inspect for GameState {
|
||||
fn inspect_mut(&mut self) {
|
||||
output_mut(|o| o.copied_text = format!(""));
|
||||
output_mut(|o| o.copied_text = format!("{:?}", self.tile_db));
|
||||
1
egui_inspect/.gitignore
vendored
1
egui_inspect/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
/target
|
||||
2679
egui_inspect/Cargo.lock
generated
2679
egui_inspect/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,16 +0,0 @@
|
|||
[package]
|
||||
name = "egui-inspect"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[features]
|
||||
derive = ["egui-inspect-derive"]
|
||||
default = ["derive"]
|
||||
|
||||
[dependencies]
|
||||
egui-inspect-derive = { path = "egui-inspect-derive", optional = true}
|
||||
|
||||
[workspace]
|
||||
members = ["egui-inspect-derive", "testbed"]
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#[cfg(feature = "derive")]
|
||||
pub use egui_inspect_derive as derive;
|
||||
|
||||
pub trait Inspect {
|
||||
fn inspect_mut(&mut self) {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
impl Inspect for () {}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
[package]
|
||||
name = "testbed"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies.egui-inspect]
|
||||
path = ".."
|
||||
|
||||
[dependencies]
|
||||
rand = "0.8.5"
|
||||
eframe = "0.21.3"
|
||||
egui = "0.21.0"
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
use std::fmt::Debug;
|
||||
use std::marker::PhantomData;
|
||||
use eframe::{egui, App, Frame, NativeOptions};
|
||||
use egui_inspect::inspect;
|
||||
use egui_inspect::{derive::Inspect, Inspect};
|
||||
use rand::{distributions::Alphanumeric, prelude::SliceRandom, thread_rng, Rng};
|
||||
struct Testbed {
|
||||
entities: Vec<GameEntity>,
|
||||
some_string: String,
|
||||
}
|
||||
#[derive(Inspect, Debug)]
|
||||
struct GameEntity {
|
||||
name: String,
|
||||
position: Vector2,
|
||||
hp: i32,
|
||||
godmode: bool,
|
||||
dir: Dir,
|
||||
#[opaque]
|
||||
#[allow(dead_code)]
|
||||
something_opaque: MyOpaque,
|
||||
#[inspect_with(custom_inspect)]
|
||||
custom: MyOpaque,
|
||||
tuple: TupleStruct,
|
||||
generic: Generic<String>,
|
||||
phantom: PhantomData<NonInspect>,
|
||||
unit: (),
|
||||
}
|
||||
struct NonInspect;
|
||||
#[derive(Inspect, Debug)]
|
||||
struct TupleStruct(u32);
|
||||
#[derive(Default, Debug)]
|
||||
struct MyOpaque {
|
||||
field1: i32,
|
||||
field2: String,
|
||||
field3: f32,
|
||||
}
|
||||
#[derive(Inspect, Debug)]
|
||||
struct Generic<T: Inspect> {
|
||||
field: T,
|
||||
}
|
||||
fn custom_inspect(o: &mut MyOpaque, ui: &mut egui::Ui, _id_source: u64) {
|
||||
loop {}
|
||||
}
|
||||
#[derive(Inspect, Clone, Copy, PartialEq, Eq, Debug)]
|
||||
enum Dir {
|
||||
North,
|
||||
East,
|
||||
South,
|
||||
West,
|
||||
}
|
||||
impl GameEntity {
|
||||
fn rand() -> Self {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
#[derive(Inspect, Debug)]
|
||||
struct Vector2 {
|
||||
x: f32,
|
||||
y: f32,
|
||||
}
|
||||
impl Vector2 {
|
||||
fn rand() -> Self {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
impl Default for Testbed {
|
||||
fn default() -> Self {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
impl App for Testbed {
|
||||
fn update(&mut self, ctx: &egui::Context, frame: &mut Frame) {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
fn main() {
|
||||
loop {}
|
||||
}
|
||||
14
src/main.rs
14
src/main.rs
|
|
@ -1,5 +1,3 @@
|
|||
use egui_inspect::Inspect;
|
||||
|
||||
extern crate alloc;
|
||||
mod tiles;
|
||||
|
||||
|
|
@ -12,7 +10,7 @@ impl App {
|
|||
}
|
||||
}
|
||||
|
||||
use egui_inspect::derive::Inspect;
|
||||
use egui_inspect_derive::Inspect;
|
||||
|
||||
pub(crate) struct WorldPos {}
|
||||
|
||||
|
|
@ -45,6 +43,16 @@ fn show(f: &dyn FnMut()) {}
|
|||
pub struct TileDb {
|
||||
unknown_bg: tiles::TileDef,
|
||||
}
|
||||
|
||||
|
||||
pub trait Inspect {
|
||||
fn inspect_mut(&mut self) {
|
||||
loop {}
|
||||
}
|
||||
}
|
||||
impl Inspect for () {}
|
||||
|
||||
|
||||
impl Inspect for TileDb {
|
||||
fn inspect_mut(&mut self) {
|
||||
let _a = &mut self.unknown_bg;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue