lowcode

package
v0.12.186 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2023 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AwardUnknow                int = 0  // 未知的奖励
	AwardCash                  int = 1  // 直接奖励cash
	AwardCollector             int = 2  // 奖励收集器
	AwardRespinTimes           int = 3  // 奖励respin次数
	AwardGameMulti             int = 4  // 奖励游戏整体倍数
	AwardStepMulti             int = 5  // 奖励这个step里的倍数
	AwardInitMask              int = 6  // 初始化mask
	AwardTriggerRespin         int = 7  // 触发respin,理论上,在respin外面应该用AwardTriggerRespin,在respin里面应该用AwardRespinTimes,如果分不清楚,就统一用AwardTriggerRespin
	AwardNoLevelUpCollector    int = 8  // 奖励收集器,但不会触发升级奖励
	AwardWeightGameRNG         int = 9  // 权重产生一个rng,供后续逻辑用,全局用,不同step不会reset这个rng
	AwardPushSymbolCollection  int = 10 // 根据SymbolCollection自己的逻辑,产生一定数量的Symbol到SymbolCollection里
	AwardGameCoinMulti         int = 11 // 奖励游戏整体的coin倍数
	AwardStepCoinMulti         int = 12 // 奖励这个step里的coin倍数
	AwardRetriggerRespin       int = 13 // 奖励再次触发respin,这种只会用前面记录下的retrigger次数
	AwardAddRetriggerRespinNum int = 14 // 奖励再次触发respin次数,这种会在前面的基础上增加
	AwardSetMaskVal            int = 15 // 设置mask的值
)
View Source
const (
	WinTypeLines              = "lines"
	WinTypeWays               = "ways"
	WinTypeScatters           = "scatters"
	WinTypeCountScatter       = "countscatter"
	WinTypeCountScatterInArea = "countscatterInArea"

	BetTypeNormal   = "bet"
	BetTypeTotalBet = "totalBet"
	BetTypeNoPay    = "noPay"
)
View Source
const (
	FixSymbolsTypeUnknow    int = 0 // unknow
	FixSymbolsTypeMergeDown int = 1 // merge & down
)
View Source
const (
	LightningTypeVal = "val"
	LightningTypeMul = "mul"

	LightningFeatureCollector = "collector"
)
View Source
const (
	MaskTypeNone         int = 0
	MaskTypeSymbolInReel int = 1
)
View Source
const (
	SelectSymbolR2L = "selectSymbolR2L"
	SelectSymbolL2R = "selectSymbolL2R"
	SelectWithXY    = "selectWithXY"
)
View Source
const (
	MoveTypeXY = "xy"
	MoveTypeYX = "yx"
)
View Source
const (
	OtherSceneFeatureUnknow       int = 0
	OtherSceneFeatureGameMulti    int = 1 // GameMulti,默认用乘法
	OtherSceneFeatureGameMultiSum int = 2 // GameMulti,默认用加法
	OtherSceneFeatureStepMulti    int = 3 // StepMulti,默认用乘法
	OtherSceneFeatureStepMultiSum int = 4 // StepMulti,默认用加法
)
View Source
const (
	GamePropWidth        = 1
	GamePropHeight       = 2
	GamePropCurPaytables = 3
	GamePropCurReels     = 4
	GamePropCurLineData  = 5
	GamePropCurLineNum   = 6
	GamePropCurBetIndex  = 7

	GamePropStepMulti     = 100
	GamePropGameMulti     = 101
	GamePropGameCoinMulti = 102 // 这次spin的全部step都生效,是只有coin玩法才生效的倍数
	GamePropStepCoinMulti = 103 // 这次spin的step才生效,是只有coin玩法才生效的倍数

	GamePropNextComponent   = 200
	GamePropRespinComponent = 201
)
View Source
const (
	StatusTypeUnknow         int = 0
	StatusTypeRespinEnding   int = 1
	StatusTypeRespinNum      int = 2
	StatusTypeRespinWin      int = 3
	StatusTypeRespinStartNum int = 4
	StatusTypeRespinStart    int = 5
	StatusTypeRespinStartEx  int = 6
)
View Source
const BasicReelsTypeName = "basicReels"
View Source
const BasicWinsTypeName = "basicWins"
View Source
const BookOf2TypeName = "bookOf2"
View Source
const BookOfTypeName = "bookOf"
View Source
const ChgSymbolTypeName = "chgSymbol"
View Source
const CollectorTypeName = "collector"
View Source
const DefaultCmd = "SPIN"
View Source
const FixSymbolsTypeName = "fixSymbols"
View Source
const LightningTypeName = "lightning"
View Source
const MaskBranchTypeName = "maskBranch"
View Source
const MaskTypeName = "mask"
View Source
const MergeSymbolTypeName = "mergeSymbol"
View Source
const MoveReelTypeName = "moveReel"
View Source
const MoveSymbolTypeName = "moveSymbol"
View Source
const MultiLevelMysteryTypeName = "multiLevelMystery"
View Source
const MultiLevelReelsTypeName = "multiLevelReels"
View Source
const MultiLevelReplaceReelTypeName = "multiLevelReplaceReel"
View Source
const MultiRespinTypeName = "multiRespin"
View Source
const MultiWeightAwardsTypeName = "multiWeightAwards"
View Source
const MysteryTypeName = "mystery"
View Source
const OverlaySymbolTypeName = "overlaySymbol"
View Source
const ReRollReelTypeName = "reRollReel"
View Source
const ReelSetMysteryTypeName = "reelSetMystery"
View Source
const ReplaceReelTypeName = "replaceReel"
View Source
const ReplaceSymbolTypeName = "replaceSymbol"
View Source
const RespinTypeName = "respin"
View Source
const SymbolCollectionTypeName = "symbolCollection"
View Source
const SymbolMultiTypeName = "symbolMulti"
View Source
const SymbolTriggerTypeName = "symbolTrigger"
View Source
const SymbolVal2TypeName = "symbolVal2"
View Source
const SymbolValTypeName = "symbolVal"
View Source
const SymbolValWinsTypeName = "symbolValWins"
View Source
const (
	TagCurReels = "reels"
)
View Source
const WeightChgSymbolTypeName = "weightChgSymbol"
View Source
const WeightTriggerTypeName = "weightTrigger"

Variables

View Source
var (
	// ErrUnkonow - unknow error
	ErrUnkonow = errors.New("unknow error")

	// ErrMustHaveMainPaytables - must have main paytables
	ErrMustHaveMainPaytables = errors.New("must have main paytables")

	// ErrInvalidGameMod - invalid gamemod
	ErrInvalidGameMod = errors.New("invalid gamemod")

	// ErrInvalidComponent - invalid component
	ErrInvalidComponent = errors.New("invalid component")

	// ErrInvalidReels - invalid reels
	ErrInvalidReels = errors.New("invalid reels")

	// ErrInvalidSymbol - invalid symbol
	ErrInvalidSymbol = errors.New("invalid symbol")

	// ErrInvalidPaytables - invalid paytables
	ErrInvalidPaytables = errors.New("invalid paytables")

	// ErrInvalidGamePropertyString - invalid gameProperty string
	ErrInvalidGamePropertyString = errors.New("invalid gameProperty string")

	// ErrParseScript - parse script error
	ErrParseScript = errors.New("parse script error")
	// ErrNoFunctionInScript - no function in script
	ErrNoFunctionInScript = errors.New("no function in script")
	// ErrWrongFunctionInScript - wrong function in script
	ErrWrongFunctionInScript = errors.New("wrong function in script")

	// ErrIvalidComponentName - invalid component name
	ErrIvalidComponentName = errors.New("invalid component name")

	// ErrIvalidCurGameModParams - invalid CurGameModParams
	ErrIvalidCurGameModParams = errors.New("invalid CurGameModParams")

	// ErrIvalidPlayResultLength - invalid PlayResult Length
	ErrIvalidPlayResultLength = errors.New("invalid PlayResult Length")

	// ErrIvalidMultiLevelReelsConfig - invalid MultiLevelReels config
	ErrIvalidMultiLevelReelsConfig = errors.New("invalid MultiLevelReels config")

	// ErrIvalidStatsSymbolsInConfig - invalid StatsSymbols in config
	ErrIvalidStatsSymbolsInConfig = errors.New("invalid StatsSymbols in config")
	// ErrIvalidStatsComponentInConfig - invalid Stats's component in config
	ErrIvalidStatsComponentInConfig = errors.New("invalid Stats's component in config")

	// ErrIvalidComponentConfig - invalid component config
	ErrIvalidComponentConfig = errors.New("invalid component config")

	// ErrIvalidGameData - invalid gameData
	ErrIvalidGameData = errors.New("invalid gameData")

	// ErrIvalidCmd - invalid cmd
	ErrIvalidCmd = errors.New("invalid cmd")
	// ErrIvalidCmdParam - invalid cmdparam
	ErrIvalidCmdParam = errors.New("invalid cmdparam")

	// ErrIvalidTagCurReels - invalid TagCurReels
	ErrIvalidTagCurReels = errors.New("invalid TagCurReels")

	// ErrIvalidSymbolCollection - invalid SymbolColletion
	ErrIvalidSymbolCollection = errors.New("invalid SymbolColletion")

	// ErrIvalidCustomNode - invalid custom-node
	ErrIvalidCustomNode = errors.New("invalid custom-node")
	// ErrIvalidTriggerLabel - invalid trigger label
	ErrIvalidTriggerLabel = errors.New("invalid trigger label")
	// ErrIvalidPayTables - invalid paytables
	ErrIvalidPayTables = errors.New("invalid paytables")
	// ErrIvalidSymbolInReels - invalid symbol in reels
	ErrIvalidSymbolInReels = errors.New("invalid symbol in reels")
	// ErrNoComponentValues - no componentValues
	ErrNoComponentValues = errors.New("no componentValues")
	// ErrIvalidReels - invalid reels
	ErrIvalidReels = errors.New("invalid reels")

	// ErrIvalidDefaultScene - invalid default scene
	ErrIvalidDefaultScene = errors.New("invalid default scene")
	// ErrIvalidWidth - invalid width
	ErrIvalidWidth = errors.New("invalid width")
	// ErrIvalidHeight - invalid height
	ErrIvalidHeight = errors.New("invalid height")

	// ErrIvalidProto - invalid proto
	ErrIvalidProto = errors.New("invalid proto")

	// ErrIvalidSymbol - invalid symbol
	ErrIvalidSymbol = errors.New("invalid symbol")

	// ErrIvalidSymbolTriggerType - invalid SymbolTriggerType
	ErrIvalidSymbolTriggerType = errors.New("invalid SymbolTriggerType")

	// ErrNotMask - not mask
	ErrNotMask = errors.New("not mask")
)
View Source
var IsStatsComponentMsg bool
View Source
var MapProperty map[string]int

Functions

func NewStatsFeature

func NewStatsFeature(parent *sgc7stats.Feature, name string, onAnalyze sgc7stats.FuncAnalyzeFeature, width int, symbols []mathtoolset.SymbolType, statusType int, respinName string) *sgc7stats.Feature

func SetForceDisableStats

func SetForceDisableStats()

SetForceDisableStats - disable stats

func StartRTP

func StartRTP(gamecfg string, icore int, ispinnums int64, outputPath string, bet int64) error

func String2Property

func String2Property(str string) (int, error)

Types

type Award added in v0.10.273

type Award struct {
	AwardType string   `yaml:"awardType" json:"awardType"`
	Type      int      `yaml:"-" json:"-"`
	Val       int      `yaml:"val" json:"-"`      // 弃用,代码里已经不用了,初始化时会把数据转存到Vals里,为了兼容性保留配置
	StrParam  string   `yaml:"strParam" json:"-"` // 弃用,代码里已经不用了,初始化时会把数据转存到StrParams里,为了兼容性保留配置
	Vals      []int    `yaml:"vals" json:"vals"`
	StrParams []string `yaml:"strParams" json:"strParams"`
}

func (*Award) Init added in v0.10.323

func (cfg *Award) Init()

type AwardsNode added in v0.10.323

type AwardsNode struct {
	Weight int      `yaml:"weight" json:"weight"`
	Awards []*Award `yaml:"awards" json:"awards"`
}

type AwardsWeights added in v0.10.323

type AwardsWeights struct {
	Nodes     []*AwardsNode `yaml:"nodes" json:"nodes"`
	MaxWeight int           `yaml:"-" json:"-"`
}

func (*AwardsWeights) Init added in v0.10.323

func (aw *AwardsWeights) Init()

func (*AwardsWeights) RandVal added in v0.10.323

func (aw *AwardsWeights) RandVal(plugin sgc7plugin.IPlugin) (*AwardsNode, error)

type BasicComponent

type BasicComponent struct {
	Config *BasicComponentConfig
	Name   string
}

func NewBasicComponent

func NewBasicComponent(name string) *BasicComponent

func (*BasicComponent) AddOtherScene

func (basicComponent *BasicComponent) AddOtherScene(gameProp *GameProperty, curpr *sgc7game.PlayResult,
	sc *sgc7game.GameScene, basicCD *BasicComponentData)

AddOtherScene -

func (*BasicComponent) AddRNG

func (basicComponent *BasicComponent) AddRNG(gameProp *GameProperty, rng int, basicCD *BasicComponentData)

AddRNG -

func (*BasicComponent) AddResult

func (basicComponent *BasicComponent) AddResult(curpr *sgc7game.PlayResult, ret *sgc7game.Result, basicCD *BasicComponentData)

AddResult -

func (*BasicComponent) AddScene

func (basicComponent *BasicComponent) AddScene(gameProp *GameProperty, curpr *sgc7game.PlayResult,
	sc *sgc7game.GameScene, basicCD *BasicComponentData)

AddScene -

func (*BasicComponent) EachUsedResults

func (basicComponent *BasicComponent) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*BasicComponent) GetName added in v0.10.285

func (basicComponent *BasicComponent) GetName() string

GetName -

func (*BasicComponent) GetTargetOtherScene

func (basicComponent *BasicComponent) GetTargetOtherScene(gameProp *GameProperty, curpr *sgc7game.PlayResult, basicCD *BasicComponentData) *sgc7game.GameScene

GetTargetOtherScene -

