package channelserver import ( "erupe-ce/network/mhfpacket" "go.uber.org/zap" ) func handleMsgSysInsertUser(s *Session, p mhfpacket.MHFPacket) {} func handleMsgSysDeleteUser(s *Session, p mhfpacket.MHFPacket) {} func handleMsgSysSetUserBinary(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgSysSetUserBinary) if pkt.BinaryType < 1 || pkt.BinaryType > 5 { s.logger.Warn("Invalid BinaryType", zap.Uint8("type", pkt.BinaryType)) return } s.server.userBinaryPartsLock.Lock() s.server.userBinaryParts[userBinaryPartID{charID: s.charID, index: pkt.BinaryType}] = pkt.RawDataPayload s.server.userBinaryPartsLock.Unlock() s.server.BroadcastMHF(&mhfpacket.MsgSysNotifyUserBinary{ CharID: s.charID, BinaryType: pkt.BinaryType, }, s) } func handleMsgSysGetUserBinary(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgSysGetUserBinary) s.server.userBinaryPartsLock.RLock() data, ok := s.server.userBinaryParts[userBinaryPartID{charID: pkt.CharID, index: pkt.BinaryType}] s.server.userBinaryPartsLock.RUnlock() if !ok { doAckBufFail(s, pkt.AckHandle, make([]byte, 4)) } else { doAckBufSucceed(s, pkt.AckHandle, data) } } func handleMsgSysNotifyUserBinary(s *Session, p mhfpacket.MHFPacket) {}