Add egui as a UI system
This commit is contained in:
		
							
								
								
									
										292
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										292
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -200,6 +200,25 @@ dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "arboard"
 | 
			
		||||
version = "3.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clipboard-win",
 | 
			
		||||
 "core-graphics",
 | 
			
		||||
 "image",
 | 
			
		||||
 "log",
 | 
			
		||||
 "objc",
 | 
			
		||||
 "objc-foundation",
 | 
			
		||||
 "objc_id",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "winapi",
 | 
			
		||||
 "x11rb",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "arrayvec"
 | 
			
		||||
version = "0.7.4"
 | 
			
		||||
@@ -498,6 +517,19 @@ dependencies = [
 | 
			
		||||
 "syn 2.0.37",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bevy_egui"
 | 
			
		||||
version = "0.22.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fb1c1f6ad293c60fd8559c4502cda5e832e92b0e0f3d994929b33f24d4352d70"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arboard",
 | 
			
		||||
 "bevy",
 | 
			
		||||
 "egui",
 | 
			
		||||
 "thread_local",
 | 
			
		||||
 "webbrowser",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bevy_encase_derive"
 | 
			
		||||
version = "0.11.3"
 | 
			
		||||
@@ -1186,6 +1218,17 @@ dependencies = [
 | 
			
		||||
 "libloading 0.7.4",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clipboard-win"
 | 
			
		||||
version = "4.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "error-code",
 | 
			
		||||
 "str-buf",
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "codespan-reporting"
 | 
			
		||||
version = "0.11.1"
 | 
			
		||||
@@ -1412,6 +1455,35 @@ version = "1.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ecolor"
 | 
			
		||||
version = "0.23.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "cfdf4e52dbbb615cfd30cf5a5265335c217b5fd8d669593cea74a517d9c605af"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui"
 | 
			
		||||
version = "0.23.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8bd69fed5fcf4fbb8225b24e80ea6193b61e17a625db105ef0c4d71dde6eb8b7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash 0.8.3",
 | 
			
		||||
 "epaint",
 | 
			
		||||
 "nohash-hasher",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "emath"
 | 
			
		||||
version = "0.23.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1ef2b29de53074e575c18b694167ccbe6e5191f7b25fe65175a0d905a32eeec0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "encase"
 | 
			
		||||
version = "0.6.1"
 | 
			
		||||
@@ -1444,6 +1516,21 @@ dependencies = [
 | 
			
		||||
 "syn 2.0.37",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "epaint"
 | 
			
		||||
version = "0.23.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "58067b840d009143934d91d8dcb8ded054d8301d7c11a517ace0a99bb1e1595e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ab_glyph",
 | 
			
		||||
 "ahash 0.8.3",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "ecolor",
 | 
			
		||||
 "emath",
 | 
			
		||||
 "nohash-hasher",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "equivalent"
 | 
			
		||||
version = "1.0.1"
 | 
			
		||||
@@ -1459,6 +1546,16 @@ dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "error-code"
 | 
			
		||||
version = "2.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "str-buf",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "euclid"
 | 
			
		||||
version = "0.22.9"
 | 
			
		||||
@@ -1541,6 +1638,15 @@ version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "form_urlencoded"
 | 
			
		||||
version = "1.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fsevent-sys"
 | 
			
		||||
version = "4.1.0"
 | 
			
		||||
@@ -1577,6 +1683,16 @@ dependencies = [
 | 
			
		||||
 "waker-fn",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "gethostname"
 | 
			
		||||
version = "0.2.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "getrandom"
 | 
			
		||||
version = "0.2.10"
 | 
			
		||||
@@ -1822,6 +1938,25 @@ version = "0.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "home"
 | 
			
		||||
version = "0.5.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "windows-sys 0.48.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "idna"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "unicode-bidi",
 | 
			
		||||
 "unicode-normalization",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "image"
 | 
			
		||||
version = "0.24.7"
 | 
			
		||||
@@ -1834,6 +1969,7 @@ dependencies = [
 | 
			
		||||
 "num-rational",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "png",
 | 
			
		||||
 "tiff",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -1938,6 +2074,22 @@ dependencies = [
 | 
			
		||||
 "walkdir",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jni"
 | 
			
		||||
version = "0.21.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cesu8",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "combine",
 | 
			
		||||
 "jni-sys",
 | 
			
		||||
 "log",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "walkdir",
 | 
			
		||||
 "windows-sys 0.45.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jni-sys"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
@@ -1953,6 +2105,12 @@ dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jpeg-decoder"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "js-sys"
 | 
			
		||||
version = "0.3.64"
 | 
			
		||||
@@ -2110,6 +2268,15 @@ version = "2.6.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "memoffset"
 | 
			
		||||
version = "0.6.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "metal"
 | 
			
		||||
version = "0.24.0"
 | 
			
		||||
@@ -2129,6 +2296,7 @@ name = "minibaldur"
 | 
			
		||||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bevy",
 | 
			
		||||
 "bevy_egui",
 | 
			
		||||
 "rand",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -2239,6 +2407,7 @@ dependencies = [
 | 
			
		||||
 "bitflags 1.3.2",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "memoffset",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -2252,6 +2421,12 @@ dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nohash-hasher"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "nom"
 | 
			
		||||
version = "7.1.3"
 | 
			
		||||
@@ -2393,6 +2568,17 @@ dependencies = [
 | 
			
		||||
 "objc_exception",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "objc-foundation"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "block",
 | 
			
		||||
 "objc",
 | 
			
		||||
 "objc_id",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "objc-sys"
 | 
			
		||||
version = "0.2.0-beta.2"
 | 
			
		||||
@@ -2428,6 +2614,15 @@ dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "objc_id"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "objc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "object"
 | 
			
		||||
version = "0.32.1"
 | 
			
		||||
@@ -2913,6 +3108,12 @@ version = "1.1.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "str-buf"
 | 
			
		||||
version = "1.0.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "svg_fmt"
 | 
			
		||||
version = "0.4.1"
 | 
			
		||||
@@ -3026,6 +3227,17 @@ dependencies = [
 | 
			
		||||
 "once_cell",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tiff"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "flate2",
 | 
			
		||||
 "jpeg-decoder",
 | 
			
		||||
 "weezl",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tinyvec"
 | 
			
		||||
version = "1.6.0"
 | 
			
		||||
@@ -3147,12 +3359,27 @@ dependencies = [
 | 
			
		||||
 "static_assertions",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-bidi"
 | 
			
		||||
version = "0.3.13"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-ident"
 | 
			
		||||
version = "1.0.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-normalization"
 | 
			
		||||
version = "0.1.22"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "tinyvec",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "unicode-width"
 | 
			
		||||
version = "0.1.11"
 | 
			
		||||
@@ -3165,6 +3392,17 @@ version = "0.2.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "url"
 | 
			
		||||
version = "2.4.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "form_urlencoded",
 | 
			
		||||
 "idna",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "uuid"
 | 
			
		||||
version = "1.4.1"
 | 
			
		||||
@@ -3302,6 +3540,29 @@ dependencies = [
 | 
			
		||||
 "wasm-bindgen",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "webbrowser"
 | 
			
		||||
version = "0.8.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "core-foundation",
 | 
			
		||||
 "home",
 | 
			
		||||
 "jni 0.21.1",
 | 
			
		||||
 "log",
 | 
			
		||||
 "ndk-context",
 | 
			
		||||
 "objc",
 | 
			
		||||
 "raw-window-handle",
 | 
			
		||||
 "url",
 | 
			
		||||
 "web-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "weezl"
 | 
			
		||||
version = "0.1.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu"
 | 
			
		||||
version = "0.16.3"
 | 
			
		||||
@@ -3433,6 +3694,15 @@ dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi-wsapoll"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi-x86_64-pc-windows-gnu"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
@@ -3691,6 +3961,28 @@ dependencies = [
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "x11rb"
 | 
			
		||||
version = "0.10.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "gethostname",
 | 
			
		||||
 "nix 0.24.3",
 | 
			
		||||
 "winapi",
 | 
			
		||||
 "winapi-wsapoll",
 | 
			
		||||
 "x11rb-protocol",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "x11rb-protocol"
 | 
			
		||||
version = "0.10.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "nix 0.24.3",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "xi-unicode"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,3 +8,4 @@ edition = "2021"
 | 
			
		||||
[dependencies]
 | 
			
		||||
bevy = { version = "0.11.3", features = ["dynamic_linking"] }
 | 
			
		||||
rand = "0.8.5"
 | 
			
		||||
bevy_egui = "0.22.0"
 | 
			
		||||
@@ -12,6 +12,11 @@ pub struct Armor {
 | 
			
		||||
    pub ac: u32,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Component)]
 | 
			
		||||
pub struct Named {
 | 
			
		||||
    pub name: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Bundle)]
 | 
			
		||||
pub struct Creature {
 | 
			
		||||
    pub health: Health,
 | 
			
		||||
@@ -20,7 +25,9 @@ pub struct Creature {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Component)]
 | 
			
		||||
pub struct PlayerCharacter;
 | 
			
		||||
pub struct PlayerCharacter {
 | 
			
		||||
    pub name: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Component)]
 | 
			
		||||
pub struct Battle(pub HashMap<u32, Entity>);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								src/main.rs
									
									
									
									
									
								
							@@ -1,4 +1,5 @@
 | 
			
		||||
use bevy::prelude::*;
 | 
			
		||||
use bevy_egui::{egui, EguiContexts, EguiPlugin};
 | 
			
		||||
 | 
			
		||||
pub mod util;
 | 
			
		||||
pub mod components;
 | 
			
		||||
@@ -10,16 +11,18 @@ use util::roll;
 | 
			
		||||
fn main() {
 | 
			
		||||
    App::new()
 | 
			
		||||
        .add_plugins(DefaultPlugins)
 | 
			
		||||
        .add_plugins(EguiPlugin)
 | 
			
		||||
        .add_systems(Startup, setup)
 | 
			
		||||
        .add_systems(Update, gui)
 | 
			
		||||
        .run();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
fn setup(
 | 
			
		||||
    mut commands: Commands,
 | 
			
		||||
    mut meshes: ResMut<Assets<Mesh>>,
 | 
			
		||||
    mut materials: ResMut<Assets<StandardMaterial>>,
 | 
			
		||||
) {
 | 
			
		||||
    let names = ["Dane", "Cole"];
 | 
			
		||||
    for i in 0..2 {
 | 
			
		||||
        let (hp, _) = roll("1d6 + 3");
 | 
			
		||||
        commands.spawn(Creature {
 | 
			
		||||
@@ -35,7 +38,9 @@ fn setup(
 | 
			
		||||
                ..default()
 | 
			
		||||
            },
 | 
			
		||||
        })
 | 
			
		||||
            .insert(PlayerCharacter)
 | 
			
		||||
            .insert(PlayerCharacter {
 | 
			
		||||
                name: names[i].to_string(),
 | 
			
		||||
            })
 | 
			
		||||
            .with_children(|parent| {
 | 
			
		||||
                parent.spawn(PbrBundle {
 | 
			
		||||
                    mesh: meshes.add(shape::Capsule::default().into()),
 | 
			
		||||
@@ -47,10 +52,27 @@ fn setup(
 | 
			
		||||
 | 
			
		||||
    commands.spawn(DirectionalLightBundle {
 | 
			
		||||
        transform: Transform::default().looking_at(Vec3::new(3.0, -50.0, 1.0), Vec3::Y),
 | 
			
		||||
        ..default()
 | 
			
		||||
        ..default::<_>()
 | 
			
		||||
    });
 | 
			
		||||
    commands.spawn(Camera3dBundle{
 | 
			
		||||
    commands.spawn(Camera3dBundle {
 | 
			
		||||
        transform: Transform::from_xyz(1.0, 15.0, 2.0).looking_at(Vec3::ZERO, Vec3::Y),
 | 
			
		||||
        ..default()
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn gui(
 | 
			
		||||
    query: Query<(&Health, &PlayerCharacter)>,
 | 
			
		||||
    mut contexts: EguiContexts
 | 
			
		||||
) {
 | 
			
		||||
    let ctx = contexts.ctx_mut();
 | 
			
		||||
    egui::Window::new("Battle Menu")
 | 
			
		||||
        .title_bar(false)
 | 
			
		||||
        .collapsible(false)
 | 
			
		||||
        .resizable(false)
 | 
			
		||||
        .movable(false)
 | 
			
		||||
        .show(ctx, |ui| {
 | 
			
		||||
            for (health, pc) in query.iter() {
 | 
			
		||||
                ui.label(format!("{} HP: {}", pc.name, health.hp));
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,14 @@ use bevy::prelude::*;
 | 
			
		||||
use crate::components::*;
 | 
			
		||||
use crate::util::roll;
 | 
			
		||||
 | 
			
		||||
pub fn initiate_battle(query: Query<Entity, With<PlayerCharacter>>, mut commands: Commands) {
 | 
			
		||||
pub fn initiate_battle(
 | 
			
		||||
    query: Query<Entity, With<PlayerCharacter>>,
 | 
			
		||||
    mut commands: Commands
 | 
			
		||||
) {
 | 
			
		||||
    let order: HashMap<u32, Entity> = query.iter().map(|ent| {
 | 
			
		||||
	let (total, _rolls) = roll("1d20");
 | 
			
		||||
	(total, ent)
 | 
			
		||||
        let (total, _rolls) = roll("1d20");
 | 
			
		||||
        (total, ent)
 | 
			
		||||
    }).collect();
 | 
			
		||||
 | 
			
		||||
    commands.spawn(Battle(order));
 | 
			
		||||
}
 | 
			
		||||
    
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user