func (*BasicComponent) GetTargetScene

func (basicComponent *BasicComponent) GetTargetScene(gameProp *GameProperty, curpr *sgc7game.PlayResult, basicCD *BasicComponentData, targetScene string) *sgc7game.GameScene

GetTargetScene -

func (*BasicComponent) IsMask added in v0.12.170

func (basicComponent *BasicComponent) IsMask() bool

IsMask -

func (*BasicComponent) IsRespin added in v0.12.157

func (basicComponent *BasicComponent) IsRespin() bool

IsRespin -

func (*BasicComponent) NewComponentData

func (basicComponent *BasicComponent) NewComponentData() IComponentData

NewComponentData -

func (*BasicComponent) OnNewGame

func (basicComponent *BasicComponent) OnNewGame(gameProp *GameProperty) error

OnNewGame -

func (*BasicComponent) OnNewStep

func (basicComponent *BasicComponent) OnNewStep(gameProp *GameProperty) error

OnNewStep -

func (*BasicComponent) OnPlayGameEnd added in v0.10.273

func (basicComponent *BasicComponent) OnPlayGameEnd(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

OnPlayGame - on playgame

func (*BasicComponent) OnStatsWithPB

func (basicComponent *BasicComponent) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

func (*BasicComponent) OnStatsWithPBBasicComponentData

func (basicComponent *BasicComponent) OnStatsWithPBBasicComponentData(feature *sgc7stats.Feature, pbComponent *sgc7pb.ComponentData, pr *sgc7game.PlayResult) int64

OnStatsWithComponent -

func (*BasicComponent) ReTagScene added in v0.10.267

func (basicComponent *BasicComponent) ReTagScene(gameProp *GameProperty, curpr *sgc7game.PlayResult,
	si int, basicCD *BasicComponentData)

ReTagScene -

type BasicComponentConfig

type BasicComponentConfig struct {
	DefaultNextComponent string            `yaml:"defaultNextComponent" json:"defaultNextComponent"` // next component, if it is empty jump to ending
	TagScenes            []string          `yaml:"tagScenes" json:"tagScenes"`                       // tag scenes
	TagOtherScenes       []string          `yaml:"tagOtherScenes" json:"tagOtherScenes"`             // tag otherScenes
	TargetScene          string            `yaml:"targetScene" json:"targetScene"`                   // target scenes
	TargetOtherScene     string            `yaml:"targetOtherScene" json:"targetOtherScene"`         // target otherscenes
	TagGlobalScenes      []string          `yaml:"tagGlobalScenes" json:"tagGlobalScenes"`           // tag global scenes
	TargetGlobalScene    string            `yaml:"targetGlobalScene" json:"targetGlobalScene"`       // target global scenes
	TagRNG               []string          `yaml:"tagRNG" json:"tagRNG"`                             // tag RNG
	InitStrVals          map[string]string `yaml:"initStrVals" json:"initStrVals"`                   // 只要这个组件被执行,就会初始化这些strvals
	UseFileMapping       bool              `yaml:"useFileMapping" json:"useFileMapping"`             // 兼容性配置,新配置应该一定用filemapping
	ComponentType        string            `yaml:"-" json:"componentType"`                           // 组件类型
}

type BasicComponentData

type BasicComponentData struct {
	UsedScenes            []int
	UsedOtherScenes       []int
	UsedResults           []int
	UsedPrizeScenes       []int
	CashWin               int64
	CoinWin               int
	TargetSceneIndex      int
	TargetOtherSceneIndex int
	RNG                   []int
}

func (*BasicComponentData) BuildPBBasicComponentData

func (basicComponentData *BasicComponentData) BuildPBBasicComponentData() *sgc7pb.ComponentData

BuildPBBasicComponentData

func (*BasicComponentData) BuildPBComponentData

func (basicComponentData *BasicComponentData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*BasicComponentData) OnNewGame

func (basicComponentData *BasicComponentData) OnNewGame()

OnNewGame -

func (*BasicComponentData) OnNewStep

func (basicComponentData *BasicComponentData) OnNewStep()

OnNewStep -

type BasicGameMod

type BasicGameMod struct {
	*sgc7game.BasicGameMod
	Pool          *GamePropertyPool
	MapComponents map[int]*ComponentList
}

BasicGameMod - basic gamemod

func NewBasicGameMod

func NewBasicGameMod(pool *GamePropertyPool, cfgGameMod *GameModConfig, mgrComponent *ComponentMgr) *BasicGameMod

NewBasicGameMod - new BaseGame

func NewBasicGameMod2 added in v0.12.36

func NewBasicGameMod2(pool *GamePropertyPool, cfgGameMod *GameModConfig, mgrComponent *ComponentMgr) (*BasicGameMod, error)

NewBasicGameMod2 - new BaseGame

func (*BasicGameMod) OnAsciiGame

func (bgm *BasicGameMod) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult) error

OnAsciiGame - outpur to asciigame

func (*BasicGameMod) OnNewGame

func (bgm *BasicGameMod) OnNewGame(gameProp *GameProperty, stake *sgc7game.Stake) error

OnNewGame -

func (*BasicGameMod) OnNewStep

func (bgm *BasicGameMod) OnNewStep(gameProp *GameProperty, stake *sgc7game.Stake) error

OnNewStep -

func (*BasicGameMod) OnPlay

func (bgm *BasicGameMod) OnPlay(game sgc7game.IGame, plugin sgc7plugin.IPlugin, cmd string, param string,
	ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult, gameData any) (*sgc7game.PlayResult, error)

OnPlay - on play

func (*BasicGameMod) ResetConfig

func (bgm *BasicGameMod) ResetConfig(cfg *Config)

ResetConfig

type BasicReels

type BasicReels struct {
	*BasicComponent `json:"-"`
	Config          *BasicReelsConfig     `json:"config"`
	ReelSetWeights  *sgc7game.ValWeights2 `json:"-"`
}

func (*BasicReels) Init

func (basicReels *BasicReels) Init(fn string, pool *GamePropertyPool) error

Init -

func (*BasicReels) InitEx added in v0.12.33

func (basicReels *BasicReels) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*BasicReels) OnAsciiGame

func (basicReels *BasicReels) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*BasicReels) OnPlayGame

func (basicReels *BasicReels) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*BasicReels) OnStats

func (basicReels *BasicReels) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type BasicReelsConfig

type BasicReelsConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	ReelSetsWeight       string `yaml:"reelSetWeight" json:"reelSetWeight"`
	ReelSet              string `yaml:"reelSet" json:"reelSet"`
	IsExpandReel         bool   `yaml:"isExpandReel" json:"isExpandReel"`
}

BasicReelsConfig - configuration for BasicReels

type BasicWins

type BasicWins struct {
	*BasicComponent `json:"-"`
	Config          *BasicWinsConfig `json:"config"`
	ExcludeSymbols  []int            `json:"-"`
	WildSymbols     []int            `json:"-"`
}

func (*BasicWins) EachUsedResults added in v0.10.251

func (basicWins *BasicWins) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*BasicWins) Init

func (basicWins *BasicWins) Init(fn string, pool *GamePropertyPool) error

Init -

func (*BasicWins) InitEx added in v0.12.33

func (basicWins *BasicWins) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*BasicWins) NewComponentData added in v0.10.251

func (basicWins *BasicWins) NewComponentData() IComponentData

NewComponentData -

func (*BasicWins) OnAsciiGame

func (basicWins *BasicWins) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*BasicWins) OnPlayGame

func (basicWins *BasicWins) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*BasicWins) OnStats

func (basicWins *BasicWins) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*BasicWins) OnStatsWithPB added in v0.10.256

func (basicWins *BasicWins) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

func (*BasicWins) ProcTriggerFeature

func (basicWins *BasicWins) ProcTriggerFeature(tf *TriggerFeatureConfig, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult, bwd *BasicWinsData) *sgc7game.Result

AddResult -

type BasicWinsConfig

type BasicWinsConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MainType             string                  `yaml:"mainType" json:"mainType"`             // lines or ways
	BetType              string                  `yaml:"betType" json:"betType"`               // bet or totalBet
	StrCheckWinType      string                  `yaml:"checkWinType" json:"checkWinType"`     // left2right or right2left or all
	CheckWinType         CheckWinType            `yaml:"-" json:"-"`                           //
	SIWMSymbols          []string                `yaml:"SIWMSymbols" json:"SIWMSymbols"`       // SIWM就是如果有符号参与中奖考虑倍数,这里是SIWM的图标
	SIWMSymbolCodes      []int                   `yaml:"-" json:"-"`                           //
	SIWMMul              int                     `yaml:"SIWMMul" json:"SIWMMul"`               // 这里是SIWM的倍数
	ExcludeSymbols       []string                `yaml:"excludeSymbols" json:"excludeSymbols"` // w/s etc
	WildSymbols          []string                `yaml:"wildSymbols" json:"wildSymbols"`       // wild etc
	BeforMain            []*TriggerFeatureConfig `yaml:"beforMain" json:"beforMain"`           // befor the maintype
	AfterMain            []*TriggerFeatureConfig `yaml:"afterMain" json:"afterMain"`           // after the maintype
	BeforMainTriggerName []string                `yaml:"-" json:"-"`                           // befor the maintype
	AfterMainTriggerName []string                `yaml:"-" json:"-"`                           // after the maintype
	IsRespinBreak        bool                    `yaml:"isRespinBreak" json:"isRespinBreak"`   // 如果触发了respin就不执行next,这个是兼容性配置,新游戏应该给true,维持逻辑的一致性
}

BasicWinsConfig - configuration for BasicWins

type BasicWinsData added in v0.10.251

type BasicWinsData struct {
	BasicComponentData
	NextComponent string
}

func (*BasicWinsData) BuildPBComponentData added in v0.10.251

func (basicWinsData *BasicWinsData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*BasicWinsData) OnNewGame added in v0.10.251

func (basicWinsData *BasicWinsData) OnNewGame()

OnNewGame -

func (*BasicWinsData) OnNewStep added in v0.10.251

func (basicWinsData *BasicWinsData) OnNewStep()

OnNewStep -

type BetType added in v0.12.147

type BetType int
const (
	BTypeNoPay    BetType = 0
	BTypeBet      BetType = 1
	BTypeTotalBet BetType = 2
)

func ParseBetType added in v0.12.147

func ParseBetType(str string) BetType

type BookOf

type BookOf struct {
	*BasicComponent `json:"-"`
	Config          *BookOfConfig         `json:"config"`
	WeightTrigger   *sgc7game.ValWeights2 `json:"-"`
	WeightSymbolNum *sgc7game.ValWeights2 `json:"-"`
	WeightSymbol    *sgc7game.ValWeights2 `json:"-"`
}

func (*BookOf) EachUsedResults

func (bookof *BookOf) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*BookOf) Init

func (bookof *BookOf) Init(fn string, pool *GamePropertyPool) error

Init -

func (*BookOf) InitEx added in v0.12.33

func (bookof *BookOf) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*BookOf) NewComponentData

func (bookof *BookOf) NewComponentData() IComponentData

NewComponentData -

func (*BookOf) OnAsciiGame

func (bookof *BookOf) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*BookOf) OnPlayGame

func (bookof *BookOf) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*BookOf) OnStats

func (bookof *BookOf) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*BookOf) OnStatsWithPB

func (bookof *BookOf) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type BookOf2 added in v0.12.145

type BookOf2 struct {
	*BasicComponent `json:"-"`
	Config          *BookOf2Config `json:"config"`
}

func (*BookOf2) EachUsedResults added in v0.12.145

func (bookof2 *BookOf2) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*BookOf2) Init added in v0.12.145

func (bookof2 *BookOf2) Init(fn string, pool *GamePropertyPool) error

Init -

func (*BookOf2) InitEx added in v0.12.145

func (bookof2 *BookOf2) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*BookOf2) NewComponentData added in v0.12.145

func (bookof2 *BookOf2) NewComponentData() IComponentData

NewComponentData -

func (*BookOf2) OnAsciiGame added in v0.12.145

func (bookof2 *BookOf2) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*BookOf2) OnPlayGame added in v0.12.145

func (bookof2 *BookOf2) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*BookOf2) OnStats added in v0.12.145

func (bookof2 *BookOf2) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*BookOf2) OnStatsWithPB added in v0.12.145

func (bookof2 *BookOf2) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type BookOf2Config added in v0.12.145

type BookOf2Config struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	BetType              string                `yaml:"betType" json:"betType"`         // bet or totalBet
	WildSymbols          []string              `yaml:"wildSymbols" json:"wildSymbols"` // 可以不要wild
	WildSymbolCodes      []int                 `yaml:"-" json:"-"`
	ForceTrigger         bool                  `yaml:"forceTrigger" json:"forceTrigger"`
	WeightTrigger        string                `yaml:"weightTrigger" json:"weightTrigger"`
	WeightTriggerVW      *sgc7game.ValWeights2 `json:"-"`
	WeightSymbolNum      string                `yaml:"weightSymbolNum" json:"weightSymbolNum"`
	WeightSymbolNumVW    *sgc7game.ValWeights2 `json:"-"`
	WeightSymbol         string                `yaml:"weightSymbol" json:"weightSymbol"`
	WeightSymbolVW       *sgc7game.ValWeights2 `json:"-"`
	ForceSymbolNum       int                   `yaml:"forceSymbolNum" json:"forceSymbolNum"`
	SymbolRNG            string                `yaml:"symbolRNG" json:"symbolRNG"`               // 只在ForceSymbolNum为1时有效
	SymbolCollection     string                `yaml:"symbolCollection" json:"symbolCollection"` // 图标从一个SymbolCollection里获取
	MapSymbols           map[string][]string   `yaml:"mapSymbols" json:"mapSymbols"`             // 一个符号对应1+wild数量个变化,第1个是被选中,第2个是wild[0]变化效果,第3个是wild[1]变化效果
	MapSymbolCodes       map[int][]int         `yaml:"-" json:"-"`
}

BookOf2Config - configuration for BookOf feature

type BookOf2Data added in v0.12.145

type BookOf2Data struct {
	BasicComponentData
	Symbols []int
}

func (*BookOf2Data) BuildPBComponentData added in v0.12.145

