feat: activity 和 fight 包文档优化
This commit is contained in:
parent
b86d0ef702
commit
7693518640
|
@ -18,4 +18,4 @@ jobs:
|
|||
bump-minor-pre-major: true
|
||||
bump-patch-for-minor-pre-major: true
|
||||
changelog-types: '[{"type":"other","section":"Other | 其他更改","hidden":false},{"type":"revert","section":"Reverts | 回退","hidden":false},{"type":"feat","section":"Features | 新特性","hidden":false},{"type":"fix","section":"Bug Fixes | 修复","hidden":false},{"type":"improvement","section":"Feature Improvements | 改进","hidden":false},{"type":"docs","section":"Docs | 文档优化","hidden":false},{"type":"style","section":"Styling | 可读性优化","hidden":false},{"type":"refactor","section":"Code Refactoring | 重构","hidden":false},{"type":"perf","section":"Performance Improvements | 性能优化","hidden":false},{"type":"test","section":"Tests | 新增或优化测试用例","hidden":false},{"type":"build","section":"Build System | 影响构建的修改","hidden":false},{"type":"ci","section":"CI | 更改我们的 CI 配置文件和脚本","hidden":false}]'
|
||||
release-as: 0.4.0
|
||||
# release-as: 0.4.0
|
|
@ -0,0 +1,12 @@
|
|||
# Activity
|
||||
|
||||
[](https://pkg.go.dev/github.com/kercylan98/minotaur/game/activity)
|
||||
|
||||
`activity` 是为不同类型的活动提供灵活的状态管理实现,支持活动的预告、开始、结束、延长展示等状态。
|
||||
|
||||
## 设计思路
|
||||
- 为不同类型的活动提供灵活的状态管理框架,支持活动的预告、开始、结束、延长展示等状态。
|
||||
- 支持事件驱动,根据活动状态变化和时间触发事件。
|
||||
- 允许活动循环,并支持配置延长展示时间。
|
||||
- 在多线程环境下使用互斥锁进行同步。
|
||||
- 使用反射处理不同类型的活动数据。
|
|
@ -1,3 +1,4 @@
|
|||
// Package activity 活动状态管理
|
||||
package activity
|
||||
|
||||
import (
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Fight
|
||||
|
||||
[](https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight)
|
||||
|
||||
## TurnBased [`回合制`]((https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight#TurnBased))
|
||||
|
||||
### 设计思路
|
||||
- 在每个回合中计算下一次行动时间间隔。然后,会根据当前行动时间间隔选择下一个行动实体。
|
||||
- 当选择到下一个行动实体后,进入行动阶段。在行动阶段中,会先触发 [`TurnBasedEntitySwitchEvent`](https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight#TurnBased.RegTurnBasedEntitySwitchEvent) 事件,然后开始计时。
|
||||
- 当计时结束时,如果实体还未完成行动,则会触发 [`TurnBasedEntityActionTimeoutEvent`](https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight#TurnBased.RegTurnBasedEntityActionTimeoutEvent) 事件。如果实体已经完成行动,则会触发 [`TurnBasedEntityActionFinishEvent`](https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight#TurnBased.RegTurnBasedEntityActionFinishEvent) 事件。
|
||||
- 当实体完成行动后,会触发 [`TurnBasedEntityActionSubmitEvent`](https://pkg.go.dev/github.com/kercylan98/minotaur/game/fight#TurnBased.RegTurnBasedEntityActionSubmitEvent) 事件。
|
||||
|
||||
回合制功能的设计思路主要考虑了以下几个方面:
|
||||
|
||||
* 灵活性:`TurnBased` 类型提供了丰富的属性和方法,可以满足不同游戏的需要。
|
||||
* 可扩展性:`TurnBased` 类型还提供了 `AddCamp`、`GetCamp`、`SetActionTimeout` 等方法,可以根据需要扩展回合制功能。
|
||||
* 事件驱动:回合制功能使用事件驱动的方式来通知回合制状态变化。
|
||||
|
Loading…
Reference in New Issue