class DiamondLang::Helpers::Entity
Attributes
data[RW]
id[R]
Public Class Methods
new(id, data={})
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 16 def initialize(id, data={}) @id = id data[:Passengers] ||= [] @data = data end
Public Instance Methods
passengers()
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 21 def passengers data[:Passengers] end
passengers=(v)
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 24 def passengers=(v) data[:Passengers]=(v) end
selector(args={})
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 39 def selector(args={}) args[:type] = @id TargetSelector.new(:e, args) end
summon(coords)
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 34 def summon(coords) data = @data.dup data[:Passengers] = data[:Passengers].map{ |passenger| passenger.to_h } Command.new 'summon'.freeze, @id, coords.to_s, data.to_json end
to_h()
click to toggle source
# File lib/diamond-lang/helpers/entity.rb, line 27 def to_h data = @data.dup data[:id] = @id data[:Passengers] = data[:Passengers].map{ |passenger| passenger.to_h } data.delete :Passengers if data[:Passengers].empty? data end