summaryrefslogtreecommitdiffhomepage
path: root/helpers/01_component.rb
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/01_component.rb')
-rw-r--r--helpers/01_component.rb59
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 }