50 lines
1.1 KiB
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
|
|
}
|