extend_map_castle.go 850 B

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