package entity import "sync" type ClientData struct { isCrossDomain bool //是否跨域过 player *Player //客户实体 //UserID uint32 m sync.Mutex wsmsg WsCodec } func (cd *ClientData) SetPlayer(player *Player) { cd.m.Lock() defer cd.m.Unlock() cd.player = player } func (cd *ClientData) GetPlayer() *Player { cd.m.Lock() defer cd.m.Unlock() return cd.player } func (cd *ClientData) Getwsmsg() *WsCodec { cd.m.Lock() defer cd.m.Unlock() return &cd.wsmsg } func (cd *ClientData) SetCrossDomain(isCrossDomain bool) { cd.m.Lock() defer cd.m.Unlock() cd.isCrossDomain = isCrossDomain } func (cd *ClientData) GetIsCrossDomain() bool { cd.m.Lock() defer cd.m.Unlock() return cd.isCrossDomain } func NewClientData() *ClientData { cd := ClientData{ isCrossDomain: false, player: nil, m: sync.Mutex{}, wsmsg: WsCodec{}, } return &cd }