blob: 82bcb6553659ebc46c56873b3a7638c0bba3f47a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
FF::Sys.new("Scatter", priority: 40) do
FF::Cmp::SingletonRandomAIPick[0].entities.each do |entity|
sep = entity.components[FF::Cmp::BoidsSeparation][0]
# I did times 3 becase then it will always be greater then
# what it was before and that means it will force a
# seperation to happen even if the default value is
# changed and you forget to update this number here
sep.distance = Factory::SampleEnemy.defaults[:boids_seperation_distance] * 3
#puts 'remove align/cohesion/follow'.upcase
alignment_mgr = entity.components[FF::Cmp::BoidsAlignment]
cohesion_mgr = entity.components[FF::Cmp::BoidsCohesion]
follow_mgr = entity.components[FF::Cmp::Follow]
unless follow_mgr.nil? || follow_mgr.empty?
follow_mgr[0].delete
end
unless alignment_mgr.nil? || alignment_mgr.empty?
alignment_mgr[0].delete
end
unless cohesion_mgr.nil? || cohesion_mgr.empty?
cohesion_mgr[0].delete
end
end
end
|