game_sync/gamesrv/slotspkg/slots/machine/feature.go

50 lines
1.1 KiB
Go

package machine
import (
"mongo.games.com/game/gamesrv/slotspkg/internal/module/shared"
"mongo.games.com/game/gamesrv/slotspkg/slots/intf"
)
// Feature implements intf.Feature
type Feature struct {
*shared.Feature
Machine *Machine
}
func asFeatureIntf(m *Machine, f *shared.Feature) intf.Feature {
return &Feature{
Feature: f,
Machine: m,
}
}
// SetSeqID implements intf.Feature.SetSeqID
func (f *Feature) SetSeqID(seqID int64) intf.Feature {
f.Machine.AttachFeatureToFormation(f.Feature, seqID)
return f
}
// SetWin implements intf.Feature.SetWin
func (f *Feature) SetWin(win int64) intf.Feature {
f.Feature.Win = win
return f
}
// SetLifetime implements intf.Feature.SetLifetime
func (f *Feature) SetLifetime(lifetime int64) intf.Feature {
f.Feature.Lifetime = lifetime
return f
}
// SetVisiable implements intf.Feature.SetVisiable
func (f *Feature) SetVisiable(visiable bool) intf.Feature {
f.Feature.Visiable = visiable
return f
}
// SetImageable implements intf.Feature.SetImageable
func (f *Feature) SetImageable(imageable bool) intf.Feature {
f.Feature.Imageable = imageable
return f
}