func (bookOf2Data *BookOf2Data) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*BookOf2Data) OnNewGame added in v0.12.145

func (bookOf2Data *BookOf2Data) OnNewGame()

OnNewGame -

func (*BookOf2Data) OnNewStep added in v0.12.145

func (bookOf2Data *BookOf2Data) OnNewStep()

OnNewStep -

type BookOfConfig

type BookOfConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	BetType              string   `yaml:"betType" json:"betType"`         // bet or totalBet
	WildSymbols          []string `yaml:"wildSymbols" json:"wildSymbols"` // 可以不要wild
	WildSymbolCodes      []int    `yaml:"-" json:"-"`
	ForceTrigger         bool     `yaml:"forceTrigger" json:"forceTrigger"`
	WeightTrigger        string   `yaml:"weightTrigger" json:"weightTrigger"`
	WeightSymbolNum      string   `yaml:"weightSymbolNum" json:"weightSymbolNum"`
	WeightSymbol         string   `yaml:"weightSymbol" json:"weightSymbol"`
	ForceSymbolNum       int      `yaml:"forceSymbolNum" json:"forceSymbolNum"`
	SymbolRNG            string   `yaml:"symbolRNG" json:"symbolRNG"`               // 只在ForceSymbolNum为1时有效
	SymbolCollection     string   `yaml:"symbolCollection" json:"symbolCollection"` // 图标从一个SymbolCollection里获取
}

BookOfConfig - configuration for BookOf feature

type BookOfData added in v0.10.273

type BookOfData struct {
	BasicComponentData
	Symbols []int
}

func (*BookOfData) BuildPBComponentData added in v0.10.273

func (bookOfData *BookOfData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*BookOfData) OnNewGame added in v0.10.273

func (bookOfData *BookOfData) OnNewGame()

OnNewGame -

func (*BookOfData) OnNewStep added in v0.10.273

func (bookOfData *BookOfData) OnNewStep()

OnNewStep -

type CheckWinType added in v0.12.16

type CheckWinType int
const (
	// CheckWinTypeLeftRight - left -> right
	CheckWinTypeLeftRight CheckWinType = 0
	// CheckWinTypeRightLeft - right -> left
	CheckWinTypeRightLeft CheckWinType = 1
	// CheckWinTypeAll - left -> right & right -> left
	CheckWinTypeAll CheckWinType = 2
)

func ParseCheckWinType added in v0.12.16

func ParseCheckWinType(str string) CheckWinType

type ChgSymbol added in v0.10.273

type ChgSymbol struct {
	*BasicComponent `json:"-"`
	Config          *ChgSymbolConfig `json:"config"`
}

func (*ChgSymbol) Init added in v0.10.273

func (chgSymbol *ChgSymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*ChgSymbol) InitEx added in v0.12.33

func (chgSymbol *ChgSymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*ChgSymbol) OnAsciiGame added in v0.10.273

func (chgSymbol *ChgSymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*ChgSymbol) OnPlayGame added in v0.10.273

func (chgSymbol *ChgSymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*ChgSymbol) OnStats added in v0.10.273

func (chgSymbol *ChgSymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type ChgSymbolConfig added in v0.10.273

type ChgSymbolConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Nodes                []*ChgSymbolNodeConfig `yaml:"nodes" json:"nodes"`
}

ChgSymbolConfig - configuration for ChgSymbol feature

type ChgSymbolNodeConfig added in v0.10.273

type ChgSymbolNodeConfig struct {
	X          int    `yaml:"x" json:"x"`
	Y          int    `yaml:"y" json:"y"`
	Symbol     string `yaml:"symbol" json:"symbol"`
	SymbolCode int    `yaml:"symbolCode" json:"symbolCode"`
}

ChgSymbolNodeConfig -

type Collector

type Collector struct {
	*BasicComponent `json:"-"`
	Config          *CollectorConfig `json:"config"`
	SymbolCode      int              `json:"-"`
}

func (*Collector) Add added in v0.10.323

func (collector *Collector) Add(plugin sgc7plugin.IPlugin, num int, cd *CollectorData, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, noProcLevelUp bool) error

Add -

func (*Collector) EachUsedResults

func (collector *Collector) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*Collector) Init

func (collector *Collector) Init(fn string, pool *GamePropertyPool) error

Init -

func (*Collector) InitEx added in v0.12.33

func (collector *Collector) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*Collector) NewComponentData

func (collector *Collector) NewComponentData() IComponentData

NewComponentData -

func (*Collector) OnAsciiGame

func (collector *Collector) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*Collector) OnPlayGame

func (collector *Collector) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*Collector) OnStats

func (collector *Collector) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*Collector) OnStatsWithPB

func (collector *Collector) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type CollectorConfig

type CollectorConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Symbol               string           `yaml:"symbol" json:"symbol"`
	MaxVal               int              `yaml:"maxVal" json:"maxVal"`
	PerLevelAwards       []*Award         `yaml:"perLevelAwards" json:"perLevelAwards"`
	MapSPLevelAwards     map[int][]*Award `yaml:"mapSPLevelAwards" json:"mapSPLevelAwards"`
}

CollectorConfig - configuration for Collector

type CollectorData

type CollectorData struct {
	BasicComponentData
	Val          int // 当前总值, Current total value
	NewCollector int // 这一个step收集到的, The values collected in this step
}

func (*CollectorData) BuildPBComponentData

func (collectorData *CollectorData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*CollectorData) OnNewGame

func (collectorData *CollectorData) OnNewGame()

OnNewGame -

func (*CollectorData) OnNewStep

func (collectorData *CollectorData) OnNewStep()

OnNewStep -

type ComponentConfig

type ComponentConfig struct {
	Name   string `yaml:"name"`
	Type   string `yaml:"type"`
	Config string `yaml:"config"`
}

type ComponentList

type ComponentList struct {
	Components    []IComponent
	MapComponents map[string]IComponent
}

func NewComponentList

func NewComponentList() *ComponentList

func (*ComponentList) AddComponent

func (lst *ComponentList) AddComponent(name string, component IComponent)

type ComponentMgr

type ComponentMgr struct {
	MapComponent map[string]FuncNewComponent
}

func NewComponentMgr

func NewComponentMgr() *ComponentMgr

func (*ComponentMgr) NewComponent

func (mgr *ComponentMgr) NewComponent(cfgComponent *ComponentConfig) IComponent

func (*ComponentMgr) Reg

func (mgr *ComponentMgr) Reg(component string, funcNew FuncNewComponent)

type Config

type Config struct {
	Name              string                         `yaml:"name"`
	Width             int                            `yaml:"width"`
	Height            int                            `yaml:"height"`
	Linedata          map[string]string              `yaml:"linedata"`
	MapLinedate       map[string]*sgc7game.LineData  `yaml:"-"`
	Paytables         map[string]string              `yaml:"paytables"`
	MapPaytables      map[string]*sgc7game.PayTables `yaml:"-"`
	IsIntReel         bool                           `yaml:"isIntReel"`
	Reels             map[string]string              `yaml:"reels"`
	MapReels          map[string]*sgc7game.ReelsData `yaml:"-"`
	FileMapping       map[string]string              `yaml:"fileMapping"`
	SymbolsViewer     string                         `yaml:"symbolsViewer"`
	DefaultScene      string                         `yaml:"defaultScene"`
	DefaultPaytables  string                         `yaml:"defaultPaytables"`
	DefaultLinedata   string                         `yaml:"defaultLinedata"`
	Bets              []int                          `yaml:"bets"`
	TotalBetInWins    []int                          `yaml:"totalBetInWins"`
	StartComponents   map[int]string                 `yaml:"startComponents"`
	GameMods          []*GameModConfig               `yaml:"gamemods"`
	StatsSymbols      []string                       `yaml:"statsSymbols"`
	StatsSymbolCodes  []mathtoolset.SymbolType       `yaml:"-"`
	Stats             *StatsConfig                   `yaml:"stats"`
	RTP               *RTPConfig                     `yaml:"rtp"`
	MainPath          string                         `yaml:"mainPath"`
	MapCmdComponent   map[string]string              `yaml:"mapCmdComponent"`
	ComponentsMapping map[int]map[string]string      `yaml:"componentsMapping"`
	// contains filtered or unexported fields
}

func LoadConfig

func LoadConfig(fn string) (*Config, error)

func (*Config) BuildStatsSymbolCodes

func (cfg *Config) BuildStatsSymbolCodes(paytables *sgc7game.PayTables) error

func (*Config) GetDefaultLineData

func (cfg *Config) GetDefaultLineData() *sgc7game.LineData

func (*Config) GetDefaultPaytables

func (cfg *Config) GetDefaultPaytables() *sgc7game.PayTables

func (*Config) GetPath added in v0.10.251

func (cfg *Config) GetPath(fn string, useFileMapping bool) string

type FixSymbols added in v0.10.350

type FixSymbols struct {
	*BasicComponent `json:"-"`
	Config          *FixSymbolsConfig `json:"config"`
	SymbolCodes     []int             `json:"-"`
	Type            int               `json:"-"`
}

func (*FixSymbols) Init added in v0.10.350

func (fixSymbols *FixSymbols) Init(fn string, pool *GamePropertyPool) error

Init -

func (*FixSymbols) InitEx added in v0.12.33

func (fixSymbols *FixSymbols) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*FixSymbols) OnAsciiGame added in v0.10.350

func (fixSymbols *FixSymbols) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*FixSymbols) OnPlayGame added in v0.10.350

func (fixSymbols *FixSymbols) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*FixSymbols) OnStats added in v0.10.350

func (fixSymbols *FixSymbols) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type FixSymbolsConfig added in v0.10.350

type FixSymbolsConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Type                 string   `yaml:"type" json:"type"`
	Symbols              []string `yaml:"symbols" json:"symbols"`
}

FixSymbolsConfig - configuration for FixSymbols feature

type FuncNewComponent

type FuncNewComponent func(name string) IComponent

type FuncOnEachUsedResult

type FuncOnEachUsedResult func(*sgc7game.Result)

type Game

type Game struct {
	*sgc7game.BasicGame
	Pool         *GamePropertyPool
	MgrComponent *ComponentMgr
}

Game - game

func NewGame

func NewGame(cfgfn string) (*Game, error)

NewGame - new a Game

func NewGame2 added in v0.12.31

func NewGame2(fn string, funcNewPlugin sgc7plugin.FuncNewPlugin) (*Game, error)

func NewGame2WithData added in v0.12.57

func NewGame2WithData(data []byte, funcNewPlugin sgc7plugin.FuncNewPlugin) (*Game, error)

func NewGame3 added in v0.12.36

func NewGame3(fn string, funcNewPlugin sgc7plugin.FuncNewPlugin) (*Game, error)

func NewGameEx

func NewGameEx(cfgfn string, funcNewPlugin sgc7plugin.FuncNewPlugin) (*Game, error)

NewGame - new a Game

func (*Game) BuildGameConfigData added in v0.12.61

func (game *Game) BuildGameConfigData() error

BuildGameConfigData - build game configration data

func (*Game) CheckStake

func (game *Game) CheckStake(stake *sgc7game.Stake) error

CheckStake - check stake

func (*Game) Init

func (game *Game) Init(cfgfn string) error

Init - initial game

func (*Game) Init2 added in v0.12.36

func (game *Game) Init2(cfg *Config) error

Init - initial game

func (*Game) NewGameData

func (game *Game) NewGameData() any

NewGameData - new GameData

func (*Game) NewPlayerState

func (game *Game) NewPlayerState() sgc7game.IPlayerState

NewPlayerState - new playerstate

func (*Game) OnAsciiGame

func (game *Game) OnAsciiGame(gameProp *GameProperty, stake *sgc7game.Stake, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult) error

OnAsciiGame - outpur to asciigame

func (*Game) ResetConfig

func (game *Game) ResetConfig(cfg any)

ResetConfig

type GameModConfig

type GameModConfig struct {
	Type       string             `yaml:"type"`
	Components []*ComponentConfig `yaml:"components"`
}

type GameParams

type GameParams struct {
	sgc7pb.GameParam `json:",inline"`
	LastScene        *sgc7game.GameScene      `json:"-"`
	LastOtherScene   *sgc7game.GameScene      `json:"-"`
	MapComponentMsgs map[string]proto.Message `json:"-"`
}

func NewGameParam added in v0.12.25

func NewGameParam() *GameParams

func (*GameParams) AddComponentData

func (gp *GameParams) AddComponentData(name string, cd IComponentData) error

func (*GameParams) SetGameProp added in v0.12.16

func (gp *GameParams) SetGameProp(gameProp *GameProperty) error

type GameProperty

type GameProperty struct {
	Pool             *GamePropertyPool
	MapVals          map[int]int
	MapStrVals       map[int]string
	CurPaytables     *sgc7game.PayTables
	CurLineData      *sgc7game.LineData
	CurReels         *sgc7game.ReelsData
	MapIntValWeights map[string]*sgc7game.ValWeights2
	MapStats         map[string]*sgc7stats.Feature

	MapComponentData  map[string]IComponentData
	HistoryComponents []IComponent
	RespinComponents  []string
	PoolScene         *sgc7game.GameScenePoolEx
	// contains filtered or unexported fields
}

func (*GameProperty) AddComponent2History added in v0.12.2

func (gameProp *GameProperty) AddComponent2History(component IComponent, gp *GameParams)

func (*GameProperty) AddVal

func (gameProp *GameProperty) AddVal(prop int, val int) error

func (*GameProperty) BuildGameParam added in v0.10.285

func (gameProp *GameProperty) BuildGameParam(gp *GameParams)

func (*GameProperty) GetBet added in v0.12.28

func (gameProp *GameProperty) GetBet(stake *sgc7game.Stake, bettype string) int

func (*GameProperty) GetBet2 added in v0.12.147

func (gameProp *GameProperty) GetBet2(stake *sgc7game.Stake, bt BetType) int

func (*GameProperty) GetGlobalScene added in v0.12.155

func (gameProp *GameProperty) GetGlobalScene(tag string) *sgc7game.GameScene

func (*GameProperty) GetIntValWeights added in v0.10.251

func (gameProp *GameProperty) GetIntValWeights(fn string, useFileMapping bool) (*sgc7game.ValWeights2, error)

