package machine import ( "mongo.games.com/game/gamesrv/slotspkg/internal/module/shared" "mongo.games.com/game/gamesrv/slotspkg/slots/intf" "mongo.games.com/goserver/core/logger" ) // Node implements intf.Node type Node struct { *shared.Node Machine *Machine } func asNodeIntf(m *Machine, n *shared.Node) *Node { return &Node{ Node: n, Machine: m, } } // SetBet implements intf.Node.SetBet func (n *Node) SetBet(bet int64) intf.Node { if n.GetID() == n.Machine.Cursor().GetID() { logger.Logger.Warnf("It's too late to set bet in theme:%s, node type:%s", n.Machine.Theme, n.Machine.Cursor().GetType()) } n.ForceBet = bet n.Bet = bet return n } // AddPrepare implements intf.Node.AddPrepare func (n *Node) AddPrepare() intf.Node { n.NeedPrepare = true return n } func (n *Node) GetFormationWin() int64 { var win int64 for _, formation := range n.Formations { win += formation.Win } return win } func (n *Node) GetFeatureWin() int64 { var featureWin int64 for _, feature := range n.Features { featureWin += feature.Win } return featureWin } func (n *Node) GetNoBase() bool { return n.NoBase }