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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//! # 时间管理系统
//!
//! AnvilKit 的时间管理系统提供了游戏开发中必需的时间跟踪和计时功能。
//!
//! ## 模块组织
//!
//! - [`time`]: 核心时间资源,跟踪帧时间和应用运行时间
//! - [`timer`]: 计时器工具,用于延时和周期性事件
//! - [`stopwatch`]: 秒表工具,用于性能测量和调试
//! - [`frame_counter`]: 帧计数器,用于 FPS 计算和性能监控
//!
//! ## 设计原则
//!
//! 1. **高精度**: 使用 `std::time::Instant` 提供微秒级精度
//! 2. **零成本抽象**: 编译时优化,运行时开销最小
//! 3. **易于使用**: 提供直观的 API 和常用的便利方法
//! 4. **线程安全**: 所有类型都实现了 `Send` 和 `Sync`
//!
//! ## 使用示例
//!
//! ```rust
//! use anvilkit_core::time::{Time, Timer};
//! use std::time::Duration;
//!
//! // 创建时间管理器
//! let mut time = Time::new();
//!
//! // 创建 1 秒计时器
//! let mut timer = Timer::from_seconds(1.0);
//!
//! // 模拟游戏循环
//! for _ in 0..5 {
//! time.update();
//! timer.tick(time.delta());
//!
//! if timer.just_finished() {
//! println!("Timer finished!");
//! timer.reset();
//! }
//!
//! // 模拟一些工作
//! std::thread::sleep(Duration::from_millis(10));
//! }
//! ```
// 重新导出主要类型
pub use Time;
pub use Timer;