func (*GameProperty) GetOtherScene

func (gameProp *GameProperty) GetOtherScene(pr *sgc7game.PlayResult, tag string) (*sgc7game.GameScene, int)

func (*GameProperty) GetScene

func (gameProp *GameProperty) GetScene(pr *sgc7game.PlayResult, tag string) (*sgc7game.GameScene, int)

func (*GameProperty) GetStrVal

func (gameProp *GameProperty) GetStrVal(prop int) string

func (*GameProperty) GetTagGlobalStr added in v0.10.361

func (gameProp *GameProperty) GetTagGlobalStr(tag string) string

func (*GameProperty) GetTagInt added in v0.10.251

func (gameProp *GameProperty) GetTagInt(tag string) int

func (*GameProperty) GetTagStr added in v0.10.267

func (gameProp *GameProperty) GetTagStr(tag string) string

func (*GameProperty) GetVal

func (gameProp *GameProperty) GetVal(prop int) int

func (*GameProperty) OnNewGame added in v0.10.285

func (gameProp *GameProperty) OnNewGame(stake *sgc7game.Stake) error

func (*GameProperty) OnNewStep

func (gameProp *GameProperty) OnNewStep() error

func (*GameProperty) ProcMulti added in v0.10.290

func (gameProp *GameProperty) ProcMulti(ret *sgc7game.Result)

func (*GameProperty) ProcRespin added in v0.10.277

func (gameProp *GameProperty) ProcRespin(pr *sgc7game.PlayResult, gp *GameParams)

func (*GameProperty) Respin

func (gameProp *GameProperty) Respin(pr *sgc7game.PlayResult, gp *GameParams, respinComponent string, gs *sgc7game.GameScene, os *sgc7game.GameScene)

func (*GameProperty) SaveRetriggerRespinNum added in v0.12.167

func (gameProp *GameProperty) SaveRetriggerRespinNum(respinComponent string) error

func (*GameProperty) SetStrVal

func (gameProp *GameProperty) SetStrVal(prop int, val string) error

func (*GameProperty) SetVal

func (gameProp *GameProperty) SetVal(prop int, val int) error

func (*GameProperty) TagGlobalScene added in v0.12.155

func (gameProp *GameProperty) TagGlobalScene(tag string, gs *sgc7game.GameScene)

func (*GameProperty) TagGlobalStr added in v0.10.361

func (gameProp *GameProperty) TagGlobalStr(tag string, val string)

func (*GameProperty) TagInt added in v0.10.251

func (gameProp *GameProperty) TagInt(tag string, val int)

func (*GameProperty) TagOtherScene

func (gameProp *GameProperty) TagOtherScene(pr *sgc7game.PlayResult, tag string, sceneIndex int)

func (*GameProperty) TagScene

func (gameProp *GameProperty) TagScene(pr *sgc7game.PlayResult, tag string, sceneIndex int)

func (*GameProperty) TagStr added in v0.10.267

func (gameProp *GameProperty) TagStr(tag string, val string)

func (*GameProperty) TriggerRespin added in v0.10.275

func (gameProp *GameProperty) TriggerRespin(pr *sgc7game.PlayResult, gp *GameParams, respinNum int, respinComponent string) error

func (*GameProperty) TriggerRespinWithWeights added in v0.10.275

func (gameProp *GameProperty) TriggerRespinWithWeights(pr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin, fn string, useFileMapping bool, respinComponent string) (int, error)

type GamePropertyPool

type GamePropertyPool struct {
	Pool             sync.Pool
	Config           *Config
	DefaultPaytables *sgc7game.PayTables
	DefaultLineData  *sgc7game.LineData
	SymbolsViewer    *SymbolsViewer
	MapSymbolColor   *asciigame.SymbolColorMap
	MapComponents    map[string]IComponent
	Stats            *Stats
}

func NewGamePropertyPool

func NewGamePropertyPool(cfgfn string) (*GamePropertyPool, error)

func NewGamePropertyPool2 added in v0.12.36

func NewGamePropertyPool2(cfg *Config) (*GamePropertyPool, error)

func (*GamePropertyPool) GetMask added in v0.12.155

func (pool *GamePropertyPool) GetMask(name string, gameProp *GameProperty) ([]bool, error)

func (*GamePropertyPool) InitStats

func (pool *GamePropertyPool) InitStats() error

func (*GamePropertyPool) LoadIntWeights added in v0.12.72

func (pool *GamePropertyPool) LoadIntWeights(fn string, useFileMapping bool) (*sgc7game.ValWeights2, error)

LoadIntWeights - load xlsx file

func (*GamePropertyPool) LoadStrWeights added in v0.12.72

func (pool *GamePropertyPool) LoadStrWeights(fn string, useFileMapping bool) (*sgc7game.ValWeights2, error)

LoadStrWeights - load xlsx file

func (*GamePropertyPool) LoadSymbolWeights added in v0.12.72

func (pool *GamePropertyPool) LoadSymbolWeights(fn string, headerVal string, headerWeight string, paytables *sgc7game.PayTables, useFileMapping bool) (*sgc7game.ValWeights2, error)

LoadSymbolWeights - load xlsx file

func (*GamePropertyPool) NewGameProp

func (pool *GamePropertyPool) NewGameProp() (*GameProperty, error)

func (*GamePropertyPool) NewStatsWithConfig

func (pool *GamePropertyPool) NewStatsWithConfig(parent *sgc7stats.Feature, cfg *StatsConfig) (*sgc7stats.Feature, error)

func (*GamePropertyPool) SetMask added in v0.12.155

func (pool *GamePropertyPool) SetMask(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, name string, mask []bool) error

func (*GamePropertyPool) SetMaskVal added in v0.12.170

func (pool *GamePropertyPool) SetMaskVal(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, name string, index int, mask bool) error

type IComponent

type IComponent interface {
	// Init -
	Init(fn string, pool *GamePropertyPool) error
	// InitEx -
	InitEx(cfg any, pool *GamePropertyPool) error
	// OnNewGame - 这个一定要注意处理正确,为了节省cpu,没有主动处理componentData的该接口,如果确定需要,要自己调用
	OnNewGame(gameProp *GameProperty) error
	// OnNewStep -
	OnNewStep(gameProp *GameProperty) error
	// OnPlayGame - on playgame
	OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
		cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error
	// OnAsciiGame - outpur to asciigame
	OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error
	// OnStats -
	OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)
	// NewComponentData -
	NewComponentData() IComponentData
	// EachUsedResults -
	EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)
	// OnPlayGame - on playgame
	OnPlayGameEnd(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
		cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error
	// GetName -
	GetName() string

	// IsMask -
	IsMask() bool

	// IsRespin -
	IsRespin() bool
}

func NewBasicReels

func NewBasicReels(name string) IComponent

func NewBasicWins

func NewBasicWins(name string) IComponent

func NewBookOf

func NewBookOf(name string) IComponent

func NewBookOf2 added in v0.12.145

func NewBookOf2(name string) IComponent

func NewChgSymbol added in v0.10.273

func NewChgSymbol(name string) IComponent

func NewCollector

func NewCollector(name string) IComponent

func NewFixSymbols added in v0.10.350

func NewFixSymbols(name string) IComponent

func NewLightning

func NewLightning(name string) IComponent

func NewMask added in v0.10.285

func NewMask(name string) IComponent

func NewMaskBranch added in v0.12.170

func NewMaskBranch(name string) IComponent

func NewMergeSymbol added in v0.12.155

func NewMergeSymbol(name string) IComponent

func NewMoveReel added in v0.12.155

func NewMoveReel(name string) IComponent

func NewMoveSymbol added in v0.12.148

func NewMoveSymbol(name string) IComponent

func NewMultiLevelMystery

func NewMultiLevelMystery(name string) IComponent

func NewMultiLevelReels

func NewMultiLevelReels(name string) IComponent

func NewMultiLevelReplaceReel added in v0.10.308

func NewMultiLevelReplaceReel(name string) IComponent

func NewMultiRespin added in v0.10.279

func NewMultiRespin(name string) IComponent

func NewMultiWeightAwards added in v0.12.170

func NewMultiWeightAwards(name string) IComponent

func NewMystery

func NewMystery(name string) IComponent

func NewOverlaySymbol

func NewOverlaySymbol(name string) IComponent

func NewReRollReel added in v0.12.156

func NewReRollReel(name string) IComponent

func NewReelSetMystery added in v0.10.267

func NewReelSetMystery(name string) IComponent

func NewReplaceReel added in v0.12.147

func NewReplaceReel(name string) IComponent

func NewReplaceSymbol added in v0.10.285

func NewReplaceSymbol(name string) IComponent

func NewRespin added in v0.10.273

func NewRespin(name string) IComponent

func NewSymbolCollection added in v0.12.2

func NewSymbolCollection(name string) IComponent

func NewSymbolMulti

func NewSymbolMulti(name string) IComponent

func NewSymbolTrigger added in v0.12.147

func NewSymbolTrigger(name string) IComponent

func NewSymbolVal

func NewSymbolVal(name string) IComponent

func NewSymbolVal2

func NewSymbolVal2(name string) IComponent

func NewSymbolValWins

func NewSymbolValWins(name string) IComponent

func NewWeightChgSymbol added in v0.12.132

func NewWeightChgSymbol(name string) IComponent

func NewWeightTrigger added in v0.10.270

func NewWeightTrigger(name string) IComponent

type IComponentData

type IComponentData interface {
	// OnNewGame -
	OnNewGame()
	// OnNewStep -
	OnNewStep()
	// BuildPBComponentData
	BuildPBComponentData() proto.Message
}

type IMask added in v0.12.170

type IMask interface {
	// SetMask -
	SetMask(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, mask []bool) error
	// SetMaskVal -
	SetMaskVal(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, index int, mask bool) error
	// GetMask -
	GetMask(gameProp *GameProperty) []bool
}

type IRespin added in v0.12.157

type IRespin interface {
	// AddRespinTimes -
	AddRespinTimes(gameProp *GameProperty, num int)
	// SaveRetriggerRespinNum -
	SaveRetriggerRespinNum(gameProp *GameProperty)
	// AddRetriggerRespinNum -
	AddRetriggerRespinNum(gameProp *GameProperty, num int)
	// Retrigger -
	Retrigger(gameProp *GameProperty)
}

type Lightning

type Lightning struct {
	*BasicComponent          `json:"-"`
	Config                   *LightningConfig                       `json:"config"`
	SymbolCode               int                                    `json:"-"`
	Weight                   *sgc7game.ValWeights2                  `json:"-"`
	MapSymbols               map[int]*LightningSymbolData           `json:"-"`
	MapSymbolTriggerFeatures map[int]*LightningTriggerFeatureConfig `json:"-"`
	ValSymbolCode            int                                    `json:"-"`
	MulSymbolCode            int                                    `json:"-"`
	CollectorSymbolCode      int                                    `json:"-"`
}

func (*Lightning) EachUsedResults

func (lightning *Lightning) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*Lightning) Init

func (lightning *Lightning) Init(fn string, pool *GamePropertyPool) error

Init -

func (*Lightning) InitEx added in v0.12.33

func (lightning *Lightning) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*Lightning) NewComponentData

func (lightning *Lightning) NewComponentData() IComponentData

NewComponentData -

func (*Lightning) OnAsciiGame

func (lightning *Lightning) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*Lightning) OnPlayGame

func (lightning *Lightning) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*Lightning) OnStats

func (lightning *Lightning) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*Lightning) OnStatsWithPB

func (lightning *Lightning) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type LightningConfig

type LightningConfig struct {
	BasicComponentConfig  `yaml:",inline" json:",inline"`
	Symbol                string                           `yaml:"symbol" json:"symbol"`
	Weight                string                           `yaml:"weight" json:"weight"`
	SymbolVals            []*LightningSymbolValConfig      `yaml:"symbolVals" json:"symbolVals"`
	SymbolTriggerFeatures []*LightningTriggerFeatureConfig `yaml:"symbolTriggerFeatures" json:"symbolTriggerFeatures"`
	EndingFirstComponent  string                           `yaml:"endingFirstComponent" json:"endingFirstComponent"`
}

LightningConfig - configuration for Lightning

type LightningData

type LightningData struct {
	BasicComponentData
	Collector    int
	Val          int
	Mul          int
	NewConnector int
}

func (*LightningData) BuildPBComponentData

func (lightningData *LightningData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*LightningData) OnNewGame

func (lightningData *LightningData) OnNewGame()

OnNewGame -

func (*LightningData) OnNewStep

func (lightningData *LightningData) OnNewStep()

OnNewGame -

type LightningSymbolData

type LightningSymbolData struct {
	SymbolCode int
	Weight     *sgc7game.ValWeights2
	Config     *LightningSymbolValConfig
}

LightningSymbolData - symbol data for Lightning

type LightningSymbolValConfig

type LightningSymbolValConfig struct {
	Symbol string `yaml:"symbol" json:"symbol"`
	Weight string `yaml:"weight" json:"weight"`
	Type   string `yaml:"type" json:"type"` // like val or mul
}

LightningSymbolValConfig - configuration for symbol value

type LightningTriggerFeatureConfig

type LightningTriggerFeatureConfig struct {
	Symbol  string `yaml:"symbol" json:"symbol"`   // like NEW_COLLECTOR
	Feature string `yaml:"feature" json:"feature"` // like collector
}

LightningTriggerFeatureConfig - configuration for lightning trigger feature

type Mask added in v0.10.285

type Mask struct {
	*BasicComponent `json:"-"`
	Config          *MaskConfig `json:"config"`
	MaskType        int         `json:"-"`
	SymbolCode      int         `json:"-"`
}

func (*Mask) ChgMask added in v0.10.285

func (mask *Mask) ChgMask(plugin sgc7plugin.IPlugin, gameProp *GameProperty, md *MaskData, curpr *sgc7game.PlayResult, gp *GameParams, curMask int, val bool, noProcSPLevel bool)

onMaskChg -

func (*Mask) EachUsedResults added in v0.10.285

func (mask *Mask) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*Mask) GetMask added in v0.12.160

func (mask *Mask) GetMask(gameProp *GameProperty) []bool

GetMask -

