Files
bl/logic/service/fight/battle/skill/effect/base/base.go
昔念 5ba81e2f90 refactor(fight): 重构战斗相关代码
- 移除未使用的战斗模式枚举和相关代码
- 更新 BurnEffect 结构,增加生命周期管理
- 删除多余的 Skill 结构和 Effect 相关代码
- 调整 NoteReadyToFightInfo 结构的位置
2025-08-25 04:23:32 +08:00

37 lines
757 B
Go

package base
// 生命周期管理器
type LifeCycle struct {
remainTurn int // 剩余回合(-1 表示不限回合)
remainCount int // 剩余次数(-1 表示不限次数)
}
// 创建一个回合持续类效果
func NewTurnLife(turns int) LifeCycle {
return LifeCycle{remainTurn: turns, remainCount: -1}
}
// 创建一个次数持续类效果
func NewCountLife(count int) LifeCycle {
return LifeCycle{remainTurn: -1, remainCount: count}
}
// 每回合 tick
func (lc *LifeCycle) Tick() {
if lc.remainTurn > 0 {
lc.remainTurn--
}
}
// 使用一次
func (lc *LifeCycle) Use() {
if lc.remainCount > 0 {
lc.remainCount--
}
}
// 是否还活跃
func (lc *LifeCycle) Alive() bool {
return (lc.remainTurn != 0) && (lc.remainCount != 0)
}