summaryrefslogtreecommitdiffhomepage
path: root/app/systems
diff options
context:
space:
mode:
Diffstat (limited to 'app/systems')
-rw-r--r--app/systems/death.rb2
-rw-r--r--app/systems/render.rb3
-rw-r--r--app/systems/start_game.rb28
-rw-r--r--app/systems/ui/score.rb7
4 files changed, 38 insertions, 2 deletions
diff --git a/app/systems/death.rb b/app/systems/death.rb
index edeb493..ae02dec 100644
--- a/app/systems/death.rb
+++ b/app/systems/death.rb
@@ -5,6 +5,8 @@ FF::Scn::BoidRules.add(
hp.entities[0].components.each do |manager, manager_array|
if manager.equal?(FF::Cmp::SingletonPlayer)
FF::Sys::EndGame.call
+ elsif manager.equal?(FF::Cmp::SingletonEnemyTeam)
+ FF::Sys::Score.call
end
next if manager.equal?(FF::Cmp::Hp)
manager_array.reverse_each do |component|
diff --git a/app/systems/render.rb b/app/systems/render.rb
index 4bd117c..a067613 100644
--- a/app/systems/render.rb
+++ b/app/systems/render.rb
@@ -3,5 +3,8 @@ FF::Scn::Render.add(
FF::Cmp::Sprite.each do |sprite|
$gtk.args.outputs.sprites << sprite.props
end
+ FF::Cmp::Label.each do |label|
+ $gtk.args.outputs.labels << label.props
+ end
end
)
diff --git a/app/systems/start_game.rb b/app/systems/start_game.rb
index a936c21..e2e5501 100644
--- a/app/systems/start_game.rb
+++ b/app/systems/start_game.rb
@@ -57,14 +57,38 @@ FF::Sys.new('StartGame', priority: 50 ) do
FF::Cmp::Hitcircle.new(r: 16),
)
-
+ score_label_shadow = FF::Cmp::Label.new
+ score_label_shadow.props.merge!({
+ x: 50,
+ y: 667,
+ text: '0',
+ size_enum: 8,
+ r: 100,
+ g: 100,
+ b: 100,
+ font: 'fonts/kenvector_future_thin.ttf',
+ })
+ score_label = FF::Cmp::Label.new
+ score_label.props.merge!({
+ x: 50,
+ y: 670,
+ text: '0',
+ size_enum: 8,
+ font: 'fonts/kenvector_future_thin.ttf',
+ })
+ score = FF::Cmp::SingletonScore[0]
+ score.score = 0
+ FF::Ent.new(
+ score_label,
+ score_label_shadow,
+ score,
+ )
FF::Stg.add(
FF::Scn::BoidRules,
FF::Scn::Camera,
FF::Scn::Cleanup,
)
-
FF::Scn::Debug.add(FF::Sys::DebugRenderVectorArrow)
@pause = false
#FF::Stg.remove FF::Scn::BoidRules
diff --git a/app/systems/ui/score.rb b/app/systems/ui/score.rb
new file mode 100644
index 0000000..c761561
--- /dev/null
+++ b/app/systems/ui/score.rb
@@ -0,0 +1,7 @@
+FF::Sys.new("Score", priority: 50) do
+ score = FF::Cmp::SingletonScore[0]
+ score.score += 100
+ score.entities[0].components[FF::Cmp::Label].each do |label|
+ label.props[:text] = score.score.to_s
+ end
+end