func (*Mask) Init added in v0.10.285

func (mask *Mask) Init(fn string, pool *GamePropertyPool) error

Init -

func (*Mask) InitEx added in v0.12.33

func (mask *Mask) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*Mask) IsMask added in v0.12.170

func (mask *Mask) IsMask() bool

IsMask -

func (*Mask) NewComponentData added in v0.10.285

func (mask *Mask) NewComponentData() IComponentData

NewComponentData -

func (*Mask) OnAsciiGame added in v0.10.285

func (mask *Mask) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*Mask) OnPlayGame added in v0.10.285

func (mask *Mask) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*Mask) OnPlayGameEnd added in v0.10.285

func (mask *Mask) OnPlayGameEnd(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

OnPlayGame - on playgame

func (*Mask) OnStats added in v0.10.285

func (mask *Mask) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*Mask) OnStatsWithPB added in v0.10.285

func (mask *Mask) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

func (*Mask) ProcMask added in v0.10.297

func (mask *Mask) ProcMask(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, targetScene string)

onMaskChg -

func (*Mask) SetMask added in v0.12.155

func (mask *Mask) SetMask(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, arrMask []bool) error

SetMask -

func (*Mask) SetMaskVal added in v0.12.170

func (mask *Mask) SetMaskVal(plugin sgc7plugin.IPlugin, gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, index int, val bool) error

SetMask -

type MaskBranch added in v0.12.170

type MaskBranch struct {
	*BasicComponent `json:"-"`
	Config          *MaskBranchConfig `json:"config"`
}

func (*MaskBranch) Init added in v0.12.170

func (maskBranch *MaskBranch) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MaskBranch) InitEx added in v0.12.170

func (maskBranch *MaskBranch) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MaskBranch) OnAsciiGame added in v0.12.170

func (maskBranch *MaskBranch) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MaskBranch) OnPlayGame added in v0.12.170

func (maskBranch *MaskBranch) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MaskBranch) OnStats added in v0.12.170

func (maskBranch *MaskBranch) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MaskBranchConfig added in v0.12.170

type MaskBranchConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Mask                 string            `yaml:"mask" json:"mask"`   // mask
	Nodes                []*MaskBranchNode `yaml:"nodes" json:"nodes"` // 可以不用配置全,如果没有配置的,就跳转默认的next
}

MaskBranchConfig - configuration for MaskBranch

type MaskBranchNode added in v0.12.170

type MaskBranchNode struct {
	MaskVal         []bool `yaml:"mask" json:"mask"`
	JumpToComponent string `yaml:"jumpToComponent" json:"jumpToComponent"`
}

MaskBranchNode -

type MaskConfig added in v0.10.285

type MaskConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MaskType             string           `yaml:"maskType" json:"maskType"`
	Symbol               string           `yaml:"symbol" json:"symbol"`
	Num                  int              `yaml:"num" json:"num"`
	PerMaskAwards        []*Award         `yaml:"perMaskAwards" json:"perMaskAwards"`
	MapSPMaskAwards      map[int][]*Award `yaml:"mapSPMaskAwards" json:"mapSPMaskAwards"` // -1表示全满的奖励
	EndingSPAward        string           `yaml:"endingSPAward" json:"endingSPAward"`
}

MaskConfig - configuration for Mask

type MaskData added in v0.10.285

type MaskData struct {
	BasicComponentData
	Num      int
	Vals     []bool
	NewChged int
	NewVals  []bool
}

func (*MaskData) BuildPBComponentData added in v0.10.285

func (maskData *MaskData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MaskData) IsFull added in v0.10.285

func (maskData *MaskData) IsFull() bool

IsFull -

func (*MaskData) OnNewGame added in v0.10.285

func (maskData *MaskData) OnNewGame()

OnNewGame -

func (*MaskData) OnNewStep added in v0.10.285

func (maskData *MaskData) OnNewStep()

OnNewStep -

type MergeSymbol added in v0.12.155

type MergeSymbol struct {
	*BasicComponent `json:"-"`
	Config          *MergeSymbolConfig `json:"config"`
}

func (*MergeSymbol) Init added in v0.12.155

func (mergeSymbol *MergeSymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MergeSymbol) InitEx added in v0.12.155

func (mergeSymbol *MergeSymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MergeSymbol) OnAsciiGame added in v0.12.155

func (mergeSymbol *MergeSymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MergeSymbol) OnPlayGame added in v0.12.155

func (mergeSymbol *MergeSymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MergeSymbol) OnStats added in v0.12.155

func (mergeSymbol *MergeSymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MergeSymbolConfig added in v0.12.155

type MergeSymbolConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	SrcScene             []string `yaml:"srcScene" json:"srcScene"`     // 2个scene,mask false表示用0,true表示用1
	TargetMask           string   `yaml:"targetMask" json:"targetMask"` // mask
}

MergeSymbolConfig - configuration for MergeSymbol

type MoveData added in v0.12.148

type MoveData struct {
	Src              *SelectPosData `yaml:"src" json:"src"`
	Target           *SelectPosData `yaml:"target" json:"target"`
	MoveType         string         `yaml:"moveType" json:"moveType"`
	TargetSymbol     string         `yaml:"targetSymbol" json:"targetSymbol"`
	TargetSymbolCode int            `yaml:"-" json:"-"`
	OverrideSrc      bool           `yaml:"overrideSrc" json:"overrideSrc"`
	OverrideTarget   bool           `yaml:"overrideTarget" json:"overrideTarget"`
	OverridePath     bool           `yaml:"overridePath" json:"overridePath"`
}

func (*MoveData) Move added in v0.12.148

func (md *MoveData) Move(gs *sgc7game.GameScene, sx, sy, tx, ty int)

type MoveReel added in v0.12.155

type MoveReel struct {
	*BasicComponent `json:"-"`
	Config          *MoveReelConfig `json:"config"`
}

func (*MoveReel) Init added in v0.12.155

func (moveReel *MoveReel) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MoveReel) InitEx added in v0.12.155

func (moveReel *MoveReel) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MoveReel) OnAsciiGame added in v0.12.155

func (moveReel *MoveReel) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MoveReel) OnPlayGame added in v0.12.155

func (moveReel *MoveReel) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MoveReel) OnStats added in v0.12.155

func (moveReel *MoveReel) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MoveReelConfig added in v0.12.155

type MoveReelConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MoveReelIndex        []int `yaml:"moveReelIndex" json:"moveReelIndex"` // 每个轴的移动幅度,-1是上移
}

MoveReelConfig - configuration for MoveReel

type MoveSymbol added in v0.12.148

type MoveSymbol struct {
	*BasicComponent `json:"-"`
	Config          *MoveSymbolConfig `json:"config"`
}

func (*MoveSymbol) Init added in v0.12.148

func (moveSymbol *MoveSymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MoveSymbol) InitEx added in v0.12.148

func (moveSymbol *MoveSymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MoveSymbol) OnAsciiGame added in v0.12.148

func (moveSymbol *MoveSymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MoveSymbol) OnPlayGame added in v0.12.148

func (moveSymbol *MoveSymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MoveSymbol) OnStats added in v0.12.148

func (moveSymbol *MoveSymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MoveSymbolConfig added in v0.12.148

type MoveSymbolConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MoveData             []*MoveData `yaml:"moveData" json:"moveData"`
}

MoveSymbolConfig - configuration for MoveSymbol

type MultiLevelMystery

type MultiLevelMystery struct {
	*BasicComponent          `json:"-"`
	Config                   *MultiLevelMysteryConfig             `json:"config"`
	MapMysteryTriggerFeature map[int]*MysteryTriggerFeatureConfig `json:"-"`
	LevelMysteryWeights      []*sgc7game.ValWeights2              `json:"-"`
	MysterySymbols           []int                                `json:"-"`
}

func (*MultiLevelMystery) EachUsedResults

func (multiLevelMystery *MultiLevelMystery) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*MultiLevelMystery) Init

func (multiLevelMystery *MultiLevelMystery) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MultiLevelMystery) InitEx added in v0.12.33

func (multiLevelMystery *MultiLevelMystery) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MultiLevelMystery) NewComponentData

func (multiLevelMystery *MultiLevelMystery) NewComponentData() IComponentData

NewComponentData -

func (*MultiLevelMystery) OnAsciiGame

func (multiLevelMystery *MultiLevelMystery) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MultiLevelMystery) OnNewStep

func (multiLevelMystery *MultiLevelMystery) OnNewStep(gameProp *GameProperty) error

OnNewStep -

func (*MultiLevelMystery) OnPlayGame

func (multiLevelMystery *MultiLevelMystery) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MultiLevelMystery) OnStats

func (multiLevelMystery *MultiLevelMystery) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*MultiLevelMystery) OnStatsWithPB

func (multiLevelMystery *MultiLevelMystery) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type MultiLevelMysteryConfig

type MultiLevelMysteryConfig struct {
	BasicComponentConfig   `yaml:",inline" json:",inline"`
	Mystery                string                          `yaml:"mystery" json:"-"`
	Mysterys               []string                        `yaml:"mysterys" json:"mysterys"`
	Levels                 []*MultiLevelMysteryLevelConfig `yaml:"levels" json:"levels"`
	MysteryTriggerFeatures []*MysteryTriggerFeatureConfig  `yaml:"mysteryTriggerFeatures" json:"mysteryTriggerFeatures"`
}

MultiLevelMysteryConfig - configuration for MultiLevelMystery

type MultiLevelMysteryData

type MultiLevelMysteryData struct {
	BasicComponentData
	CurLevel       int
	CurMysteryCode int
}

func (*MultiLevelMysteryData) BuildPBComponentData

func (multiLevelMysteryData *MultiLevelMysteryData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MultiLevelMysteryData) OnNewGame

func (multiLevelMysteryData *MultiLevelMysteryData) OnNewGame()

OnNewGame -

func (*MultiLevelMysteryData) OnNewStep

func (multiLevelMysteryData *MultiLevelMysteryData) OnNewStep()

OnNewStep -

type MultiLevelMysteryLevelConfig

type MultiLevelMysteryLevelConfig struct {
	MysteryWeight string `yaml:"mysteryWeight" json:"mysteryWeight"`
	Collector     string `yaml:"collector" json:"collector"`
	CollectorVal  int    `yaml:"collectorVal" json:"collectorVal"`
}

MultiLevelMysteryLevelConfig - configuration for MultiLevelMystery's Level

type MultiLevelReels

type MultiLevelReels struct {
	*BasicComponent     `json:"-"`
	Config              *MultiLevelReelsConfig  `json:"config"`
	LevelReelSetWeights []*sgc7game.ValWeights2 `json:"-"`
}

func (*MultiLevelReels) EachUsedResults

func (multiLevelReels *MultiLevelReels) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*MultiLevelReels) Init

func (multiLevelReels *MultiLevelReels) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MultiLevelReels) InitEx added in v0.12.33

func (multiLevelReels *MultiLevelReels) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MultiLevelReels) NewComponentData

func (multiLevelReels *MultiLevelReels) NewComponentData() IComponentData

NewComponentData -

func (*MultiLevelReels) OnAsciiGame

func (multiLevelReels *MultiLevelReels) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MultiLevelReels) OnNewStep

func (multiLevelReels *MultiLevelReels) OnNewStep(gameProp *GameProperty) error

OnNewStep -

func (*MultiLevelReels) OnPlayGame

func (multiLevelReels *MultiLevelReels) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MultiLevelReels) OnStats

func (multiLevelReels *MultiLevelReels) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*MultiLevelReels) OnStatsWithPB

func (multiLevelReels *MultiLevelReels) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type MultiLevelReelsConfig

type MultiLevelReelsConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Levels               []*MultiLevelReelsLevelConfig `yaml:"levels" json:"levels"`
}

MultiLevelReelsConfig - configuration for MultiLevelReels

type MultiLevelReelsData

type MultiLevelReelsData struct {
	BasicComponentData
	CurLevel int
}

func (*MultiLevelReelsData) BuildPBComponentData

func (multiLevelReelsData *MultiLevelReelsData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MultiLevelReelsData) OnNewGame

func (multiLevelReelsData *MultiLevelReelsData) OnNewGame()

OnNewGame -

func (*MultiLevelReelsData) OnNewStep

func (multiLevelReelsData *MultiLevelReelsData) OnNewStep()

OnNewStep -

type MultiLevelReelsLevelConfig

type MultiLevelReelsLevelConfig struct {
	Reel           string `yaml:"reel" json:"reel"`
	ReelSetsWeight string `yaml:"reelSetWeight" json:"reelSetWeight"`
	Collector      string `yaml:"collector" json:"collector"`
	CollectorVal   int    `yaml:"collectorVal" json:"collectorVal"`
}

MultiLevelReelsLevelConfig - configuration for MultiLevelReels's Level

type MultiLevelReplaceReel added in v0.10.308

type MultiLevelReplaceReel struct {
	*BasicComponent `json:"-"`
	Config          *MultiLevelReplaceReelDataConfig `json:"config"`
}

func (*MultiLevelReplaceReel) EachUsedResults added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*MultiLevelReplaceReel) Init added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MultiLevelReplaceReel) InitEx added in v0.12.33

func (multiLevelReplaceReel *MultiLevelReplaceReel) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MultiLevelReplaceReel) NewComponentData added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) NewComponentData() IComponentData

NewComponentData -

func (*MultiLevelReplaceReel) OnAsciiGame added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MultiLevelReplaceReel) OnNewStep added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) OnNewStep(gameProp *GameProperty) error

OnNewStep -

func (*MultiLevelReplaceReel) OnPlayGame added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MultiLevelReplaceReel) OnStats added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*MultiLevelReplaceReel) OnStatsWithPB added in v0.10.308

func (multiLevelReplaceReel *MultiLevelReplaceReel) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type MultiLevelReplaceReelData added in v0.10.308

type MultiLevelReplaceReelData struct {
	BasicComponentData
	CurLevel int
}

func (*MultiLevelReplaceReelData) BuildPBComponentData added in v0.10.308

func (multiLevelReplaceReelData *MultiLevelReplaceReelData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MultiLevelReplaceReelData) OnNewGame added in v0.10.308

func (multiLevelReplaceReelData *MultiLevelReplaceReelData) OnNewGame()

