frame

package
v0.0.0-...-d853fe5 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BroadcastFrameCnt = 3                      // 每秒45帧, 3帧一次下发, 也就是1秒15次下发,大概66毫秒一次
	FrameFrequency    = 15 * BroadcastFrameCnt // 每秒45帧, 3帧一次下发, 也就是1秒15次下发,大概66毫秒一次
	FrameTimer        = 1000 / FrameFrequency  // 心跳Timer

	MaxReadyTime        int64  = 20                         // second,准备阶段最长时间,如果超过这个时间没人连进来直接关闭游戏
	MaxGameFrame        uint32 = 30*60*FrameFrequency + 100 // 每局最大帧数(30分钟)
	MaxFrameDataPerMsg         = 60                         // 每个消息包最多包含多少个帧数据
	BadNetworkThreshold        = 2                          // 这个时间段没有收到心跳包认为他网络很差,不再持续给发包(网络层的读写时间设置的比较长,客户端要求的方案)

)

Variables

This section is empty.

Functions

This section is empty.

Types

type FrameSever

type FrameSever struct {
	entity.Entity
	// contains filtered or unexported fields
}

FrameSever

func (*FrameSever) GameOver

func (f *FrameSever) GameOver(c entity.Context, req *frameproto.GameOverReq) error

GameOver 上报结束

func (*FrameSever) Heartbeat

Heartbeat

func (*FrameSever) Init

Init

func (*FrameSever) Input

func (f *FrameSever) Input(c entity.Context, req *frameproto.InputReq) error

Input

func (*FrameSever) Join

Join

func (*FrameSever) OnInit

func (f *FrameSever) OnInit()

func (*FrameSever) OnNotify

func (f *FrameSever) OnNotify(wn entity.NotifyInfo)

func (*FrameSever) OnTick

func (f *FrameSever) OnTick()

func (*FrameSever) Progress

func (f *FrameSever) Progress(c entity.Context, req *frameproto.ProgressReq) error

Progress 无实际意义,告诉其他人加载进度

func (*FrameSever) Ready

func (f *FrameSever) Ready(c entity.Context, req *frameproto.ReadyReq) error

Ready

type GameState

type GameState int

GameState 游戏状态

const (
	GameNone  GameState = 0 // 准备阶段
	GameReady GameState = 1 // 准备阶段
	GamRuning GameState = 2 // 战斗中阶段
	GameOver  GameState = 3 // 结束阶段
	GameStop  GameState = 4 // 准备阶段
)

type Player

type Player struct {
	*frameproto.FrameClient

	Id uint64
	// contains filtered or unexported fields
}

func NewPlayer

func NewPlayer(eid entity.EntityID, id uint64) *Player

func (*Player) Cleanup

func (p *Player) Cleanup()

func (*Player) GetLastHeartbeatTime

func (p *Player) GetLastHeartbeatTime() int64

func (*Player) GetSendFrameCount

func (p *Player) GetSendFrameCount() uint32

func (*Player) IsOnline

func (p *Player) IsOnline() bool

func (*Player) LoadingProgress

func (p *Player) LoadingProgress() int32

func (*Player) RefreshHeartbeatTime

func (p *Player) RefreshHeartbeatTime()

func (*Player) SetLoadingProgress

func (p *Player) SetLoadingProgress(n int32)

func (*Player) SetSendFrameCount

func (p *Player) SetSendFrameCount(c uint32)

Directories

Path Synopsis
test

Jump to

Keyboard shortcuts

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