package intf import ( "github.com/tomas-qstarrs/boost/randx" "mongo.games.com/game/gamesrv/slotspkg/internal/module/player" "mongo.games.com/game/gamesrv/slotspkg/internal/module/shared" "mongo.games.com/game/gamesrv/slotspkg/slots/desc" ) // Master is the interface for mastering machine type Master interface { Randx() *randx.Randx UID() int64 SetRatio(int64, float64) SetSummary(s string) TryLink(seqID int64, symbols []int64) ([]*shared.LinkPositions, [][]int64, []float64) // 返回linkPositions, LineSymbols, LinePays TryLinkMatrixSymbols(seqID int64, matSymbols [][]int64) ([]*shared.LinkPositions, [][]int64, []float64) // 返回linkPositions, LineSymbols, LinePays TryRand(nodeType string, seqID int64) []int64 SkipBaseSpin(nodeID int64) SkipBaseSpinWithBet(nodeID int64) Desc() *desc.NodeDesc UserData() *shared.UserData MustNext() RandVector() *shared.RandVector RandxTracker() *shared.RandxTracker CompareRandx() (bool, string, string) BetSizeIndex() int64 BetLevelIndex() int64 BetLineIndex() int64 Choice() int64 Stay() bool Version() int64 Ratio() float64 Mode() string GetBetCoin() player.DecCoin GetWinCoin() player.IncCoin Bet() int64 // 当前Node参与计算的下注值(拷贝自Base,可临时被更改) ActBet() int64 // 通过Base节点信息和Act信息实时计算的最新Bet值 TotalBet() int64 // 一轮Base节点实际付款金币 ActualBet() int64 // 当前Spin实际付款金币 Win() int64 // 当前Spin中奖金额 NodeTotalWin() int64 // 当前Node中奖金额 TotalWin() int64 // 一轮Base总中奖金额 ActualWin() int64 // 当前Spin实际获奖金额 ActualWinType() int64 // 当前Spin实际获奖类型 Accomplish() AccomplishNext() AccomplishParent() AddProgress(n int64) AddNextProgress(n int64) AddParentProgress(n int64) ProgressLeft() int64 NextProgressLeft() int64 ParentProgressLeft() int64 SetProgressLeft(left int64) SetNextProgressLeft(left int64) SetParentProgressLeft(left int64) GetProgressValue() int64 GetNextProgressValue() int64 GetParentProgressValue() int64 Node(nodeID int64) Node Cursor() Node Root() Node Next() Node AddNode(nodeID int64, nodeType string, progress int64) Node AddNodeOnCursor(nodeType string, progress int64) Node AddNodeOnRoot(nodeType string, progress int64) Node AddNodeAtLeft(nodeID int64, nodeType string, progress int64) Node AddNodeOnCursorAtLeft(nodeType string, progress int64) Node AddNodeOnRootAtLeft(nodeType string, progress int64) Node //////////////////////////////////////////////////////// UpdateCursor2NewType(nodeType string, progress int64) Node IsWinInBeforeDisplay() bool IsWinInBeforeDisplayBySymbols(symbols [][]int64) int //////////////////////////////////////////////////////// CursorFormation() Formation CursorFormations() []Formation CursorSeqFormation(seqID int64) Formation NodeFormation(nodeID int64) Formation NodeFormations(nodeID int64) []Formation NodeSeqFormation(nodeID int64, seqID int64) Formation Feature(featureID int64) Feature CursorFeature(v interface{}) Feature CursorFeatures(v interface{}) []Feature CursorFormationFeature(seqID int64, v interface{}) Feature CursorFormationFeatures(seqID int64, v interface{}) []Feature RootFeature(v interface{}) Feature RootFeatures(v interface{}) []Feature NodeFeature(nodeID int64, v interface{}) Feature NodeFeatures(nodeID int64, v interface{}) []Feature NodeFormationFeature(nodeID int64, seqID int64, v interface{}) Feature NodeFormationFeatures(nodeID int64, seqID int64, v interface{}) []Feature AddCursorFeature(v interface{}) Feature AddRootFeature(v interface{}) Feature AddNodeFeature(nodeID int64, v interface{}) Feature Custom(featureID int64) interface{} CursorCustom(v interface{}) interface{} CursorCustoms(v interface{}) []interface{} CursorFormationCustom(seqID int64, v interface{}) interface{} CursorFormationCustoms(seqID int64, v interface{}) []interface{} RootCustom(v interface{}) interface{} RootCustoms(v interface{}) []interface{} NodeCustom(nodeID int64, v interface{}) interface{} NodeCustoms(nodeID int64, v interface{}) []interface{} NodeFormationCustom(nodeID int64, seqID int64, v interface{}) interface{} NodeFormationCustoms(nodeID int64, seqID int64, v interface{}) []interface{} Remove(key interface{}) Set(key interface{}, value interface{}) Exists(key interface{}) bool Int(key interface{}) int Int8(key interface{}) int8 Int16(key interface{}) int16 Int32(key interface{}) int32 Int64(key interface{}) int64 Uint(key interface{}) uint Uint8(key interface{}) uint8 Uint16(key interface{}) uint16 Uint32(key interface{}) uint32 Uint64(key interface{}) uint64 Incr(Key interface{}) Float32(key interface{}) float32 Float64(key interface{}) float64 String(key interface{}) string Bool(key interface{}) bool Value(key interface{}) interface{} State() map[string]interface{} Restore(data map[string]interface{}) Clear() }