OnNewGame -

func (*MultiLevelReplaceReelData) OnNewStep added in v0.10.308

func (multiLevelReplaceReelData *MultiLevelReplaceReelData) OnNewStep()

OnNewStep -

type MultiLevelReplaceReelDataConfig added in v0.10.308

type MultiLevelReplaceReelDataConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Levels               []*MultiLevelReplaceReelLevelConfig `yaml:"levels" json:"levels"`
}

MultiLevelReplaceReelDataConfig - configuration for MultiLevelReplaceReelData

type MultiLevelReplaceReelLevelConfig added in v0.10.308

type MultiLevelReplaceReelLevelConfig struct {
	Reels           map[int][]string `yaml:"reels" json:"reels"` // x - [0, width)
	SymbolCodeReels map[int][]int    `yaml:"-" json:"-"`
	Collector       string           `yaml:"collector" json:"collector"`
	CollectorVal    int              `yaml:"collectorVal" json:"collectorVal"`
}

MultiLevelReplaceReelLevelConfig - configuration for MultiLevelReplaceReelData's Level

type MultiRespin added in v0.10.279

type MultiRespin struct {
	*BasicComponent `json:"-"`
	Config          *MultiRespinConfig `json:"config"`
}

func (*MultiRespin) Init added in v0.10.279

func (multiRespin *MultiRespin) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MultiRespin) InitEx added in v0.12.33

func (multiRespin *MultiRespin) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MultiRespin) OnAsciiGame added in v0.10.279

func (multiRespin *MultiRespin) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MultiRespin) OnPlayGame added in v0.10.279

func (multiRespin *MultiRespin) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MultiRespin) OnStats added in v0.10.279

func (multiRespin *MultiRespin) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MultiRespinConfig added in v0.10.279

type MultiRespinConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	RespinData           []*RespinDataConfig `yaml:"respinData" json:"respinData"`           // wait player select
	TargetSymbolNum      string              `yaml:"targetSymbolNum" json:"targetSymbolNum"` // 这里可以用到一个前面记下的tagSymbolNum值
}

BasicWinsConfig - configuration for BasicWins

type MultiWeightAwards added in v0.12.170

type MultiWeightAwards struct {
	*BasicComponent `json:"-"`
	Config          *MultiWeightAwardsConfig `json:"config"`
}

func (*MultiWeightAwards) Init added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) Init(fn string, pool *GamePropertyPool) error

Init -

func (*MultiWeightAwards) InitEx added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*MultiWeightAwards) NewComponentData added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) NewComponentData() IComponentData

NewComponentData -

func (*MultiWeightAwards) OnAsciiGame added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*MultiWeightAwards) OnPlayGame added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*MultiWeightAwards) OnStats added in v0.12.170

func (multiWeightAwards *MultiWeightAwards) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type MultiWeightAwardsConfig added in v0.12.170

type MultiWeightAwardsConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Nodes                []*MultiWeightAwardsNode `yaml:"nodes" json:"nodes"`
}

MultiWeightAwardsConfig - configuration for MultiWeightAwards feature

type MultiWeightAwardsData added in v0.12.170

type MultiWeightAwardsData struct {
	BasicComponentData
	HasGot []bool
}

func (*MultiWeightAwardsData) BuildPBComponentData added in v0.12.170

func (multiWeightAwardsData *MultiWeightAwardsData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MultiWeightAwardsData) OnNewGame added in v0.12.170

func (multiWeightAwardsData *MultiWeightAwardsData) OnNewGame()

OnNewGame -

func (*MultiWeightAwardsData) OnNewStep added in v0.12.170

func (multiWeightAwardsData *MultiWeightAwardsData) OnNewStep()

OnNewStep -

type MultiWeightAwardsNode added in v0.12.170

type MultiWeightAwardsNode struct {
	Awards []*Award              `yaml:"awards" json:"awards"` // 新的奖励系统
	Weight string                `yaml:"weight" json:"weight"` //
	VW     *sgc7game.ValWeights2 `yaml:"-" json:"-"`           //
}

type Mystery

type Mystery struct {
	*BasicComponent          `json:"-"`
	Config                   *MysteryConfig                       `json:"config"`
	MysteryWeights           *sgc7game.ValWeights2                `json:"-"`
	MysterySymbols           []int                                `json:"-"`
	MapMysteryTriggerFeature map[int]*MysteryTriggerFeatureConfig `json:"-"`
}

func (*Mystery) EachUsedResults

func (mystery *Mystery) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*Mystery) Init

func (mystery *Mystery) Init(fn string, pool *GamePropertyPool) error

Init -

func (*Mystery) InitEx added in v0.12.33

func (mystery *Mystery) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*Mystery) NewComponentData

func (mystery *Mystery) NewComponentData() IComponentData

NewComponentData -

func (*Mystery) OnAsciiGame

func (mystery *Mystery) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*Mystery) OnPlayGame

func (mystery *Mystery) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*Mystery) OnStats

func (mystery *Mystery) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*Mystery) OnStatsWithPB

func (mystery *Mystery) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type MysteryConfig

type MysteryConfig struct {
	BasicComponentConfig   `yaml:",inline" json:",inline"`
	MysteryRNG             string                         `yaml:"mysteryRNG" json:"mysteryRNG"` // 强制用已经使用的随机数结果做 Mystery
	MysteryWeight          string                         `yaml:"mysteryWeight" json:"mysteryWeight"`
	Mystery                string                         `yaml:"mystery" json:"-"`
	Mysterys               []string                       `yaml:"mysterys" json:"mysterys"`
	MysteryTriggerFeatures []*MysteryTriggerFeatureConfig `yaml:"mysteryTriggerFeatures" json:"mysteryTriggerFeatures"`
}

MysteryConfig - configuration for Mystery

type MysteryData

type MysteryData struct {
	BasicComponentData
	CurMysteryCode int
}

func (*MysteryData) BuildPBComponentData

func (mysteryData *MysteryData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*MysteryData) OnNewGame

func (mysteryData *MysteryData) OnNewGame()

OnNewGame -

func (*MysteryData) OnNewStep

func (mysteryData *MysteryData) OnNewStep()

OnNewStep -

type MysteryTriggerFeatureConfig

type MysteryTriggerFeatureConfig struct {
	Symbol               string `yaml:"symbol" json:"symbol"`                             // like LIGHTNING
	RespinFirstComponent string `yaml:"respinFirstComponent" json:"respinFirstComponent"` // like lightning
}

MysteryTriggerFeatureConfig - configuration for mystery trigger feature

type OtherSceneFeature added in v0.10.285

type OtherSceneFeature struct {
	Type   int
	Config *OtherSceneFeatureConfig
}

func NewOtherSceneFeature added in v0.10.285

func NewOtherSceneFeature(cfg *OtherSceneFeatureConfig) *OtherSceneFeature

type OtherSceneFeatureConfig added in v0.10.285

type OtherSceneFeatureConfig struct {
	Type string `yaml:"type" json:"type"`
}

func (*OtherSceneFeatureConfig) GetType added in v0.10.285

func (cfg *OtherSceneFeatureConfig) GetType() int

type OverlaySymbol

type OverlaySymbol struct {
	*BasicComponent `json:"-"`
	Config          *OverlaySymbolConfig  `json:"config"`
	SymbolCode      int                   `json:"-"`
	MapPosition     *sgc7game.ValMapping2 `json:"-"`
}

func (*OverlaySymbol) EachUsedResults

func (overlaySymbol *OverlaySymbol) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*OverlaySymbol) Init

func (overlaySymbol *OverlaySymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*OverlaySymbol) InitEx added in v0.12.33

func (overlaySymbol *OverlaySymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*OverlaySymbol) NewComponentData

func (overlaySymbol *OverlaySymbol) NewComponentData() IComponentData

NewComponentData -

func (*OverlaySymbol) OnAsciiGame

func (overlaySymbol *OverlaySymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*OverlaySymbol) OnNewGame

func (overlaySymbol *OverlaySymbol) OnNewGame(gameProp *GameProperty) error

OnNewGame -

func (*OverlaySymbol) OnNewStep

func (overlaySymbol *OverlaySymbol) OnNewStep(gameProp *GameProperty) error

OnNewStep -

func (*OverlaySymbol) OnPlayGame

func (overlaySymbol *OverlaySymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*OverlaySymbol) OnStats

func (overlaySymbol *OverlaySymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*OverlaySymbol) OnStatsWithPB

func (overlaySymbol *OverlaySymbol) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type OverlaySymbolConfig

type OverlaySymbolConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Symbol               string `yaml:"symbol" json:"symbol"`
	MapPosition          string `yaml:"mapPosition" json:"mapPosition"`
	DefaultLevel         int    `yaml:"defaultLevel" json:"defaultLevel"`
	Collector            string `yaml:"collector" json:"collector"`
}

OverlaySymbolConfig - configuration for OverlaySymbol feature

type OverlaySymbolData

type OverlaySymbolData struct {
	BasicComponentData
	CurLevel int
}

func (*OverlaySymbolData) BuildPBComponentData

func (overlaySymbolData *OverlaySymbolData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*OverlaySymbolData) OnNewGame

func (overlaySymbolData *OverlaySymbolData) OnNewGame()

OnNewGame -

func (*OverlaySymbolData) OnNewStep

func (overlaySymbolData *OverlaySymbolData) OnNewStep()

OnNewStep -

type RTPConfig

type RTPConfig struct {
	Modules         []*RTPSymbolModule   `yaml:"modules"`
	HitRateFeatures []*RTPHitRateFeature `yaml:"hitRateFeatures"`
}

type RTPHitRateFeature

type RTPHitRateFeature struct {
	Name       string   `yaml:"name"`
	Components []string `yaml:"components"`
}

type RTPSymbolFeature

type RTPSymbolFeature struct {
	Name       string   `yaml:"name"`
	Components []string `yaml:"components"`
}

type RTPSymbolModule

type RTPSymbolModule struct {
	Name       string              `yaml:"name"`
	Components []string            `yaml:"components"`
	Features   []*RTPSymbolFeature `yaml:"features"`
}

type ReRollReel added in v0.12.156

type ReRollReel struct {
	*BasicComponent `json:"-"`
	Config          *ReRollReelConfig `json:"config"`
}

func (*ReRollReel) Init added in v0.12.156

func (reRollReel *ReRollReel) Init(fn string, pool *GamePropertyPool) error

Init -

func (*ReRollReel) InitEx added in v0.12.156

func (reRollReel *ReRollReel) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*ReRollReel) OnAsciiGame added in v0.12.156

func (reRollReel *ReRollReel) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*ReRollReel) OnPlayGame added in v0.12.156

func (reRollReel *ReRollReel) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*ReRollReel) OnStats added in v0.12.156

func (reRollReel *ReRollReel) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type ReRollReelConfig added in v0.12.156

type ReRollReelConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
}

ReRollReelConfig - configuration for ReRollReel

type ReelSetMystery added in v0.10.267

type ReelSetMystery struct {
	*BasicComponent    `json:"-"`
	Config             *ReelSetMysteryConfig            `json:"config"`
	MapMysteryWeights  map[string]*sgc7game.ValWeights2 `json:"-"`
	MysterySymbolCodes []int                            `json:"-"`
}

func (*ReelSetMystery) EachUsedResults added in v0.10.267

func (reelSetMystery *ReelSetMystery) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*ReelSetMystery) Init added in v0.10.267

func (reelSetMystery *ReelSetMystery) Init(fn string, pool *GamePropertyPool) error

Init -

func (*ReelSetMystery) InitEx added in v0.12.33

func (reelSetMystery *ReelSetMystery) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*ReelSetMystery) NewComponentData added in v0.10.267

func (reelSetMystery *ReelSetMystery) NewComponentData() IComponentData

NewComponentData -

func (*ReelSetMystery) OnAsciiGame added in v0.10.267

func (reelSetMystery *ReelSetMystery) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*ReelSetMystery) OnPlayGame added in v0.10.267

func (reelSetMystery *ReelSetMystery) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*ReelSetMystery) OnStats added in v0.10.267

func (reelSetMystery *ReelSetMystery) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*ReelSetMystery) OnStatsWithPB added in v0.10.267

func (reelSetMystery *ReelSetMystery) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

type ReelSetMysteryConfig added in v0.10.267

type ReelSetMysteryConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MysteryRNG           string            `yaml:"mysteryRNG" json:"mysteryRNG"` // 强制用已经使用的随机数结果做 ReelSetMystery
	MysterySymbols       []string          `yaml:"mysterySymbols" json:"mysterySymbols"`
	MapMysteryWeight     map[string]string `yaml:"mapMysteryWeight" json:"mapMysteryWeight"`
}

ReelSetMysteryConfig - configuration for ReelSetMystery

type ReelSetMysteryData added in v0.10.267

type ReelSetMysteryData struct {
	BasicComponentData
	CurMysteryCode int
}

func (*ReelSetMysteryData) BuildPBComponentData added in v0.10.267

func (reelSetMysteryData *ReelSetMysteryData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*ReelSetMysteryData) OnNewGame added in v0.10.267

func (reelSetMysteryData *ReelSetMysteryData) OnNewGame()

OnNewGame -

func (*ReelSetMysteryData) OnNewStep added in v0.10.267

func (reelSetMysteryData *ReelSetMysteryData) OnNewStep()

OnNewStep -

type ReplaceReel added in v0.12.147

type ReplaceReel struct {
	*BasicComponent `json:"-"`
	Config          *ReplaceReelConfig `json:"config"`
}

func (*ReplaceReel) Init added in v0.12.147

func (replaceReel *ReplaceReel) Init(fn string, pool *GamePropertyPool) error

Init -

func (*ReplaceReel) InitEx added in v0.12.147

func (replaceReel *ReplaceReel) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*ReplaceReel) OnAsciiGame added in v0.12.147

func (replaceReel *ReplaceReel) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*ReplaceReel) OnPlayGame added in v0.12.147

func (replaceReel *ReplaceReel) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*ReplaceReel) OnStats added in v0.12.147

func (replaceReel *ReplaceReel) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type ReplaceReelConfig added in v0.12.147

type ReplaceReelConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MapReels             map[int]string `yaml:"mapReels" json:"mapReels"`
	MapReelsCode         map[int]int    `yaml:"-" json:"-"`
}

ReplaceReelConfig - configuration for ReplaceReel

type ReplaceSymbol added in v0.10.285

type ReplaceSymbol struct {
	*BasicComponent `json:"-"`
	Config          *ReplaceSymbolConfig `json:"config"`
}

func (*ReplaceSymbol) Init added in v0.10.285

func (replaceSymbol *ReplaceSymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*ReplaceSymbol) InitEx added in v0.12.33

func (replaceSymbol *ReplaceSymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*ReplaceSymbol) OnAsciiGame added in v0.10.285

func (replaceSymbol *ReplaceSymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*ReplaceSymbol) OnPlayGame added in v0.10.285

func (replaceSymbol *ReplaceSymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*ReplaceSymbol) OnStats added in v0.10.285

func (replaceSymbol *ReplaceSymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type ReplaceSymbolConfig added in v0.10.285

type ReplaceSymbolConfig struct {
	BasicComponentConfig     `yaml:",inline" json:",inline"`
	Symbols                  []string       `yaml:"symbols" json:"symbols"`
	Chg2SymbolInReels        []string       `yaml:"chg2SymbolInReels" json:"chg2SymbolInReels"`
	MapChg2SymbolInReels     map[int]string `yaml:"mapChg2SymbolInReels" json:"mapChg2SymbolInReels"`
	Mask                     string         `yaml:"mask" json:"mask"`
	SymbolCodes              []int          `yaml:"-" json:"-"`
	MapChg2SymbolCodeInReels map[int]int    `yaml:"-" json:"-"`
}

ReplaceSymbolConfig - configuration for ReplaceSymbol

type Respin added in v0.10.273

type Respin struct {
	*BasicComponent `json:"-"`
	Config          *RespinConfig `json:"config"`
}

func (*Respin) AddRespinTimes added in v0.10.273

func (respin *Respin) AddRespinTimes(gameProp *GameProperty, num int)

OnPlayGame - on playgame

func (*Respin) AddRetriggerRespinNum added in v0.12.167

func (respin *Respin) AddRetriggerRespinNum(gameProp *GameProperty, num int)

AddRetriggerRespinNum -

func (*Respin) EachUsedResults added in v0.10.273

func (respin *Respin) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*Respin) Init added in v0.10.273

func (respin *Respin) Init(fn string, pool *GamePropertyPool) error

Init -

func (*Respin) InitEx added in v0.12.33

func (respin *Respin) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*Respin) IsRespin added in v0.12.157

func (respin *Respin) IsRespin() bool

IsRespin -

func (*Respin) NewComponentData added in v0.10.273

func (respin *Respin) NewComponentData() IComponentData

NewComponentData -

func (*Respin) OnAsciiGame added in v0.10.273

func (respin *Respin) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*Respin) OnPlayGame added in v0.10.273

func (respin *Respin) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*Respin) OnPlayGameEnd added in v0.10.273

func (respin *Respin) OnPlayGameEnd(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

OnPlayGame - on playgame

func (*Respin) OnStats added in v0.10.273

func (respin *Respin) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*Respin) Retrigger added in v0.12.167

func (respin *Respin) Retrigger(gameProp *GameProperty)

Retrigger -

func (*Respin) SaveRetriggerRespinNum added in v0.12.167

func (respin *Respin) SaveRetriggerRespinNum(gameProp *GameProperty)

SaveRetriggerRespinNum -

type RespinConfig added in v0.10.273

type RespinConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	InitRespinNum        int                  `yaml:"initRespinNum" json:"initRespinNum"`
	MainComponent        string               `yaml:"mainComponent" json:"mainComponent"`
	IsWinBreak           bool                 `yaml:"isWinBreak" json:"isWinBreak"`
	Levels               []*RespinLevelConfig `yaml:"levels" json:"levels"`
}

RespinConfig - configuration for Respin

type RespinData added in v0.10.273

type RespinData struct {
	BasicComponentData
	LastRespinNum         int
	CurRespinNum          int
	CurAddRespinNum       int
	RetriggerAddRespinNum int // 再次触发时增加的次数
	TotalCoinWin          int64
	TotalCashWin          int64
}

func (*RespinData) BuildPBComponentData added in v0.10.273

func (respinData *RespinData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*RespinData) OnNewGame added in v0.10.273

func (respinData *RespinData) OnNewGame()

OnNewGame -

func (*RespinData) OnNewStep added in v0.10.273

func (respinData *RespinData) OnNewStep()

OnNewStep -

type RespinDataCmdParam added in v0.10.279

type RespinDataCmdParam struct {
	RespinNum       int    `json:"RespinNum"`       // respin number
	RespinComponent string `json:"respinComponent"` // like fg-spin
}

type RespinDataConfig added in v0.10.279

type RespinDataConfig struct {
	RespinNum                     int            `yaml:"respinNum" json:"respinNum"`                                         // respin number
	RespinNumWeight               string         `yaml:"respinNumWeight" json:"respinNumWeight"`                             // respin number weight
	RespinNumWithScatterNum       map[int]int    `yaml:"respinNumWithScatterNum" json:"respinNumWithScatterNum"`             // respin number with scatter number
	RespinNumWeightWithScatterNum map[int]string `yaml:"respinNumWeightWithScatterNum" json:"respinNumWeightWithScatterNum"` // respin number weight with scatter number
	RespinComponent               string         `yaml:"respinComponent" json:"respinComponent"`                             // like fg-spin
	Cmd                           string         `yaml:"cmd" json:"cmd"`                                                     // cmd
}

RespinDataConfig - configuration for MultiRespin

type RespinLevelConfig added in v0.10.323

type RespinLevelConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	LastRespinNum        int    `yaml:"lastRespinNum" json:"lastRespinNum"` // 倒数第几局开始
	MaxCoinWins          int    `yaml:"maxCoinWins" json:"maxCoinWins"`     // 如果最大获奖低于这个
	JumpComponent        string `yaml:"jumpComponent" json:"jumpComponent"` // 跳转到这个component
}

RespinLevelConfig - configuration for Respin Level

type ScriptCore

type ScriptCore struct {
	Cel *cel.Env
}

func NewScriptCore

func NewScriptCore(gameProp *GameProperty) (*ScriptCore, error)

type SelectPosData added in v0.12.148

type SelectPosData struct {
	Type       string `yaml:"type" json:"type"`
	X          int    `yaml:"x" json:"x"`
	Y          int    `yaml:"y" json:"y"`
	Symbol     string `yaml:"symbol" json:"symbol"`
	SymbolCode int    `yaml:"-" json:"-"`
}

func (*SelectPosData) Select added in v0.12.148

func (spd *SelectPosData) Select(gs *sgc7game.GameScene) (bool, int, int)

type Stats

type Stats struct {
	Root *sgc7stats.Feature

	TotalNum int64
	Pool     *GamePropertyPool
	NoStats  bool
	// contains filtered or unexported fields
}

func NewStats

func NewStats(root *sgc7stats.Feature, pool *GamePropertyPool) *Stats

func (*Stats) Push

func (stats *Stats) Push(stake *sgc7game.Stake, results []*sgc7game.PlayResult)

func (*Stats) StartWorker

func (stats *Stats) StartWorker()

func (*Stats) Wait

func (stats *Stats) Wait()

type StatsConfig

type StatsConfig struct {
	Name                 string            `yaml:"name"`
	Component            string            `yaml:"component"`
	RespinEndingStatus   map[string]string `yaml:"respinEndingStatus"`   // component -> status
	RespinStartStatus    map[string]string `yaml:"respinStartStatus"`    // component -> status
	RespinStartStatusEx  map[string]string `yaml:"respinStartStatusEx"`  // component -> status
	RespinNumStatus      []string          `yaml:"respinNumStatus"`      // component -> status
	RespinStartNumStatus []string          `yaml:"respinStartNumStatus"` // component -> status
	RespinWinStatus      []string          `yaml:"respinWinStatus"`      // component -> status
	Children             []*StatsConfig    `yaml:"children"`
	IsNeedForceStats     bool              `yaml:"isNeedForceStats"`
}

type StatsParam

type StatsParam struct {
	Stake   *sgc7game.Stake
	Results []*sgc7game.PlayResult
}

type SymbolCollection added in v0.12.2

type SymbolCollection struct {
	*BasicComponent `json:"-"`
	Config          *SymbolCollectionConfig `json:"config"`
	WeightVal       *sgc7game.ValWeights2   `json:"-"`
}

SymbolCollection - 也是一个非常特殊的组件,用来处理symbol随机集合的,譬如一共8个符号,按恒定权重先后选出3个符号

func (*SymbolCollection) EachUsedResults added in v0.12.2

func (symbolCollection *SymbolCollection) EachUsedResults(pr *sgc7game.PlayResult, pbComponentData *anypb.Any, oneach FuncOnEachUsedResult)

EachUsedResults -

func (*SymbolCollection) Init added in v0.12.2

func (symbolCollection *SymbolCollection) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolCollection) InitEx added in v0.12.33

func (symbolCollection *SymbolCollection) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolCollection) NewComponentData added in v0.12.2

func (symbolCollection *SymbolCollection) NewComponentData() IComponentData

NewComponentData -

func (*SymbolCollection) OnAsciiGame added in v0.12.2

func (symbolCollection *SymbolCollection) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolCollection) OnPlayGame added in v0.12.2

func (symbolCollection *SymbolCollection) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolCollection) OnStats added in v0.12.2

func (symbolCollection *SymbolCollection) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

func (*SymbolCollection) OnStatsWithPB added in v0.12.2

func (symbolCollection *SymbolCollection) OnStatsWithPB(feature *sgc7stats.Feature, pbComponentData proto.Message, pr *sgc7game.PlayResult) (int64, error)

OnStatsWithPB -

func (*SymbolCollection) Push added in v0.12.2

func (symbolCollection *SymbolCollection) Push(plugin sgc7plugin.IPlugin, gameProp *GameProperty, gp *GameParams) error

Push -

type SymbolCollectionConfig added in v0.12.2

type SymbolCollectionConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	WeightVal            string `yaml:"weightVal" json:"weightVal"`
}

SymbolCollectionConfig - configuration for SymbolCollection feature

type SymbolCollectionData added in v0.12.2

type SymbolCollectionData struct {
	BasicComponentData
	SymbolCodes []int
}

func (*SymbolCollectionData) BuildPBComponentData added in v0.12.2

func (symbolCollectionData *SymbolCollectionData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*SymbolCollectionData) OnNewGame added in v0.12.2

func (symbolCollectionData *SymbolCollectionData) OnNewGame()

OnNewGame -

func (*SymbolCollectionData) OnNewStep added in v0.12.2

func (symbolCollectionData *SymbolCollectionData) OnNewStep()

OnNewStep -

type SymbolMulti

type SymbolMulti struct {
	*BasicComponent   `json:"-"`
	Config            *SymbolMultiConfig               `json:"config"`
	SymbolCodes       []int                            `json:"-"`
	WeightMulti       *sgc7game.ValWeights2            `json:"-"`
	MapWeightMulti    map[string]*sgc7game.ValWeights2 `json:"-"`
	OtherSceneFeature *OtherSceneFeature               `json:"-"`
}

func (*SymbolMulti) Init

func (symbolMulti *SymbolMulti) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolMulti) InitEx added in v0.12.33

func (symbolMulti *SymbolMulti) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolMulti) OnAsciiGame

func (symbolMulti *SymbolMulti) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolMulti) OnPlayGame

func (symbolMulti *SymbolMulti) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolMulti) OnStats

func (symbolMulti *SymbolMulti) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type SymbolMultiConfig

type SymbolMultiConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Symbol               string                   `yaml:"symbol" json:"-"`                      // 弃用,用symbols
	Symbols              []string                 `yaml:"symbols" json:"symbols"`               // 这些符号可以有倍数
	WeightMulti          string                   `yaml:"weightMulti" json:"weightMulti"`       // 倍数权重
	StaticMulti          int                      `yaml:"staticMulti" json:"staticMulti"`       // 恒定倍数
	MapWeightMulti       map[string]string        `yaml:"mapWeightMulti" json:"mapWeightMulti"` // 可以配置多套权重
	ValUsed              string                   `yaml:"valUsed" json:"valUsed"`               // 用这个值来确定使用的权重
	OtherSceneFeature    *OtherSceneFeatureConfig `yaml:"otherSceneFeature" json:"otherSceneFeature"`
}

SymbolMultiConfig - configuration for SymbolMulti feature

type SymbolTrigger added in v0.12.147

type SymbolTrigger struct {
	*BasicComponent `json:"-"`
	Config          *SymbolTriggerConfig `json:"config"`
}

func (*SymbolTrigger) Init added in v0.12.147

func (symbolTrigger *SymbolTrigger) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolTrigger) InitEx added in v0.12.147

func (symbolTrigger *SymbolTrigger) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolTrigger) NewComponentData added in v0.12.147

func (symbolTrigger *SymbolTrigger) NewComponentData() IComponentData

NewComponentData -

func (*SymbolTrigger) OnAsciiGame added in v0.12.147

func (symbolTrigger *SymbolTrigger) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolTrigger) OnPlayGame added in v0.12.147

func (symbolTrigger *SymbolTrigger) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolTrigger) OnStats added in v0.12.147

func (symbolTrigger *SymbolTrigger) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type SymbolTriggerConfig added in v0.12.147

