Added AsloEngine 0.9.0 to Repository
This commit is contained in:
parent
d017dd84b3
commit
881e6c70f2
60 changed files with 2648 additions and 0 deletions
89
asloengine/builtin/framerate_counter.cpp
Executable file
89
asloengine/builtin/framerate_counter.cpp
Executable file
|
|
@ -0,0 +1,89 @@
|
|||
#include "headers/framerate_counter.hpp"
|
||||
|
||||
namespace asloengine
|
||||
{
|
||||
|
||||
FramerateCounter::FramerateCounter(sf::String _name, uint _update_interval)
|
||||
: GameObject(_name)
|
||||
{
|
||||
|
||||
set_update_interval(_update_interval);
|
||||
|
||||
prefix = "";
|
||||
postfix = "";
|
||||
|
||||
}
|
||||
|
||||
FramerateCounter::FramerateCounter(sf::String _name, std::shared_ptr<sf::Text> _target_text, uint _update_interval)
|
||||
: GameObject(_name), target_text(_target_text)
|
||||
{
|
||||
|
||||
set_update_interval(_update_interval);
|
||||
|
||||
prefix = "";
|
||||
postfix = "";
|
||||
|
||||
}
|
||||
|
||||
FramerateCounter::~FramerateCounter()
|
||||
{
|
||||
|
||||
if (values)
|
||||
{
|
||||
delete[] values;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void FramerateCounter::set_update_interval(uint _update_interval)
|
||||
{
|
||||
|
||||
if (_update_interval < 1)
|
||||
{
|
||||
_update_interval = 1;
|
||||
}
|
||||
|
||||
update_interval = _update_interval;
|
||||
|
||||
values = new float[_update_interval];
|
||||
for (uint i; i < _update_interval; i++)
|
||||
{
|
||||
values[i] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
uint FramerateCounter::get_update_interval() const
|
||||
{
|
||||
|
||||
return update_interval;
|
||||
|
||||
}
|
||||
|
||||
void FramerateCounter::on_start()
|
||||
{
|
||||
|
||||
counter = 0;
|
||||
|
||||
}
|
||||
|
||||
void FramerateCounter::on_update(float delta_time)
|
||||
{
|
||||
|
||||
if (counter == update_interval)
|
||||
{
|
||||
counter = 0;
|
||||
sf::String output_string = prefix + fmt::format("{:.1f}", (calculate_average(values, update_interval))) + postfix;
|
||||
if (target_text)
|
||||
{
|
||||
target_text->setString(output_string);
|
||||
}
|
||||
signal_on_counter_updated(output_string);
|
||||
}
|
||||
|
||||
values[counter] = (1 / delta_time);
|
||||
counter++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue