| Crates.io | deckbuilder_eng |
| lib.rs | deckbuilder_eng |
| version | 0.1.1 |
| created_at | 2025-05-24 09:50:29.635878+00 |
| updated_at | 2025-05-24 10:00:47.481336+00 |
| description | A modular engine for deck-builder games with egui UI, audio, and card/deck/game logic. |
| homepage | |
| repository | https://github.com/ilicaemirhan/rust_deckbuilder_eng |
| max_upload_size | |
| id | 1687256 |
| size | 7,415,997 |
A modular engine for deck-builder games, written in Rust.
Provides reusable components for card/deck logic, game context, audio playback, and egui-based UI.
use deckbuilder_eng::card::*;
use deckbuilder_eng::audio::AudioManager;
use deckbuilder_eng::ui::*;
use deckbuilder_eng::ui_image::*;
use egui::{CentralPanel, Context};
fn my_ui(ctx: &Context) {
CentralPanel::default().show(ctx, |ui| {
ui_heading(ui, "Deckbuilder Example");
// ... use other UI helpers ...
});
}
fn main() {
// Audio
let mut audio = AudioManager::new().unwrap();
audio.load_sound("assets/music.ogg", "bgm", audio.music_track().id(), true).unwrap();
audio.play_music("bgm", 0.5).unwrap();
// Cards & Deck
let card = Card::new(1, "Strike", "Deal 6 damage", 1, CardType::Attack);
let mut deck = Deck::new(vec![card]);
let drawn = deck.draw();
// Game context
let mut ctx = GameContext::new(30, 30);
ctx.deal_damage(5);
}
card – Card, deck, and game context types and logic.audio – AudioManager for music and SFX.ui – egui widget helpers.ui_image – Image and GIF helpers for egui.MIT OR Apache-2.0