Files
vRp.CD2g_test/component/components/moving2d_options.go
T
2023-06-03 16:22:03 +08:00

35 lines
956 B
Go

package components
import (
"errors"
"time"
)
type Moving2DOption func(moving *Moving2D)
// WithMoving2DTimeUnit 通过特定时间单位创建
// - 默认单位为1毫秒,最小单位也为1毫秒
func WithMoving2DTimeUnit(duration time.Duration) Moving2DOption {
return func(moving *Moving2D) {
if duration < time.Millisecond {
panic(errors.New("time unit milliseconds minimum"))
}
moving.timeUnit = float64(duration)
}
}
// WithMoving2DIdleWaitTime 通过特定的空闲等待时间创建
// - 默认情况下在没有新的移动计划时将限制 100毫秒 + 移动间隔事件(默认100毫秒)
func WithMoving2DIdleWaitTime(duration time.Duration) Moving2DOption {
return func(moving *Moving2D) {
moving.idle = duration
}
}
// WithMoving2DInterval 通过特定的移动间隔时间创建
func WithMoving2DInterval(duration time.Duration) Moving2DOption {
return func(moving *Moving2D) {
moving.interval = duration
}
}