1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package event
- import (
- "sync"
- mhayaLogger "github.com/mhaya/logger"
- )
- type EventManage struct {
- eventMap sync.Map
- }
- var (
- instance *EventManage
- once sync.Once
- )
- func GetEventIdMap() *EventManage {
- return instance
- }
- func init() {
- once.Do(func() {
- instance = &EventManage{
- eventMap: sync.Map{},
- }
- })
- instance.AddEvent(new(PlayerLoginEventContent))
- }
- func (em *EventManage) AddEvent(e Eventer) {
- em.eventMap.Store(e.EventName(), e)
- }
- func (em *EventManage) GetEvent(eventName string) Eventer {
- value, exist := em.eventMap.Load(eventName)
- if !exist {
- return nil
- }
- return value.(Eventer)
- }
- func (em *EventManage) PrintAllEvent() {
- mhayaLogger.Info("-------------------------------------------------")
- em.eventMap.Range(func(key, value any) bool {
- mhayaLogger.Infof("[event name = %s]", key)
- mhayaLogger.Infof("[event content = %v]", value)
- return true
- })
- mhayaLogger.Info("-------------------------------------------------")
- }
|