diff options
Diffstat (limited to 'helpers/01_component.rb')
| -rw-r--r-- | helpers/01_component.rb | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/helpers/01_component.rb b/helpers/01_component.rb index 580b5d8..f68a233 100644 --- a/helpers/01_component.rb +++ b/helpers/01_component.rb @@ -1,64 +1,7 @@ class FelFlame class Helper - class BaseComponent - class <<self - def signature - @signature ||= FelFlame::Signature.create_new_signature\ - FelFlame::Helper::ComponentHelper.underscore(ancestors[0].name.split('::').last) - end - - def data - @data ||= [] - end - - def new(**opts) - new_component = super - - # Generate ID - new_id = self.data.find_index { |i| i.nil? } - new_id = self.data.size if new_id.nil? - new_component.id = new_id - - # Fill params - opts.each do |key, value| - new_component.send "#{key}=", value - end - - # Save Component - data[new_id] = new_component - end - - #def add(entity_id) - # data[entity_id] = new - #end - - #def delete(entity_id) - # data.delete entity_id - #end - end - - def set(**opts) - opts.each do |key, value| - send "#{key}=", value - end - end - - #def create_data(name, default = nil) - # #TODO: fill this out - #end - - def get #TODO: maybe optimize removing the @ symbol - instance_variables.each_with_object({}) do |key, final| - final[key.to_s.delete_prefix('@').to_sym] = instance_variable_get(key) - end - end - - def dump #TODO: Needs to get id and stuff? - # should return a json or hash of all data in this component - end - end - class Level < FelFlame::Helper::BaseComponent + class Level < FelFlame::Helper::ComponentManagerTemplate class <<self def data @data ||= { add: [], remove: [], grid: FelFlame::Helper::Array2D.new } |
