pub use issun_macros::{
auto_pump, event, event_handler, Asset, Entity, Plugin, Resource, Scene, Service, System,
};
pub use async_trait;
pub mod asset;
pub mod builder;
pub mod context;
pub mod engine;
pub mod entity;
pub mod error;
pub mod event;
pub mod plugin;
pub mod replay;
pub mod resources;
pub mod scene;
pub mod service;
pub mod state;
pub mod storage;
pub mod store;
pub mod system;
pub mod trace;
pub mod ui;
#[cfg(feature = "network")]
pub mod network;
pub mod modding;
pub mod prelude {
pub use crate::asset::Asset;
pub use crate::builder::Game;
pub use crate::builder::GameBuilder;
pub use crate::collect_events;
pub use crate::context::{
Context, GameContext, ResourceContext, ServiceContext, SystemContext,
};
pub use crate::entity::Entity;
pub use crate::error::{IssunError, Result};
pub use crate::event::{Event, EventBus, EventReader};
pub use crate::plugin::{
ActiveBuff,
ActiveBuffs,
AutoSaveRequested,
BuffConfig,
BuffDuration,
BuffEffect,
BuffService,
BuffSystem,
CombatConfig,
CombatHook,
CombatLogEntry,
CombatPlugin,
CombatResult,
CombatService,
CombatSystem,
Combatant,
Connection,
ConnectionPattern,
DamageResult,
DropConfig,
DungeonConfig,
DungeonPlugin,
DungeonService,
DungeonState,
DungeonSystem,
GameLoaded,
GameSaved,
InventoryPlugin,
InventoryService,
Item,
LoadGameRequested,
LootPlugin,
LootService,
Plugin,
PluginBuilder,
Rarity,
RoomBuffDatabase,
RoomBuffPlugin,
RoomId,
SaveFormat,
SaveGameRequested,
SaveLoadConfig,
SaveLoadPlugin,
};
pub use crate::resources::{Resource, Resources};
pub use crate::scene::{Scene, SceneDirector, SceneTransition};
pub use crate::service::Service;
pub use crate::state::{State, States};
pub use crate::store::{EntityStore, Store};
pub use crate::system::System;
pub use crate::modding::{
ModBackend, ModHandle, ModLoader, ModMetadata, ModSystemConfig, ModSystemPlugin,
PluginAction, PluginControl,
};
pub use issun_macros::Plugin as DerivePlugin;
pub use issun_macros::Service as DeriveService;
pub use issun_macros::System as DeriveSystem;
}
#[cfg(test)]
mod tests {
}