player

package
v0.0.0-...-f634a8a Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2015 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SplashMode = iota
	LoginUsernameMode
	LoginPasswordMode
	GameMode
	CreateCharacterMode
)
View Source
const (
	RaceNone = iota
	RaceEarther
	RaceLunite
	RaceBelter
)

Variables

View Source
var CommandTemplateCache = map[string]*template.Template{}
View Source
var Exited = errors.New("Player exited.")
View Source
var GameState = struct {
	sync.RWMutex
	Players map[string]*Player
}{Players: make(map[string]*Player)}
View Source
var ModeTemplateCache = map[string]*template.Template{}
View Source
var UnknownMode = errors.New("No such mode exists.")

Functions

func CreateCharacterFunc

func CreateCharacterFunc(p *Player, cmd string) (string, error)

func GetPasswordFunc

func GetPasswordFunc(p *Player, cmd string) (string, error)

func GetUsernameFunc

func GetUsernameFunc(p *Player, cmd string) (string, error)

func InitDatabase

func InitDatabase()

func NoValidCommand

func NoValidCommand(p *Player, msg string) (string, error)

func RenderCommandTemplate

func RenderCommandTemplate(path string, p interface{}) (string, error)

Types

type CmdFunc

type CmdFunc func(*Player, string) (string, error)

type Command

type Command struct {
	Name    string
	Help    string
	Aliases []string
	Func    CmdFunc
}

func CreateCharacterCmd

func CreateCharacterCmd() *Command

func GlobalCmd

func GlobalCmd() *Command

send global message to all players in the game

func LoginCmd

func LoginCmd() *Command

func NewQuitCmd

func NewQuitCmd() *Command

func StatusCmd

func StatusCmd() *Command

func WhoCmd

func WhoCmd() *Command

type InitModeFunc

type InitModeFunc func(*Player)

type Mode

type Mode struct {
	Id           int
	Name         string
	Desc         string
	DescTemplate string
	Cmds         []*Command
	DefaultCmd   CmdFunc
	InitCmd      InitModeFunc
}

func GetMode

func GetMode(mode int) (*Mode, error)

func MustGetMode

func MustGetMode(mode int) *Mode

func NewCreateCharacterMode

func NewCreateCharacterMode() *Mode

func NewGameMode

func NewGameMode() *Mode

func NewLoginPasswordMode

func NewLoginPasswordMode() *Mode

func NewLoginUsernameMode

func NewLoginUsernameMode() *Mode

func NewSplashMode

func NewSplashMode() *Mode

func (*Mode) Render

func (m *Mode) Render(p *Player) string

func (*Mode) String

func (m *Mode) String() string

type Player

type Player struct {
	Conn     net.Conn
	LoggedIn bool
	Name     string
	UUID     string
	Level    int
	Exp      int
	Race     Race
	Mode     *Mode
	HP       int
	MaxHP    int
	SP       int
	Msgs     chan string
}

func GetPlayer

func GetPlayer(name string) (*Player, bool)

func NewPlayer

func NewPlayer(conn net.Conn) *Player

func (*Player) CheckPassword

func (p *Player) CheckPassword(pwd string) bool

func (*Player) HandleMessage

func (p *Player) HandleMessage(msg string) (string, error)

func (*Player) Logout

func (p *Player) Logout()

func (*Player) MergePlayer

func (p *Player) MergePlayer(op *Player)

func (*Player) RaceString

func (p *Player) RaceString() string

func (*Player) Save

func (p *Player) Save() error

func (*Player) ShortID

func (p *Player) ShortID() string

func (*Player) Start

func (p *Player) Start() string

func (*Player) String

func (p *Player) String() string

func (*Player) SwitchModes

func (p *Player) SwitchModes(mode int, cmd ...string) string

type Race

type Race int

Jump to

Keyboard shortcuts

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