Merge branch 'master' of https://gitea.pcornatcloud.fr/Pcornat/BillySheet-Rust
This commit is contained in:
		
				commit
				
					
						e4dc131808
					
				
			
		
					 5 changed files with 98 additions and 15 deletions
				
			
		
							
								
								
									
										32
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -196,7 +196,8 @@ name = "billy_sheet"
 | 
			
		|||
version = "0.1.0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "eframe",
 | 
			
		||||
 "json",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_json",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
| 
						 | 
				
			
			@ -1033,6 +1034,12 @@ dependencies = [
 | 
			
		|||
 "web-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "itoa"
 | 
			
		||||
version = "1.0.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jni"
 | 
			
		||||
version = "0.19.0"
 | 
			
		||||
| 
						 | 
				
			
			@ -1062,12 +1069,6 @@ dependencies = [
 | 
			
		|||
 "wasm-bindgen",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "json"
 | 
			
		||||
version = "0.12.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "khronos_api"
 | 
			
		||||
version = "3.1.0"
 | 
			
		||||
| 
						 | 
				
			
			@ -1623,6 +1624,12 @@ dependencies = [
 | 
			
		|||
 "ordered-multimap",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ryu"
 | 
			
		||||
version = "1.0.11"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "safe_arch"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
| 
						 | 
				
			
			@ -1685,6 +1692,17 @@ dependencies = [
 | 
			
		|||
 "syn",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_json"
 | 
			
		||||
version = "1.0.89"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "itoa",
 | 
			
		||||
 "ryu",
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_repr"
 | 
			
		||||
version = "0.1.9"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,4 +7,5 @@ edition = "2021"
 | 
			
		|||
 | 
			
		||||
[dependencies]
 | 
			
		||||
eframe = { version = "*", features = ["dark-light"] }
 | 
			
		||||
json = "*"
 | 
			
		||||
serde = { version = "*", features = ["derive"] }
 | 
			
		||||
serde_json = "*"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ fn main() {
 | 
			
		|||
        options,
 | 
			
		||||
        Box::new(|_ctx| {
 | 
			
		||||
            // ctx.egui_ctx.options().screen_reader = true;
 | 
			
		||||
            Box::new(Gui::default())
 | 
			
		||||
            Box::<Gui>::default()
 | 
			
		||||
        }),
 | 
			
		||||
    );
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -41,13 +41,14 @@ impl eframe::App for Gui {
 | 
			
		|||
                    }
 | 
			
		||||
                });
 | 
			
		||||
                if ui.button(format!("Edit mode {}", self.edit_mode)).clicked() {
 | 
			
		||||
                    self.edit_mode = !self.edit_mode.clone();
 | 
			
		||||
                    self.edit_mode = !self.edit_mode;
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
        egui::CentralPanel::default().show(ctx, |ui| {
 | 
			
		||||
            ui.heading("My egui Application");
 | 
			
		||||
            ui.separator();
 | 
			
		||||
            ui.label("Caractère");
 | 
			
		||||
            ui.vertical_centered_justified(|ui| {
 | 
			
		||||
                let mut tmp_str = self.test.character().to_string();
 | 
			
		||||
                ui.text_edit_multiline(&mut tmp_str);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										71
									
								
								src/sheet.rs
									
										
									
									
									
								
							
							
						
						
									
										71
									
								
								src/sheet.rs
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,9 +1,13 @@
 | 
			
		|||
use eframe::egui::widgets::DragValue;
 | 
			
		||||
use eframe::egui::Ui;
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
=======
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
>>>>>>> 281e4eb9f0a44494530a7bc3422fcd557a26088f
 | 
			
		||||
 | 
			
		||||
use crate::gui::SheetGui;
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
#[derive(Debug, Serialize, Deserialize)]
 | 
			
		||||
pub enum Classe {
 | 
			
		||||
    Warrior,
 | 
			
		||||
    Cautious,
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +15,7 @@ pub enum Classe {
 | 
			
		|||
    Resourceful,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
#[derive(Debug, Serialize, Deserialize)]
 | 
			
		||||
enum CharacteristicType {
 | 
			
		||||
    Address,
 | 
			
		||||
    Stamina,
 | 
			
		||||
| 
						 | 
				
			
			@ -19,7 +23,7 @@ enum CharacteristicType {
 | 
			
		|||
    Skill,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
#[derive(Debug, Serialize, Deserialize)]
 | 
			
		||||
pub struct CharacterSheet {
 | 
			
		||||
    character_class: Classe,
 | 
			
		||||
    /// Field to write the personality/
 | 
			
		||||
| 
						 | 
				
			
			@ -82,6 +86,7 @@ impl SheetGui for CharacterSheet {
 | 
			
		|||
        let mut carac = character_field.carac;
 | 
			
		||||
        let mut materiel = character_field.materiel;
 | 
			
		||||
        ui.heading(category);
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
        ui.columns(2, |columns| {
 | 
			
		||||
            let mut ui_column = &mut columns[0];
 | 
			
		||||
            ui_column.label("Base");
 | 
			
		||||
| 
						 | 
				
			
			@ -137,10 +142,68 @@ impl SheetGui for CharacterSheet {
 | 
			
		|||
                ui.add(DragValue::new(&mut armor));
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
=======
 | 
			
		||||
        ui.horizontal(|ui| {
 | 
			
		||||
            ui.label("Base");
 | 
			
		||||
            ui.add(DragValue::new(&mut base));
 | 
			
		||||
        });
 | 
			
		||||
        ui.horizontal(|ui| {
 | 
			
		||||
            ui.label("Carac.");
 | 
			
		||||
            ui.add(DragValue::new(&mut carac));
 | 
			
		||||
        });
 | 
			
		||||
        ui.horizontal(|ui| {
 | 
			
		||||
            ui.label("Matériel");
 | 
			
		||||
            ui.add(DragValue::new(&mut materiel));
 | 
			
		||||
        });
 | 
			
		||||
        (base, carac, materiel)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn gui_address(&mut self, ui: &mut Ui) {
 | 
			
		||||
        let workaround = self as &CharacterSheet;
 | 
			
		||||
        (self.address.base, self.address.carac, self.address.materiel) =
 | 
			
		||||
            self.shortcut(ui, "Adresse", workaround.address());
 | 
			
		||||
        ui.label("Ne peut dépasser 5");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn gui_stamina(&mut self, ui: &mut Ui) {
 | 
			
		||||
        let workaround = self as &CharacterSheet;
 | 
			
		||||
        (self.stamina.base, self.stamina.carac, self.stamina.materiel) =
 | 
			
		||||
            self.shortcut(ui, "Endurance", workaround.stamina());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn gui_luck(&mut self, ui: &mut Ui) {
 | 
			
		||||
        let workaround = self as &CharacterSheet;
 | 
			
		||||
        (self.luck.base, self.luck.carac, self.luck.materiel) =
 | 
			
		||||
            self.shortcut(ui, "Chance", workaround.luck());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn gui_skill(&mut self, ui: &mut Ui) {
 | 
			
		||||
        let workaround = self as &CharacterSheet;
 | 
			
		||||
        (self.skill.base, self.skill.carac, self.skill.materiel) =
 | 
			
		||||
            self.shortcut(ui, "Habileté", workaround.skill());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn secondary_stats(&mut self, ui: &mut Ui) {
 | 
			
		||||
        let workaround = self as &CharacterSheet;
 | 
			
		||||
        let mut damage = workaround.damage;
 | 
			
		||||
        let mut armor = workaround.armor;
 | 
			
		||||
 | 
			
		||||
        ui.heading("Stat. secondaires");
 | 
			
		||||
        ui.horizontal(|ui| {
 | 
			
		||||
            ui.label("Dégâts");
 | 
			
		||||
            ui.add(DragValue::new(&mut damage));
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        ui.horizontal(|ui| {
 | 
			
		||||
            ui.label("Armure");
 | 
			
		||||
            ui.add(DragValue::new(&mut armor));
 | 
			
		||||
        });
 | 
			
		||||
        ui.label("Critique");
 | 
			
		||||
>>>>>>> 281e4eb9f0a44494530a7bc3422fcd557a26088f
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
#[derive(Debug, Serialize, Deserialize)]
 | 
			
		||||
pub struct Characteristic {
 | 
			
		||||
    characteristic_type: CharacteristicType,
 | 
			
		||||
    pub base: u32,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue