1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
//! Load your game assets with type-safety and build loading screens with //! consistent progress tracking. //! //! # Tasks //! The generic [`Task`] struct represents a lazy loading operation that can //! be combined and composed with other tasks. Most of the types representing //! resources in Coffee have `load` functions that return a [`Task`]. //! //! Tasks are defined declaratively in a functional style. This allows them to //! keep track of all the work they have to complete before even executing them. //! Read the [`Task`] docs to learn more! //! //! # Loading screens //! The [`LoadingScreen`] trait allows you to implement a loading screen that is //! compatible with any [`Task`]. Currently, Coffee includes a built-in loading //! screen: [`ProgressBar`], which shows a simple progress bar with some text. //! //! [`Task`]: struct.Task.html //! [`LoadingScreen`]: loading_screen/trait.LoadingScreen.html //! [`ProgressBar`]: loading_screen/struct.ProgressBar.html mod task; pub mod loading_screen; pub use loading_screen::LoadingScreen; pub use task::{Join, Progress, Task};