LosaDev source snapshot 2019
This commit is contained in:
commit
c198676e97
20588 files changed
+8812878
No files matched your search
@@ -0,0 +1,44 @@
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "FSM.h"
|
||||
|
||||
FSM::FSM()
|
||||
{
|
||||
InitState();
|
||||
}
|
||||
|
||||
void FSM::InitState()
|
||||
{
|
||||
m_iState = MAGIC_TOKEN_FSM;
|
||||
}
|
||||
|
||||
bool FSM::IsFirst()
|
||||
{
|
||||
if( MAGIC_TOKEN_FSM == m_iState )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int FSM::GetState()
|
||||
{
|
||||
return m_iState;
|
||||
}
|
||||
|
||||
void FSM::SetState(int iState)
|
||||
{
|
||||
m_iState = iState;
|
||||
}
|
||||
|
||||
void FSM::UpdateState()
|
||||
{
|
||||
if( !IsFirst() )
|
||||
{
|
||||
m_iState = ( (~m_iState) + 5371 ) * 31;
|
||||
m_iState = m_iState ^ ( m_iState >> 16);
|
||||
|
||||
if( m_iState < 0 )
|
||||
m_iState = -m_iState;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user