extend_map_build.go 988 B

1234567891011121314151617181920212223242526272829303132
  1. package data
  2. import (
  3. "f1-game/internal/types"
  4. )
  5. func (p *MapBuildRow) GetCoverOffsetPoints(x, y int32, includeCenter bool) types.Points {
  6. return p.getPoints(x, y, p.CoverOddOffsets, p.CoverEvenOffsets, includeCenter)
  7. }
  8. // 获取影响坐标点
  9. func (p *MapBuildRow) GetAffectOffsetPoints(x, y int32, includeCenter bool) types.Points {
  10. return p.getPoints(x, y, p.AffectOddOffsets, p.AffectEvenOffsets, includeCenter)
  11. }
  12. // 获取影响包围坐标点
  13. func (p *MapBuildRow) GetAffectEdgePoints(x, y int32) types.Points {
  14. return p.getPoints(x, y, p.AffectEdgeOddOffsets, p.AffectEdgeEvenOffsets, false)
  15. }
  16. // 获取攻城点坐标点
  17. func (p *MapBuildRow) GetSiegePoints(x, y int32) types.Points {
  18. return p.getPoints(x, y, p.SiegeOddOffsets, p.SiegeEvenOffsets, false)
  19. }
  20. func (p *MapBuildRow) getPoints(x, y int32, odds, evens types.Points, includeCenter bool) types.Points {
  21. points := GetOffsetPoints(x, y, odds, evens)
  22. if includeCenter {
  23. points.Add(x, y)
  24. }
  25. return points
  26. }