summaryrefslogtreecommitdiffhomepage
path: root/app/systems/death.rb
blob: d9cd792031241ce47f4acb73ed7e86587332c3a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
FF::Scn::BoidRules.add(
  FF::Sys.new("Death", priority: 200) do
    FF::Cmp::Hp.each do |hp|
      if hp.health <= 0
        component_hash = hp.entities[0].components.clone
        component_hash.each_pair do |manager, manager_array|
          next if manager.equal?(FF::Cmp::SingletonCamera)
          next if manager.equal?(FF::Cmp::Hp)
          next if manager.equal?(FF::Cmp::DebugVectorArrow)
          manager_array.each do |component|
            # unless singleton
            component.delete
          end
        end
        hp.entities[0].delete
        hp.delete
      end
    end
  end
)