v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
64
source/core/StarNetElementBasicFields.cpp
Normal file
64
source/core/StarNetElementBasicFields.cpp
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#include "StarNetElementBasicFields.hpp"
|
||||
|
||||
namespace Star {
|
||||
|
||||
void NetElementSize::readData(DataStream& ds, size_t& v) const {
|
||||
uint64_t s = ds.readVlqU();
|
||||
if (s == 0)
|
||||
v = NPos;
|
||||
else
|
||||
v = s - 1;
|
||||
}
|
||||
|
||||
void NetElementSize::writeData(DataStream& ds, size_t const& v) const {
|
||||
if (v == NPos)
|
||||
ds.writeVlqU(0);
|
||||
else
|
||||
ds.writeVlqU(v + 1);
|
||||
}
|
||||
|
||||
void NetElementBool::readData(DataStream& ds, bool& v) const {
|
||||
ds.read(v);
|
||||
}
|
||||
|
||||
void NetElementBool::writeData(DataStream& ds, bool const& v) const {
|
||||
ds.write(v);
|
||||
}
|
||||
|
||||
void NetElementEvent::trigger() {
|
||||
set(get() + 1);
|
||||
}
|
||||
|
||||
uint64_t NetElementEvent::pullOccurrences() {
|
||||
uint64_t occurrences = get();
|
||||
starAssert(occurrences >= m_pulledOccurrences);
|
||||
uint64_t unchecked = occurrences - m_pulledOccurrences;
|
||||
m_pulledOccurrences = occurrences;
|
||||
return unchecked;
|
||||
}
|
||||
|
||||
bool NetElementEvent::pullOccurred() {
|
||||
return pullOccurrences() != 0;
|
||||
}
|
||||
|
||||
void NetElementEvent::ignoreOccurrences() {
|
||||
m_pulledOccurrences = get();
|
||||
}
|
||||
|
||||
void NetElementEvent::setIgnoreOccurrencesOnNetLoad(bool ignoreOccurrencesOnNetLoad) {
|
||||
m_ignoreOccurrencesOnNetLoad = ignoreOccurrencesOnNetLoad;
|
||||
}
|
||||
|
||||
void NetElementEvent::netLoad(DataStream& ds) {
|
||||
NetElementUInt::netLoad(ds);
|
||||
if (m_ignoreOccurrencesOnNetLoad)
|
||||
ignoreOccurrences();
|
||||
}
|
||||
|
||||
void NetElementEvent::updated() {
|
||||
NetElementBasicField::updated();
|
||||
if (m_pulledOccurrences > get())
|
||||
m_pulledOccurrences = get();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue