Documentation
¶
Index ¶
- Constants
- func Data[V any](c DataHolder) (_ V)
- func PhaseData[V any](ctx Context) (_ V)
- func TurnData[V any](ctx Context) (_ V)
- type ConfigBuilder
- type ConfigCheckboxOptionsBuilder
- type ConfigDescOptionsBuilder
- type ConfigOptionsBuilder
- type ConfigRadioOptionsBuilder
- type ConfigRangeOptionsBuilder
- type Context
- type DataHolder
- type Effect
- type Event
- type EventWithStartPlayer
- type FuncModeNextTurn
- type GameStartedEvent
- type Hero
- type HeroDef
- type InvokeResult
- type Invoker
- type ModeBuilder
- type ModeInitUserBuilder
- type ModeInitializer
- type ModeRegistration
- type ModeRepository
- type ModeRoomConfigBuilder
- type ModeUserConfigBuilder
- type Phase
- type PhaseBuilder
- type PhaseStartedEvent
- type PhaseStarter
- type Player
- type PlayerPreparedEvent
- type PluginBuilder
- type PluginRegister
- type PrepareUser
- type RuntimeContext
- type Trigger
- type Turn
- type TurnBuilder
- type TurnStartedEvent
- type TurnStarter
- type User
Constants ¶
View Source
const ( EventPlayerPrepared = "system:player_prepared" EventGameStarted = "system:game_start" EventTurnStarted = "system:turn_start" EventPhaseStarted = "system:phase_start" )
Variables ¶
This section is empty.
Functions ¶
func Data ¶
func Data[V any](c DataHolder) (_ V)
Types ¶
type ConfigBuilder ¶
type ConfigBuilder interface {
DataHolder
Desc(desc string) ConfigDescOptionsBuilder
Checkbox(name string, tips string) ConfigCheckboxOptionsBuilder
Radio(name string, tips string) ConfigRadioOptionsBuilder
Range(name string, tips string) ConfigRangeOptionsBuilder
}
type ConfigCheckboxOptionsBuilder ¶
type ConfigCheckboxOptionsBuilder interface {
ConfigOptionsBuilder
SetName(name string) ConfigCheckboxOptionsBuilder
SetTips(tips string) ConfigCheckboxOptionsBuilder
AddOption(name string, tips string, checked bool, onChanged func(data any, name, checkboxName string, checked bool)) ConfigCheckboxOptionsBuilder
ResetOptions() ConfigCheckboxOptionsBuilder
RemoveOption(name string) ConfigCheckboxOptionsBuilder
SetOptionTips(name string, tips string) ConfigCheckboxOptionsBuilder
CheckOption(name string, checked bool) ConfigCheckboxOptionsBuilder
OnChangedOption(name string, onChanged func(data any, name, checkboxName string, checked bool)) ConfigCheckboxOptionsBuilder
}
type ConfigDescOptionsBuilder ¶
type ConfigDescOptionsBuilder interface {
ConfigOptionsBuilder
Desc(desc string) ConfigDescOptionsBuilder
}
type ConfigOptionsBuilder ¶
type ConfigOptionsBuilder interface {
Parent() ConfigBuilder
}
type ConfigRadioOptionsBuilder ¶
type ConfigRadioOptionsBuilder interface {
ConfigOptionsBuilder
SetName(name string) ConfigRadioOptionsBuilder
SetTips(tips string) ConfigRadioOptionsBuilder
AddOption(name string, tips string) ConfigRadioOptionsBuilder
CheckOption(name string) ConfigRadioOptionsBuilder
ResetOptions() ConfigRadioOptionsBuilder
RemoveOption(name string) ConfigRadioOptionsBuilder
OnCheckedOption(onChecked func(data any, name, radioName string)) ConfigRadioOptionsBuilder
Parent() ConfigBuilder
}
type ConfigRangeOptionsBuilder ¶
type ConfigRangeOptionsBuilder interface {
ConfigOptionsBuilder
SetName(name string) ConfigRangeOptionsBuilder
SetTips(tips string) ConfigRangeOptionsBuilder
Max(value int, label string) ConfigRangeOptionsBuilder
Min(value int, label string) ConfigRangeOptionsBuilder
ValueTips(value int, tips string) ConfigRangeOptionsBuilder
Value(value int) ConfigRangeOptionsBuilder
OnChanged(onChanged func(data any, name string, value int)) ConfigRangeOptionsBuilder
RemoveValueTip(value int) ConfigRangeOptionsBuilder
}
type Context ¶
type Context interface {
RuntimeContext
WithEvent(event Event) Context
Event() Event
}
type DataHolder ¶
type EventWithStartPlayer ¶
type FuncModeNextTurn ¶
type FuncModeNextTurn = func(ctx Context, turnBuilder TurnBuilder)
type GameStartedEvent ¶
type GameStartedEvent struct {
}
func (*GameStartedEvent) Name ¶
func (e *GameStartedEvent) Name() string
type InvokeResult ¶
type InvokeResult interface {
FastStop()
}
type Invoker ¶
type Invoker = func(ctx Context, result InvokeResult)
type ModeBuilder ¶
type ModeBuilder interface {
Name(name string) ModeBuilder
Description(description string) ModeBuilder
UserConfig(builderInitializer func(builder ModeUserConfigBuilder)) ModeBuilder
ModeRegistration(f func(registration ModeRegistration)) ModeBuilder
OnCreateConfig(f ModeRoomConfigBuilder) ModeBuilder
Init(f ModeInitializer) ModeBuilder
NextTurn(f TurnStarter) ModeBuilder
}
type ModeInitUserBuilder ¶
type ModeInitUserBuilder interface {
User() User
Order() int
RewriteOrder(order int) ModeInitUserBuilder
BindData(data any) ModeInitUserBuilder
}
type ModeInitializer ¶
type ModeInitializer = func(ctx Context, userBuilders []ModeInitUserBuilder) (ctxData any)
type ModeRegistration ¶
type ModeRepository ¶
type ModeRepository interface {
GetModeRegistration(name string) ModeRegistration
BuildMode(f func(builder ModeBuilder))
}
type ModeRoomConfigBuilder ¶
type ModeRoomConfigBuilder = func(roomConfigBuilder ConfigBuilder)
type ModeUserConfigBuilder ¶
type ModeUserConfigBuilder interface {
MinPlayer(playerCount int) ModeUserConfigBuilder
MaxPlayer(playerCount int) ModeUserConfigBuilder
ValidUser(validator func(user User) (reason string)) ModeUserConfigBuilder
DisableRandomOrder() ModeUserConfigBuilder
}
type Phase ¶
type Phase interface {
DataHolder
Name() string
}
type PhaseBuilder ¶
type PhaseBuilder interface {
Name(name string) PhaseBuilder
}
type PhaseStartedEvent ¶
type PhaseStartedEvent struct {
// contains filtered or unexported fields
}
func (*PhaseStartedEvent) Name ¶
func (e *PhaseStartedEvent) Name() string
func (*PhaseStartedEvent) Phase ¶
func (e *PhaseStartedEvent) Phase() Phase
func (*PhaseStartedEvent) SetPhase ¶
func (e *PhaseStartedEvent) SetPhase(phase Phase)
func (*PhaseStartedEvent) SetTurn ¶
func (e *PhaseStartedEvent) SetTurn(turn Turn)
func (*PhaseStartedEvent) StartPlayer ¶
func (e *PhaseStartedEvent) StartPlayer() Player
func (*PhaseStartedEvent) Turn ¶
func (e *PhaseStartedEvent) Turn() Turn
type PhaseStarter ¶
type PhaseStarter = func(ctx Context, pb PhaseBuilder) (phaseData any)
type Player ¶
type Player interface {
DataHolder
Order() int
User() User
IsAlive() bool
Effects() Effect
}
type PlayerPreparedEvent ¶
type PlayerPreparedEvent struct {
// contains filtered or unexported fields
}
func (*PlayerPreparedEvent) Name ¶
func (e *PlayerPreparedEvent) Name() string
func (*PlayerPreparedEvent) Player ¶
func (e *PlayerPreparedEvent) Player() Player
func (*PlayerPreparedEvent) SetPlayer ¶
func (e *PlayerPreparedEvent) SetPlayer(player Player)
func (*PlayerPreparedEvent) StartPlayer ¶
func (e *PlayerPreparedEvent) StartPlayer() Player
type PluginBuilder ¶
type PluginBuilder interface {
Name(name string) PluginBuilder
Description(d string) PluginBuilder
Version(v int) PluginBuilder
Dependencies(dependentPluginWithVersion map[string]int) PluginBuilder
OnLoad(f func(r ModeRepository)) PluginBuilder
}
type PluginRegister ¶
type PluginRegister func(pb PluginBuilder)
type PrepareUser ¶
type RuntimeContext ¶
type TurnBuilder ¶
type TurnBuilder interface {
Player(p Player) TurnBuilder
Round(n int) TurnBuilder
OnNextPhase(phaseStarter PhaseStarter) TurnBuilder
}
type TurnStartedEvent ¶
type TurnStartedEvent struct {
// contains filtered or unexported fields
}
func (*TurnStartedEvent) Name ¶
func (e *TurnStartedEvent) Name() string
func (*TurnStartedEvent) SetTurn ¶
func (e *TurnStartedEvent) SetTurn(turn Turn)
func (*TurnStartedEvent) StartPlayer ¶
func (e *TurnStartedEvent) StartPlayer() Player
func (*TurnStartedEvent) Turn ¶
func (e *TurnStartedEvent) Turn() Turn
type TurnStarter ¶
type TurnStarter = func(ctx Context, tb TurnBuilder) (turnData any)
Click to show internal directories.
Click to hide internal directories.