25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
550B

  1. package template
  2. import "gopkg.in/Knetic/govaluate.v3"
  3. type Position struct {
  4. X *Value
  5. Y *Value
  6. Rotation *Value
  7. }
  8. func (p Position) evaluate(
  9. params govaluate.MapParameters,
  10. funcs map[string]govaluate.ExpressionFunction,
  11. ) (x, y, rotation float64, err error) {
  12. x, err = p.X.Evaluate(params, funcs)
  13. if err != nil {
  14. return 0, 0, 0, err
  15. }
  16. y, err = p.Y.Evaluate(params, funcs)
  17. if err != nil {
  18. return 0, 0, 0, err
  19. }
  20. rotation, err = p.Rotation.Evaluate(params, funcs)
  21. if err != nil {
  22. return 0, 0, 0, err
  23. }
  24. return
  25. }