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.