type SymbolTriggerConfig struct {
	BasicComponentConfig        `yaml:",inline" json:",inline"`
	Symbol                      string            `yaml:"symbol" json:"symbol"`                           // like scatter
	SymbolCode                  int               `yaml:"-" json:"-"`                                     // like scatter
	Type                        string            `yaml:"type" json:"type"`                               // like scatters
	TriggerType                 SymbolTriggerType `yaml:"-" json:"-"`                                     // SymbolTriggerType
	BetTypeString               string            `yaml:"betType" json:"betType"`                         // bet or totalBet or noPay
	BetType                     BetType           `yaml:"-" json:"-"`                                     // bet or totalBet or noPay
	MinNum                      int               `yaml:"minNum" json:"minNum"`                           // like 3,STTypeCountScatter 或 STTypeCountScatterInArea 时生效
	WildSymbols                 []string          `yaml:"wildSymbols" json:"wildSymbols"`                 // wild etc
	WildSymbolCodes             []int             `yaml:"-" json:"-"`                                     // wild symbolCode
	PosArea                     []int             `yaml:"posArea" json:"posArea"`                         // 只在countscatterInArea时生效,[minx,maxx,miny,maxy],当x,y分别符合双闭区间才合法
	CountScatterPayAs           string            `yaml:"countScatterPayAs" json:"countScatterPayAs"`     // countscatter时,按什么符号赔付
	SymbolCodeCountScatterPayAs int               `yaml:"-" json:"-"`                                     // countscatter时,按什么符号赔付
	JumpToComponent             string            `yaml:"jumpToComponent" json:"jumpToComponent"`         // jump to
	ForcedJump                  bool              `yaml:"forcedJump" json:"forcedJump"`                   // 强制跳转,中断当前流程
	TagSymbolNum                string            `yaml:"tagSymbolNum" json:"tagSymbolNum"`               // 这里可以将symbol数量记下来,别的地方能获取到
	Awards                      []*Award          `yaml:"awards" json:"awards"`                           // 新的奖励系统
	SymbolAwardsWeights         *AwardsWeights    `yaml:"symbolAwardsWeights" json:"symbolAwardsWeights"` // 每个中奖符号随机一组奖励
	TargetMask                  string            `yaml:"targetMask" json:"targetMask"`                   // 如果是scatter这一组判断,可以把结果传递给一个mask
}

SymbolTriggerConfig - configuration for SymbolTrigger

type SymbolTriggerData added in v0.12.147

type SymbolTriggerData struct {
	BasicComponentData
	NextComponent string
}

func (*SymbolTriggerData) BuildPBComponentData added in v0.12.147

func (symbolTriggerData *SymbolTriggerData) BuildPBComponentData() proto.Message

BuildPBComponentData

func (*SymbolTriggerData) OnNewGame added in v0.12.147

func (symbolTriggerData *SymbolTriggerData) OnNewGame()

OnNewGame -

func (*SymbolTriggerData) OnNewStep added in v0.12.147

func (symbolTriggerData *SymbolTriggerData) OnNewStep()

OnNewStep -

type SymbolTriggerType added in v0.12.147

type SymbolTriggerType int
const (
	STTypeUnknow             SymbolTriggerType = 0
	STTypeLines              SymbolTriggerType = 1
	STTypeWays               SymbolTriggerType = 2
	STTypeScatters           SymbolTriggerType = 3
	STTypeCountScatter       SymbolTriggerType = 4
	STTypeCountScatterInArea SymbolTriggerType = 5
)

func ParseSymbolTriggerType added in v0.12.147

func ParseSymbolTriggerType(str string) SymbolTriggerType

type SymbolVal

type SymbolVal struct {
	*BasicComponent   `json:"-"`
	Config            *SymbolValConfig      `json:"config"`
	SymbolCode        int                   `json:"-"`
	WeightVal         *sgc7game.ValWeights2 `json:"-"`
	OtherSceneFeature *OtherSceneFeature    `json:"-"`
}

func (*SymbolVal) Init

func (symbolVal *SymbolVal) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolVal) InitEx added in v0.12.33

func (symbolVal *SymbolVal) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolVal) OnAsciiGame

func (symbolVal *SymbolVal) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolVal) OnPlayGame

func (symbolVal *SymbolVal) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolVal) OnStats

func (symbolVal *SymbolVal) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type SymbolVal2

type SymbolVal2 struct {
	*BasicComponent   `json:"-"`
	Config            *SymbolVal2Config       `json:"config"`
	SymbolCode        int                     `json:"-"`
	WeightsVal        []*sgc7game.ValWeights2 `json:"-"`
	WeightSet         *sgc7game.ValWeights2   `json:"-"`
	OtherSceneFeature *OtherSceneFeature      `json:"-"`
}

func (*SymbolVal2) Init

func (symbolVal2 *SymbolVal2) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolVal2) InitEx added in v0.12.33

func (symbolVal2 *SymbolVal2) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolVal2) OnAsciiGame

func (symbolVal2 *SymbolVal2) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolVal2) OnPlayGame

func (symbolVal2 *SymbolVal2) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolVal2) OnStats

func (symbolVal2 *SymbolVal2) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type SymbolVal2Config

type SymbolVal2Config struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Symbol               string                   `yaml:"symbol" json:"symbol"`
	WeightSet            string                   `yaml:"weightSet" json:"weightSet"`
	WeightsVal           []string                 `yaml:"weightsVal" json:"weightsVal"`
	DefaultVal           int                      `yaml:"defaultVal" json:"defaultVal"`
	RNGSet               string                   `yaml:"RNGSet" json:"RNGSet"`
	OtherSceneFeature    *OtherSceneFeatureConfig `yaml:"otherSceneFeature" json:"otherSceneFeature"`
}

SymbolVal2Config - configuration for SymbolVal2 feature

type SymbolValConfig

type SymbolValConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	Symbol               string                   `yaml:"symbol" json:"symbol"`
	WeightVal            string                   `yaml:"weightVal" json:"weightVal"`
	DefaultVal           int                      `yaml:"defaultVal" json:"defaultVal"`
	OtherSceneFeature    *OtherSceneFeatureConfig `yaml:"otherSceneFeature" json:"otherSceneFeature"`
}

SymbolValConfig - configuration for SymbolMulti feature

type SymbolValWins

type SymbolValWins struct {
	*BasicComponent   `json:"-"`
	Config            *SymbolValWinsConfig `json:"config"`
	TriggerSymbolCode int                  `json:"-"`
}

func (*SymbolValWins) Init

func (symbolValWins *SymbolValWins) Init(fn string, pool *GamePropertyPool) error

Init -

func (*SymbolValWins) InitEx added in v0.12.33

func (symbolValWins *SymbolValWins) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*SymbolValWins) OnAsciiGame

func (symbolValWins *SymbolValWins) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*SymbolValWins) OnPlayGame

func (symbolValWins *SymbolValWins) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*SymbolValWins) OnStats

func (symbolValWins *SymbolValWins) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type SymbolValWinsConfig

type SymbolValWinsConfig struct {
	BasicComponentConfig    `yaml:",inline" json:",inline"`
	BetType                 string `yaml:"betType" json:"betType"`                                 // bet or totalBet
	TriggerSymbol           string `yaml:"triggerSymbol" json:"triggerSymbol"`                     // like collect
	Type                    string `yaml:"type" json:"type"`                                       // like scatters
	MinNum                  int    `yaml:"minNum" json:"minNum"`                                   // like 3
	IsTriggerSymbolNumMulti bool   `yaml:"isTriggerSymbolNumMulti" json:"isTriggerSymbolNumMulti"` // totalwins = totalvals * triggetSymbol's num
}

SymbolValWinsConfig - configuration for SymbolValWins

type SymbolViewerData

type SymbolViewerData struct {
	Code   int
	Symbol string
	Output string
	Color  string
}

type SymbolsViewer

type SymbolsViewer struct {
	MapSymbols map[int]*SymbolViewerData
}

func LoadSymbolsViewer

func LoadSymbolsViewer(fn string) (*SymbolsViewer, error)

func NewSymbolViewerFromPaytables added in v0.12.36

func NewSymbolViewerFromPaytables(paytables *sgc7game.PayTables) *SymbolsViewer

type TriggerFeatureConfig

type TriggerFeatureConfig struct {
	TargetScene                   string         `yaml:"targetScene" json:"targetScene"`                                     // like basicReels.mstery
	Symbol                        string         `yaml:"symbol" json:"symbol"`                                               // like scatter
	Type                          string         `yaml:"type" json:"type"`                                                   // like scatters
	MinNum                        int            `yaml:"minNum" json:"minNum"`                                               // like 3
	WildSymbols                   []string       `yaml:"wildSymbols" json:"wildSymbols"`                                     // wild etc
	WildSymbolCodes               []int          `yaml:"-" json:"-"`                                                         // wild symbolCode
	SIWMSymbols                   []string       `yaml:"SIWMSymbols" json:"SIWMSymbols"`                                     // SIWM就是如果有符号参与中奖考虑倍数,这里是SIWM的图标
	SIWMSymbolCodes               []int          `yaml:"-" json:"-"`                                                         //
	SIWMMul                       int            `yaml:"SIWMMul" json:"SIWMMul"`                                             // 这里是SIWM的倍数
	Scripts                       string         `yaml:"scripts" json:"scripts"`                                             // scripts
	RespinNum                     int            `yaml:"respinNum" json:"respinNum"`                                         // respin number
	RespinNumWeight               string         `yaml:"respinNumWeight" json:"respinNumWeight"`                             // respin number weight
	RespinNumWithScatterNum       map[int]int    `yaml:"respinNumWithScatterNum" json:"respinNumWithScatterNum"`             // respin number with scatter number
	RespinNumWeightWithScatterNum map[int]string `yaml:"respinNumWeightWithScatterNum" json:"respinNumWeightWithScatterNum"` // respin number weight with scatter number
	BetType                       string         `yaml:"betType" json:"betType"`                                             // bet or totalBet
	CountScatterPayAs             string         `yaml:"countScatterPayAs" json:"countScatterPayAs"`                         // countscatter时,按什么符号赔付
	SymbolCodeCountScatterPayAs   int            `yaml:"-" json:"-"`                                                         // countscatter时,按什么符号赔付
	RespinComponent               string         `yaml:"respinComponent" json:"respinComponent"`                             // like fg-spin
	NextComponent                 string         `yaml:"nextComponent" json:"nextComponent"`                                 // next component
	TagSymbolNum                  string         `yaml:"tagSymbolNum" json:"tagSymbolNum"`                                   // 这里可以将symbol数量记下来,别的地方能获取到
	Awards                        []*Award       `yaml:"awards" json:"awards"`                                               // 新的奖励系统
	SymbolAwardsWeights           *AwardsWeights `yaml:"symbolAwardsWeights" json:"symbolAwardsWeights"`                     // 每个中奖符号随机一组奖励
	IsNeedBreak                   bool           `yaml:"isNeedBreak" json:"isNeedBreak"`                                     // 如果触发,需要能break,不继续处理后续的trigger,仅限于当前队列
	PosArea                       []int          `yaml:"posArea" json:"posArea"`                                             // 只在countscatterInArea时生效,[minx,maxx,miny,maxy],当x,y分别符合双闭区间才合法
	IsSaveRetriggerRespinNum      bool           `yaml:"isSaveRetriggerRespinNum" json:"isSaveRetriggerRespinNum"`           // 如果配置了这个,触发respin以后,会将这次的respinnum缓存下来,后面可以直接用
	ForceToNext                   bool           `yaml:"forceToNext" json:"forceToNext"`                                     // 就算触发了respin,也要先执行next分支
}

TriggerFeatureConfig - configuration for trigger feature

type WeightChgSymbol added in v0.12.132

type WeightChgSymbol struct {
	*BasicComponent `json:"-"`
	Config          *WeightChgSymbolConfig `json:"config"`
}

func (*WeightChgSymbol) Init added in v0.12.132

func (weightChgSymbol *WeightChgSymbol) Init(fn string, pool *GamePropertyPool) error

Init -

func (*WeightChgSymbol) InitEx added in v0.12.132

func (weightChgSymbol *WeightChgSymbol) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*WeightChgSymbol) OnAsciiGame added in v0.12.132

func (weightChgSymbol *WeightChgSymbol) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*WeightChgSymbol) OnPlayGame added in v0.12.132

func (weightChgSymbol *WeightChgSymbol) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*WeightChgSymbol) OnStats added in v0.12.132

func (weightChgSymbol *WeightChgSymbol) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type WeightChgSymbolConfig added in v0.12.132

type WeightChgSymbolConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	MapChgWeight         map[string]string             `yaml:"mapChgWeight" json:"mapChgWeight"`
	MapChgWeightVW       map[int]*sgc7game.ValWeights2 `yaml:"-" json:"-"`
}

WeightChgSymbolConfig - configuration for WeightChgSymbol feature

type WeightTrigger added in v0.10.270

type WeightTrigger struct {
	*BasicComponent `json:"-"`
	Config          *WeightTriggerConfig  `json:"config"`
	WeightSet       *sgc7game.ValWeights2 `json:"-"`
}

func (*WeightTrigger) Init added in v0.10.270

func (weightTrigger *WeightTrigger) Init(fn string, pool *GamePropertyPool) error

Init -

func (*WeightTrigger) InitEx added in v0.12.33

func (weightTrigger *WeightTrigger) InitEx(cfg any, pool *GamePropertyPool) error

InitEx -

func (*WeightTrigger) OnAsciiGame added in v0.10.270

func (weightTrigger *WeightTrigger) OnAsciiGame(gameProp *GameProperty, pr *sgc7game.PlayResult, lst []*sgc7game.PlayResult, mapSymbolColor *asciigame.SymbolColorMap) error

OnAsciiGame - outpur to asciigame

func (*WeightTrigger) OnPlayGame added in v0.10.270

func (weightTrigger *WeightTrigger) OnPlayGame(gameProp *GameProperty, curpr *sgc7game.PlayResult, gp *GameParams, plugin sgc7plugin.IPlugin,
	cmd string, param string, ps sgc7game.IPlayerState, stake *sgc7game.Stake, prs []*sgc7game.PlayResult) error

playgame

func (*WeightTrigger) OnStats added in v0.10.270

func (weightTrigger *WeightTrigger) OnStats(feature *sgc7stats.Feature, stake *sgc7game.Stake, lst []*sgc7game.PlayResult) (bool, int64, int64)

OnStats

type WeightTriggerConfig added in v0.10.270

type WeightTriggerConfig struct {
	BasicComponentConfig `yaml:",inline" json:",inline"`
	NextComponents       []string `yaml:"nextComponents" json:"nextComponents"`
	RespinNums           []int    `yaml:"respinNums" json:"respinNums"`
	WeightSet            string   `yaml:"weightSet" json:"weightSet"`
}

WeightTriggerConfig - configuration for WeightTrigger

Jump to

Keyboard shortcuts

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