Files
bl/logic/service/player/new.go
昔念 026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00

46 lines
851 B
Go

package player
import (
"blazing/cool"
"blazing/logic/service/common"
"blazing/modules/base/service"
"blazing/modules/player/model"
"time"
)
// NewPlayer 使用 Options 模式创建 Player 实例
func NewPlayer(opts ...PlayerOption) *Player {
p := &Player{
HavePVPinfo: make([]common.PlayerI, 0),
baseplayer: newbaseplayer(),
}
p.User = service.NewBaseSysUserService()
p.monsters = generateThreeUniqueNumbers()
p.Done = NewDone(p) //发布订阅事件
p.MapNPC = cool.Cron.ScheduleFunc(10*time.Second, func() {
// 获取当前地图的怪物配置
p.genMonster() //生成野怪
})
for _, opt := range opts {
opt(p)
}
return p
}
func NewAI_player(i *model.PlayerInfo) *AI_player {
ret := &AI_player{
baseplayer: newbaseplayer(),
}
ret.Info = i
//ret.Info.Nick = xmlres.PetMAP[int(m.ID)].DefName
return ret
}