akashi/lib.rs
1//! A library for building collectible card and gacha games.
2//!
3//! # Architecture
4//!
5//! Akashi uses an Entity-Component-System architecture (though at the
6//! moment only Entities and Components are really implemented).
7//!
8//! Players and cards, within the Akashi framework, are **entities**:
9//! they aren't much more than a unique ID. Functionality is added by
10//! attaching various **components** to entities.
11//! For example, inventories can be represented as components that
12//! are attached to players, while card images and text can be
13//! represented as components attached to cards.
14
15#[macro_use]
16extern crate failure;
17
18#[macro_use]
19extern crate rental;
20
21extern crate dashmap;
22extern crate downcast_rs;
23extern crate failure_derive;
24
25pub mod card;
26pub mod components;
27pub mod ecs;
28pub mod local_storage;
29pub mod player;
30pub mod snowflake;
31mod util;
32
33#[doc(inline)]
34pub use card::Card;
35
36#[doc(inline)]
37pub use ecs::{Component, ComponentBackend, Entity, EntityBackend, EntityManager};
38
39#[doc(inline)]
40pub use player::Player;
41
42#[doc(inline)]
43pub use snowflake::{Snowflake, SnowflakeGenerator};