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 }