Beispiel #1
0
void Stats::reset()
{
    //assert( _timer_stack.size() == 0 );
    _timer_stack.clear();

    // remove any timers or counters that were not used since the last reset.

    // iterate over timers in reverse so that children are removed before parents
    for (int i = _records[TIMER].size()-1; i >= 0; i--)
    {
        Record& timer = _records[TIMER][i];
        if (timer.touches_since_last_reset == 0)
        {
            removeTimer(i);
        }
        else
        {
            timer.value = 0;
            timer.touches_since_last_reset = 0;
        }
    }

    for (int i = _records[COUNTER].size()-1; i >= 0; i--)
    {
        Record& counter = _records[COUNTER][i];
        if (counter.touches_since_last_reset == 0)
        {
            removeCounter(i);
        }
        else
        {
            counter.value = 0;
            counter.touches_since_last_reset = 0;
        }
    }

    _data_changed = true;
}
Beispiel #2
0
int Counters::removeCounter(int _power, int _toughness)
{
    return removeCounter("", _power, _toughness);
}