Esempio n. 1
0
cGameStateObject* cGameStateSonar::update(double timeDifference){
  m_event = EVENT_GO_NO_WHERE;

  //loads mouse position into global variable.
  POINT pt;
  POINT *ppt = &pt;
  ::GetCursorPos(ppt);
  RECT rct;
  ::GetWindowRect(g_hWnd, &rct);
  g_Global.g_mouse.x = pt.x - rct.left;
  g_Global.g_mouse.y = pt.y + rct.top;
  
  CAudioManager *pAudio = CAudioManager::Instance();

  static double timeDiffTotal = 0;
  timeDiffTotal += timeDifference;
  if(timeDiffTotal > .1){
    timeDiffTotal = 0;
    
    pAudio->Update(0.1);

    if(::GetActiveWindow() == g_hWnd && keyDown('A') == true){
      pAudio->PlayStreamClip(SOUND_BIO1);
    }
    if(::GetActiveWindow() == g_hWnd && keyDown('2') == true){
      pAudio->PlayStreamClip(SOUND_BIO2);
    }
    if(::GetActiveWindow() == g_hWnd && keyDown('3') == true){
      pAudio->PlayStreamClip(SOUND_BIO3);
    }
    if(::GetActiveWindow() == g_hWnd && keyDown('4') == true){
      pAudio->PlayStreamClip(SOUND_BIO4);
    }
    if(::GetActiveWindow() == g_hWnd && keyDown('5') == true){
      pAudio->PlayStreamClip(SOUND_BIO5);
    }
   

    //process short cut buttons
    if(g_Global.g_mouse.y > 10 && g_Global.g_mouse.y < 130 
      && g_Global.g_bLeftMouseDown == true && ::GetActiveWindow() == g_hWnd){
      if(g_Global.g_mouse.x > 120 && g_Global.g_mouse.x < 220)
        m_event = EVENT_GO_RADAR;
      else if(g_Global.g_mouse.x > 230 && g_Global.g_mouse.x < 330)
        m_event = EVENT_GO_CONTROL;
      else if(g_Global.g_mouse.x > 694 && g_Global.g_mouse.x < 794)
        m_event = EVENT_GO_FIRECONTROL;
      else if(g_Global.g_mouse.x > 804 && g_Global.g_mouse.x < 904)
        m_event = EVENT_GO_STATUS;
      else if(g_Global.g_mouse.x > 914 && g_Global.g_mouse.x < 1014)
        m_event = EVENT_GO_CHART;
    }      
  }

  for(unsigned int i=0; i< m_TE.size(); i++){
    if (m_TE[i].event == m_event){
      return m_TE[i].p_gso;
    }
  }
  return 0;
}