Example #1
0
void NetSynchronizeState::onMessage(Message &message)
{
    if (evaluate())
        return;
    if (!message.hasInt(FPNetMessage::TYPE))
        return;
    int msgType = message.getInt(FPNetMessage::TYPE);
    if ((msgType == FPNetMessage::kGameSync)
        || (msgType == FPNetMessage::kGameAck)){
        if (!message.hasInt("SynID"))
            return;
        int synID = message.getInt("SynID");
        if (synID == m_synID) {
            if (msgType == FPNetMessage::kGameSync) {
                if (!m_ackSent) {
                    sendAckMessage();
                    m_ackSent = true;
                }
                evaluateStateMachine();
            }
            else {
                m_synchronized = true;
                evaluateStateMachine();
            }
        }
    }
}
Example #2
0
void NetSynchronizeState::cycle()
{
    if (m_cyclesCounter++ == m_cyclesTimeout) {
        m_failed = true;
        evaluateStateMachine();
    }
    sendSyncMessage();
}
void GPSReader::fetchPositionData(Stream &port) {
  currentFieldReading = 0;
  currentFieldReadingPos = 0;
  state = WaitForStart;
  
  while ( state != DataOK )
    evaluateStateMachine(port);
}
Example #4
0
void NetMatchPlayingState::action(Widget *sender, int actionType,
                                  event_manager::GameControlEvent *event)
{
    switch (actionType) {
        case NetworkGameWidget::NETWORK_FAILURE:
            m_networkFailure = true;
            evaluateStateMachine();
            break;
        default:
            MatchPlayingState::action(sender, actionType, event);
            break;
    }
}