extend_map_castle.go 1018 B

123456789101112131415161718192021222324252627282930313233
  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. // 获取攻城点坐标点
  18. func (p *MapCastleRow) GetSiegePoints(x, y int32) types.Points {
  19. return p.getPoints(x, y, p.SiegeOddOffsets, p.SiegeEvenOffsets, false)
  20. }
  21. func (p *MapCastleRow) getPoints(x, y int32, odds, evens types.Points, includeCenter bool) types.Points {
  22. points := GetOffsetPoints(x, y, odds, evens)
  23. if includeCenter {
  24. points.Add(x, y)
  25. }
  26. return points
  27. }