rome

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2019 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitRoom

func InitRoom(r IRoom)

InitRoom 启动 room

func Manager

func Manager(playerChan chan IPlayerConn, getWorld func(id interface{}) IWorld)

Manager ...

func ParsePlayerConn

func ParsePlayerConn(p IPlayerConn, pchan chan IPlayerConn)

ParsePlayerConn 处理通过 ws 连接过来的用户

Types

type IPlayerConn

type IPlayerConn interface {
	LoginInput() (b []byte, err error)
	Login(b []byte) (ok bool)
	SendManager(pchan chan IPlayerConn, np IPlayerConn) (ok bool)
	SetRoom(r IRoom)
	GetWorldID() interface{}
	GetID() interface{}
	SendDeamon()
	ReadDeamon(cp IPlayerConn)
	ParseMessage(b []byte) (msg interface{}, ok bool)
	Send(b []byte)
	SendStop(b []byte)
	SendBroadcast(pm *websocket.PreparedMessage, stop bool)
	Close()
}

IPlayerConn 用户

type IRoom

type IRoom interface {
	PlayerConn(p IPlayerConn)
	PlayerMsg(p IPlayerConn, msg interface{})
	PlayerExit(p IPlayerConn)
	SendMsg(msg []byte, playerID ...interface{})
	GetTickDuration() (d time.Duration)
	Start(tick time.Duration)
	Stop()
	Init()
}

IRoom ...

type IWorld

type IWorld interface {
	Player(p IPlayerConn, status bool)
	Input(p IPlayerConn, msg interface{})
	PlayerConn(p IPlayerConn)
	Tick(i int) (ok bool)
}

IWorld ...

func GetWorld

func GetWorld(id interface{}) IWorld

GetWorld 仅做演示用途

type PlayerConn

type PlayerConn struct {
	ID interface{}
	WS *websocket.Conn

	CloseCode int
	CloseText string
	// contains filtered or unexported fields
}

PlayerConn ...

func (*PlayerConn) Close

func (p *PlayerConn) Close()

Close ...

func (*PlayerConn) GetID

func (p *PlayerConn) GetID() interface{}

GetID ...

func (*PlayerConn) GetWorldID

func (p *PlayerConn) GetWorldID() interface{}

GetWorldID ...

func (*PlayerConn) Login added in v1.0.1

func (p *PlayerConn) Login(b []byte) (ok bool)

LoginDecode ...

func (*PlayerConn) LoginInput

func (p *PlayerConn) LoginInput() (b []byte, err error)

LoginInput ...

func (*PlayerConn) ParseMessage

func (p *PlayerConn) ParseMessage(b []byte) (msg interface{}, ok bool)

ParseMessage ...

func (*PlayerConn) ReadDeamon

func (p *PlayerConn) ReadDeamon(cp IPlayerConn)

ReadDeamon ...

func (*PlayerConn) Send

func (p *PlayerConn) Send(b []byte)

Send 给客户端发消息

func (*PlayerConn) SendBroadcast

func (p *PlayerConn) SendBroadcast(pm *websocket.PreparedMessage, stop bool)

SendBroadcast 群发消息专用,

func (*PlayerConn) SendDeamon

func (p *PlayerConn) SendDeamon()

SendDeamon ...

func (*PlayerConn) SendManager

func (p *PlayerConn) SendManager(pchan chan IPlayerConn, np IPlayerConn) (ok bool)

SendManager ...

func (*PlayerConn) SendStop

func (p *PlayerConn) SendStop(b []byte)

SendStop 给客户端发消息,并关闭连接

func (*PlayerConn) SetRoom

func (p *PlayerConn) SetRoom(r IRoom)

SetRoom ...

type PlayerConnMsg

type PlayerConnMsg struct {
	Content interface{}
	Stop    bool
}

PlayerConnMsg ...

type Room

type Room struct {
	World IWorld
	// contains filtered or unexported fields
}

Room ...

func (*Room) GetTickDuration

func (r *Room) GetTickDuration() time.Duration

GetTickDuration ...

func (*Room) Init

func (r *Room) Init()

Init ...

func (*Room) LoopServe

func (r *Room) LoopServe() (ok bool)

LoopServe ...

func (*Room) PlayerConn

func (r *Room) PlayerConn(p IPlayerConn)

PlayerConn ...

func (*Room) PlayerExit

func (r *Room) PlayerExit(p IPlayerConn)

PlayerExit ...

func (*Room) PlayerMsg

func (r *Room) PlayerMsg(p IPlayerConn, msg interface{})

PlayerMsg ...

func (*Room) SendMsg

func (r *Room) SendMsg(msg []byte, playerID ...interface{})

SendMsg 给玩家发信息

func (*Room) Start

func (r *Room) Start(tick time.Duration)

Start ...

func (*Room) Stop

func (r *Room) Stop()

Stop ...

type World

type World struct {
	Room IRoom
}

World ...

func (*World) Input

func (w *World) Input(p IPlayerConn, msg interface{})

Input 玩家输入

func (*World) Player

func (w *World) Player(p IPlayerConn, status bool)

Player 状态更新

func (*World) PlayerConn

func (w *World) PlayerConn(p IPlayerConn)

PlayerConn ...

func (*World) Tick

func (w *World) Tick(i int) (ok bool)

Tick ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL