zworld/engine/renderapi/command/recorder.go
2024-01-14 22:56:06 +08:00

27 lines
380 B
Go

package command
type Recorder interface {
Record(CommandFn)
Apply(Buffer)
}
type recorder struct {
parts []CommandFn
}
func NewRecorder() Recorder {
return &recorder{
parts: make([]CommandFn, 0, 64),
}
}
func (r recorder) Apply(cmd Buffer) {
for _, part := range r.parts {
part(cmd)
}
}
func (r *recorder) Record(cmd CommandFn) {
r.parts = append(r.parts, cmd)
}