diff options
Diffstat (limited to 'app/systems')
| -rw-r--r-- | app/systems/death.rb | 2 | ||||
| -rw-r--r-- | app/systems/render.rb | 3 | ||||
| -rw-r--r-- | app/systems/start_game.rb | 28 | ||||
| -rw-r--r-- | app/systems/ui/score.rb | 7 |
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 |
