Documentation
¶
Index ¶
- Constants
- func RegisterEntity(etype uint16, creator func(*Entity) (msg.IEntity, error), ...)
- type Entity
- func (e *Entity) AddWatcher(eid uint64)
- func (e *Entity) BroadcastToWatchers(bs *msg.SendStream, mid uint16, transpeer, destpeer byte)
- func (e *Entity) Destroy() error
- func (e *Entity) FlushProps(dt float64)
- func (e *Entity) ID() uint64
- func (e *Entity) Marshal(sr *msg.SendStream) error
- func (e *Entity) ProcessRpc(bs *msg.RecvStream) error
- func (e *Entity) RPC(methodname string, args ...interface{}) error
- func (e *Entity) RegisterMethodId(id uint16, processer func(bs *msg.RecvStream) error)
- func (e *Entity) RegisterRpcHandler(handler interface{})
- func (e *Entity) RemoveWatcher(eid uint64)
- func (e *Entity) SendMethodMsg(bs *msg.SendStream, mid uint16, transpeer, destpeer byte)
- func (e *Entity) SetPeer(p peer.IPeer)
- func (e *Entity) Unmarshal(sr *msg.RecvStream) error
- func (e *Entity) UnregisterRpcHandler(handler interface{})
- func (e *Entity) Update(deltatime float64)
- type Manager
- func (m *Manager) ClearEntityBySenderId(pid uint64)
- func (m *Manager) CreateEntity(eid uint64, etype uint16, p peer.IPeer) (msg.IEntity, error)
- func (m *Manager) GetAllEntityByServerType(srvtype byte) []msg.IEntity
- func (m *Manager) GetEntityByEType(etype uint16) map[uint64]*Entity
- func (m *Manager) GetEntityById(eid uint64) *Entity
- func (m *Manager) GetEntityByPeerIdAndEid(peerid uint64, eid uint64) *Entity
- func (m *Manager) GetEntityByServerType(srvtype byte) msg.IEntity
- func (m *Manager) GetEntitysByPeerId(peerid uint64) map[uint64]*Entity
- func (m *Manager) Initialize()
- func (m *Manager) IsReconnect(peerid uint64) bool
- func (m *Manager) IsRelogin(peerid, uid uint64) bool
- func (m *Manager) OnPeerDisconnect(peerid uint64)
- func (m *Manager) OnPeerMsg(rs *msg.RecvStream, p peer.IPeer) error
- func (m *Manager) OnPeerReconnect(peerid uint64, peer peer.IPeer)
- func (m *Manager) OnPeerVerify(rs *msg.RecvStream, p peer.IPeer) error
- func (m *Manager) OnVerifyPeerMsg(rs *msg.RecvStream, p peer.IPeer) error
- func (m *Manager) SetStartEntityTypes(starttypes []uint16)
- func (m *Manager) SetUserEntityType(usertype uint16)
- func (m *Manager) TryAddEnityMsg(rs *msg.RecvStream, p peer.IPeer) error
- func (m *Manager) Update(dt float64)
Constants ¶
View Source
const ( Server byte = iota //server controll User //user controll Verifying Destroying )
View Source
const OnDestroyMethodId uint16 = 0
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Entity ¶
type Entity struct {
Id uint64
//转发id, controll peer id,
//如果是客户端entity,该值在服务器为客户端的peerid,在客户端为服务器的peerid
//如果是服务器entity,该值是服务器peerid,在客户端也是服务器peerid
//所以如果需要将某个服务器entity的控制交给某个客户端,则需要修改
//由于entity消息转发处理是由map[peerid]entity控制的,所以只需要将客户端peerid和entity加入到map中
//这样收到该entity函数消息时便可以拿到该实体去处理
//TODO:消息头中的ctrlpid可以删除?
//CtrlPid uint64
CtrlPeer peer.IPeer
State byte
EType uint16
// SrvType byte
// SrvId uint16
ExtData []byte
// Peer peer.IPeer
// parent peer.IPeer
// childs []peer.IPeer
Peers []peer.IPeer
TransferMap map[uint16][]byte
RealEntity msg.IEntity
// contains filtered or unexported fields
}
func (*Entity) AddWatcher ¶
func (*Entity) BroadcastToWatchers ¶
func (e *Entity) BroadcastToWatchers(bs *msg.SendStream, mid uint16, transpeer, destpeer byte)
func (*Entity) FlushProps ¶
func (*Entity) ProcessRpc ¶
func (e *Entity) ProcessRpc(bs *msg.RecvStream) error
func (*Entity) RegisterMethodId ¶
func (e *Entity) RegisterMethodId(id uint16, processer func(bs *msg.RecvStream) error)
func (*Entity) RegisterRpcHandler ¶
func (e *Entity) RegisterRpcHandler(handler interface{})
func (*Entity) RemoveWatcher ¶
func (*Entity) SendMethodMsg ¶
func (e *Entity) SendMethodMsg(bs *msg.SendStream, mid uint16, transpeer, destpeer byte)
func (*Entity) UnregisterRpcHandler ¶
func (e *Entity) UnregisterRpcHandler(handler interface{})
type Manager ¶
type Manager struct {
OnCreateEntity func(uint16, msg.IEntity)
OnRemoveEntity func(msg.IEntity)
// contains filtered or unexported fields
}
var Mgr *Manager
func (*Manager) ClearEntityBySenderId ¶
func (*Manager) CreateEntity ¶
func (*Manager) GetAllEntityByServerType ¶
func (*Manager) GetEntityByEType ¶
func (*Manager) GetEntityById ¶
func (*Manager) GetEntityByPeerIdAndEid ¶
func (*Manager) GetEntityByServerType ¶
func (*Manager) GetEntitysByPeerId ¶
func (*Manager) Initialize ¶
func (m *Manager) Initialize()
func (*Manager) IsReconnect ¶
func (*Manager) OnPeerDisconnect ¶
func (*Manager) OnPeerVerify ¶
func (*Manager) OnVerifyPeerMsg ¶
func (*Manager) SetStartEntityTypes ¶
func (*Manager) SetUserEntityType ¶
func (*Manager) TryAddEnityMsg ¶
Click to show internal directories.
Click to hide internal directories.