sc2ai 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/data/sc2ai/protocol/data.proto +2 -2
  3. data/data/sc2ai/protocol/debug.proto +1 -1
  4. data/data/sc2ai/protocol/raw.proto +6 -6
  5. data/data/sc2ai/protocol/sc2api.proto +1 -1
  6. data/data/sc2ai/protocol/ui.proto +1 -1
  7. data/{lib/docker_build → docker_build}/Dockerfile.ruby +2 -2
  8. data/lib/sc2ai/cli/ladderzip.rb +1 -1
  9. data/lib/sc2ai/local_play/client.rb +1 -1
  10. data/lib/sc2ai/local_play/match.rb +1 -0
  11. data/lib/sc2ai/overrides/async/process/child.rb +2 -1
  12. data/lib/sc2ai/paths.rb +0 -1
  13. data/lib/sc2ai/player/debug.rb +3 -3
  14. data/lib/sc2ai/player.rb +9 -0
  15. data/lib/sc2ai/protocol/common_pb.rb +460 -105
  16. data/lib/sc2ai/protocol/data_pb.rb +833 -482
  17. data/lib/sc2ai/protocol/debug_pb.rb +1112 -401
  18. data/lib/sc2ai/protocol/error_pb.rb +430 -862
  19. data/lib/sc2ai/protocol/extensions/action.rb +1 -1
  20. data/lib/sc2ai/protocol/extensions/color.rb +1 -1
  21. data/lib/sc2ai/protocol/extensions/point.rb +1 -1
  22. data/lib/sc2ai/protocol/extensions/point_2_d.rb +1 -1
  23. data/lib/sc2ai/protocol/extensions/point_distance.rb +4 -4
  24. data/lib/sc2ai/protocol/extensions/position.rb +20 -0
  25. data/lib/sc2ai/protocol/extensions/power_source.rb +1 -1
  26. data/lib/sc2ai/protocol/extensions/unit.rb +1 -1
  27. data/lib/sc2ai/protocol/extensions/unit_type_data.rb +1 -1
  28. data/lib/sc2ai/protocol/query_pb.rb +558 -88
  29. data/lib/sc2ai/protocol/raw_pb.rb +1829 -1156
  30. data/lib/sc2ai/protocol/sc2api_pb.rb +5233 -1463
  31. data/lib/sc2ai/protocol/score_pb.rb +444 -103
  32. data/lib/sc2ai/protocol/spatial_pb.rb +935 -145
  33. data/lib/sc2ai/protocol/ui_pb.rb +1432 -435
  34. data/lib/sc2ai/version.rb +1 -1
  35. data/lib/templates/new/api/data.proto +2 -2
  36. data/lib/templates/new/api/debug.proto +1 -1
  37. data/lib/templates/new/api/raw.proto +6 -6
  38. data/lib/templates/new/api/sc2api.proto +1 -1
  39. data/lib/templates/new/api/ui.proto +1 -1
  40. data/lib/templates/new/run_example_match.rb.tt +1 -1
  41. data/sig/sc2ai.rbs +1361 -23
  42. metadata +7 -7
  43. /data/{lib/docker_build → docker_build}/docker-compose-base-image.yml +0 -0
  44. /data/{lib/docker_build → docker_build}/docker-compose-ladderzip.yml +0 -0
@@ -57,4 +57,4 @@ module Api
57
57
  end
58
58
  end
59
59
 
60
- Api::Action.include Api::ActionExtension
60
+ Api::Action.prepend Api::ActionExtension
@@ -16,5 +16,5 @@ module Api
16
16
  end
17
17
  end
18
18
  end
19
- Api::Color.include Api::ColorExtension
19
+ Api::Color.prepend Api::ColorExtension
20
20
  Api::Color.extend Api::ColorExtension::ClassMethods
@@ -33,5 +33,5 @@ module Api
33
33
  end
34
34
  end
35
35
  end
36
- Api::Point.include Api::PointExtension
36
+ Api::Point.prepend Api::PointExtension
37
37
  Api::Point.extend Api::PointExtension::ClassMethods
@@ -37,5 +37,5 @@ module Api
37
37
  end
38
38
  end
39
39
  end
40
- Api::Point2D.include Api::Point2DExtension
40
+ Api::Point2D.prepend Api::Point2DExtension
41
41
  Api::Point2D.extend Api::Point2DExtension::ClassMethods
@@ -5,7 +5,7 @@ module Api
5
5
  module PointDistanceExtension
6
6
  end
7
7
  end
8
- Api::Point.include Api::PointDistanceExtension
9
- Api::Point2D.include Api::PointDistanceExtension
10
- Api::PointI.include Api::PointDistanceExtension
11
- Api::Size2DI.include Api::PointDistanceExtension
8
+ Api::Point.prepend Api::PointDistanceExtension
9
+ Api::Point2D.prepend Api::PointDistanceExtension
10
+ Api::PointI.prepend Api::PointDistanceExtension
11
+ Api::Size2DI.prepend Api::PointDistanceExtension
@@ -203,6 +203,26 @@ module Sc2
203
203
  def away_from(other, distance)
204
204
  towards(other, -distance)
205
205
  end
206
+
207
+ # Conversion ---
208
+
209
+ # Returns [x,y] array tuple
210
+ # @return [Array[Float,Float]]
211
+ def to_axy
212
+ [x, y]
213
+ end
214
+
215
+ # Returns [x,y] array tuple where floats are cast to ints
216
+ # Useful when trying to find the tile which something is on
217
+ # @return [Array<Integer, Integer>
218
+ def to_atile
219
+ [x.to_i, y.to_i]
220
+ end
221
+
222
+ # @private
223
+ def to_s
224
+ "#<#{self.class} x=#{x} y=#{y}>"
225
+ end
206
226
  end
207
227
  end
208
228
 
@@ -18,5 +18,5 @@ module Api
18
18
  end
19
19
  end
20
20
  end
21
- Api::PowerSource.include Api::PowerSourceExtension
21
+ Api::PowerSource.prepend Api::PowerSourceExtension
22
22
  Api::PowerSource.extend Api::PowerSourceExtension::ClassMethods
@@ -616,4 +616,4 @@ module Api
616
616
  end
617
617
  end
618
618
  end
619
- Api::Unit.include Api::UnitExtension
619
+ Api::Unit.prepend Api::UnitExtension
@@ -25,4 +25,4 @@ module Api
25
25
  attr_accessor :placement_length
26
26
  end
27
27
  end
28
- Api::UnitTypeData.include Api::UnitTypeDataExtension
28
+ Api::UnitTypeData.prepend Api::UnitTypeDataExtension