types

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MapWidth   = 50
	MapHeight  = 50
	TileSize   = 32
	TileHeight = 2.0

	// RuneScape-style tick rate (600ms)
	ServerTickRate = 600 * time.Millisecond
	ClientTickRate = 50 * time.Millisecond
	MaxTickDesync  = 5
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ChatMessage

type ChatMessage struct {
	PlayerID int32
	Username string
	Content  string
	Time     time.Time
}

type ChatMessageHandler

type ChatMessageHandler interface {
	HandleServerMessages([]*pb.ChatMessage)
}

type FloatingMessage

type FloatingMessage struct {
	Content    string
	ExpireTime time.Time
	ScreenPos  rl.Vector2 // Store the screen position for 2D rendering
}

type ModelAsset

type ModelAsset struct {
	Model   rl.Model
	Texture rl.Texture2D
}

type Player

type Player struct {
	sync.Mutex
	PosActual             rl.Vector3
	PosTile               Tile
	TargetPath            []Tile
	ActionQueue           []*pb.Action
	Speed                 float32
	Model                 rl.Model
	Texture               rl.Texture2D
	ID                    int32
	CurrentTick           int64
	LastUpdateTime        time.Time
	InterpolationProgress float32
	UserData              interface{}
	FloatingMessage       *FloatingMessage
	QuitDone              chan struct{}
}

func NewPlayer

func NewPlayer(state *pb.PlayerState) *Player

func (*Player) ForceResync

func (p *Player) ForceResync(state *pb.PlayerState)

func (*Player) MoveTowards

func (p *Player) MoveTowards(target Tile, deltaTime float32, mapGrid [][]Tile)

func (*Player) UpdatePosition

func (p *Player) UpdatePosition(state *pb.PlayerState, tickRate time.Duration)

type Tile

type Tile struct {
	X, Y     int
	Height   float32
	Walkable bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