chat_manager.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package model
  2. import (
  3. "roserver/serverproto"
  4. )
  5. var worldMsgList []*serverproto.MessageContentInfo
  6. var WorldSMsgList []*serverproto.SystemMessage
  7. func GetWorldMsg(ackMsg *serverproto.SCChatMessageNtf, blackList map[uint64]struct{}) {
  8. for idx := 0; idx < len(worldMsgList); idx++ {
  9. if _, ok := blackList[worldMsgList[idx].FromId.Uid]; ok {
  10. continue
  11. }
  12. ackMsg.MsgList = append(ackMsg.MsgList, worldMsgList[idx])
  13. }
  14. ackMsg.SMsgList = WorldSMsgList
  15. }
  16. func AddWorldMsg(msgType int32, fromId *serverproto.ChatPlayerBriefInfo, msg *serverproto.ChatMessageInfo, paramList []int32) {
  17. worldMsgList = append(worldMsgList, &serverproto.MessageContentInfo{
  18. Type: msgType,
  19. FromId: fromId,
  20. Message: msg,
  21. ParamList: paramList,
  22. })
  23. if len(worldMsgList) > 20 {
  24. worldMsgList = append(worldMsgList[:0], worldMsgList[1:]...)
  25. }
  26. }
  27. func AddWorldSMsg(msg *serverproto.SystemMessage) {
  28. WorldSMsgList = append(WorldSMsgList, msg)
  29. if len(WorldSMsgList) > 20 {
  30. WorldSMsgList = append(WorldSMsgList[:0], WorldSMsgList[1:]...)
  31. }
  32. }