go_dreamfactory/modules/autoBattle/module.go
2023-03-30 14:14:02 +08:00

63 lines
1.7 KiB
Go

package autoBattle
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
type AutoBattle struct {
modules.ModuleBase
modelAutoBattle *modelAutoBattle
api *apiComp
configure *configureComp
service core.IService
}
func NewModule() core.IModule {
return &AutoBattle{}
}
func (this *AutoBattle) GetType() core.M_Modules {
return comm.ModuleAutoBattle
}
func (this *AutoBattle) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service
return
}
func (this *AutoBattle) Start() (err error) {
err = this.ModuleBase.Start()
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
return
}
func (this *AutoBattle) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelAutoBattle = this.RegisterComp(new(modelAutoBattle)).(*modelAutoBattle)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// 接口信息
func (this *AutoBattle) ModifyAutoData(uid string, id string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelAutoBattle.ChangeListByObjId(uid, id, data)
if err != nil {
code = pb.ErrorCode_DBError
}
return
}
//Event-------------------------------------------------------------------------------------------------玩家离线
func (this *AutoBattle) EventUserOffline(uid, sessionid string) {
if err := this.modelAutoBattle.RemoveUserInfo(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}