示例#1
0
文件: wsInput.cpp 项目: h406/project
//==============================================================================
// WsInput
//------------------------------------------------------------------------------
void WsInput::init(Input* input) {
  UnusedParam(input);

  _instance = this;
  _isend = false;
  memset(_sendData,0,sizeof(_sendData));
  memset(_press,0,sizeof(_press));
  memset(_trigger,0,sizeof(_trigger));
  memset(_release,0,sizeof(_release));
  memset(_repeat,0,sizeof(_repeat));
  memset(_recvData,0,sizeof(_recvData));
  memset(_cavRot,0,sizeof(_cavRot));
  memset(_cavCnt,0,sizeof(_cavCnt));

  thread tmp = thread(WsInput::wsConnect,this);
  _thread.swap(tmp);
}
示例#2
0
LOCALPROC SubTickNotify(int SubTick)
{
#if 0
	dbglog_writeCStr("ending sub tick ");
	dbglog_writeNum(SubTick);
	dbglog_writeReturn();
#endif
#if EmASC
	ASC_SubTick(SubTick);
#else
#if MySoundEnabled && (CurEmMd != kEmMd_PB100)
	MacSound_SubTick(SubTick);
#else
	UnusedParam(SubTick);
#endif
#endif
}
示例#3
0
文件: wsInput.cpp 项目: h406/project
//==============================================================================
// wsCallBackData
//------------------------------------------------------------------------------
int WsInput::wsCallBackData(
  libwebsocket_context *context,
  libwebsocket *wsi,
  libwebsocket_callback_reasons reason,
  void *user,
  void *in,
  size_t len) {
  
  UnusedParam(context);
  UnusedParam(len);

  switch(reason) {
  // 新規接続
  case LWS_CALLBACK_ESTABLISHED:
  {
  }
  break;
  // クローズ
  case LWS_CALLBACK_PROTOCOL_DESTROY:
  {
  }
  break;
  // 送信処理d
  case LWS_CALLBACK_SERVER_WRITEABLE:
  {
  }
  break;
  // 受信処理
  case LWS_CALLBACK_RECEIVE:
  {
    _instance->_mutex.lock();
#ifdef _IS_TEXT_
    const char* test = (const char*)in;
    int playerID = test[0] - '0';
    float b = atof(&test[2]);
    switch(test[1])
    {
    case 'u':
      _instance->_recvData[playerID].isPush = false;
      break;
    case 'd':
      _instance->_recvData[playerID].isPush = true;
      break;
    case 'x':
      _instance->_recvData[playerID].rot.x = b;
      break;
    case 'y':
      _instance->_recvData[playerID].rot.y = b;
      break;
    case 'z':
      _instance->_recvData[playerID].rot.z = b;
      break;
    }

#else
    RecvData* data = (RecvData*)in;
    memcpy(&_instance->_recvData[data->playerID],data,sizeof(RecvData));
#endif
    _instance->_mutex.unlock();
  }
  break;
  }

  return 0;

}