void KeyControlledTransitionBarbarian_cl::InitFunction()
{

#ifdef SUPPORTS_KEYBOARD

  // setup necessary key settings
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, V_KEYBOARD, CT_KB_UP);
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  V_KEYBOARD, CT_KB_LEFT);
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, V_KEYBOARD, CT_KB_RIGHT);

#ifdef WASD_CONTROL
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, V_KEYBOARD, CT_KB_W);
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  V_KEYBOARD, CT_KB_A);
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, V_KEYBOARD, CT_KB_D);
#endif

  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, V_KEYBOARD, CT_KB_LSHIFT);
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, V_KEYBOARD, CT_KB_RSHIFT);

#endif

  
#if defined(_VISION_XENON) || (defined(_VISION_WINRT) && !defined(_VISION_METRO) && !defined(_VISION_APOLLO))

  // setup necessary key settings
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));

  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, V_XENON_PAD(0), CT_PAD_LEFT_SHOULDER, VInputOptions::DeadZone(0.4f));
  
#elif defined(_VISION_PS3)

  // setup necessary key settings
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));

  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, V_PS3_PAD(0), CT_PAD_LEFT_SHOULDER, VInputOptions::DeadZone(0.4f));

#elif defined(_VISION_PSP2)

  // setup necessary key settings
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));

  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, V_PSP2_PAD(0), CT_PAD_LEFT_SHOULDER, VInputOptions::DeadZone(0.4f));

#elif defined(_VISION_WIIU)

  // setup necessary key settings
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_MOVE_FORWARD, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_LEFT,  VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_ROTATE_RIGHT, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));

  VAppImpl::GetInputMap()->MapTrigger(CHARACTER_RUN, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_SHOULDER, VInputOptions::DeadZone(0.4f));

#endif


  m_bInputAllowed = true;

  TransitionBarbarian_cl::InitFunction();
}
VPlayableCharacterComponent::VPlayableCharacterComponent()
  : m_bNoPhysicsWarningShown(false)
  , m_bIsPaused(false)
#if defined(SUPPORTS_MULTITOUCH)
  , m_pVirtualThumbStick(NULL)
#endif
{
  m_pInputMap = new VInputMap(INPUTMAP_CHARACTER_LAST_ELEMENT + 1, INPUTMAP_CHARACTER_ALTERNATIVES);

#if defined (SUPPORTS_KEYBOARD)
  // Setup controls for playable character
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  V_KEYBOARD, CT_KB_W);
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, V_KEYBOARD, CT_KB_S);
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      V_KEYBOARD, CT_KB_LSHIFT);
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   V_KEYBOARD, CT_KB_A);
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  V_KEYBOARD, CT_KB_D);
#endif

#if defined (WIN32)

#elif defined (_VISION_XENON)
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_DOWN,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  V_XENON_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      V_XENON_PAD(0), CT_PAD_LEFT_THUMB);

#elif defined (_VISION_PS3)
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_DOWN,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  V_PS3_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      V_PS3_PAD(0), CT_PAD_LEFT_THUMB);

#elif defined(_VISION_PSP2)
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_UP,   VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_DOWN, VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      V_PSP2_PAD(0), CT_PAD_SQUARE);
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_LEFT, VInputOptions::DeadZone(0.6f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  V_PSP2_PAD(0), CT_PAD_LEFT_THUMB_STICK_RIGHT,VInputOptions::DeadZone(0.6f));

#elif defined(_VISION_WIIU)
  // DRC mapping
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_DOWN,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.4f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_LEFT_THUMB);

  // Pro controller mapping
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  VInputManagerWiiU::GetRemote(0), CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.1f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, VInputManagerWiiU::GetRemote(0), CT_PAD_LEFT_THUMB_STICK_DOWN,  VInputOptions::DeadZone(0.1f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   VInputManagerWiiU::GetRemote(0), CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.1f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  VInputManagerWiiU::GetRemote(0), CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.1f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_RUN,      VInputManagerWiiU::GetRemote(0), CT_PAD_LEFT_THUMB);

#elif defined(SUPPORTS_MULTITOUCH)

  // Virtual thumb stick
  m_pVirtualThumbStick = new VVirtualThumbStick();

  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_FORWARD,  *m_pVirtualThumbStick, CT_PAD_LEFT_THUMB_STICK_UP,    VInputOptions::DeadZone(0.2f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_WALK_BACKWARD, *m_pVirtualThumbStick, CT_PAD_LEFT_THUMB_STICK_DOWN,  VInputOptions::DeadZone(0.2f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_LEFT,   *m_pVirtualThumbStick, CT_PAD_LEFT_THUMB_STICK_LEFT,  VInputOptions::DeadZone(0.2f));
  m_pInputMap->MapTrigger(INPUTMAP_CHARACTER_ROTATE_RIGHT,  *m_pVirtualThumbStick, CT_PAD_LEFT_THUMB_STICK_RIGHT, VInputOptions::DeadZone(0.2f));

#endif

  Vision::Callbacks.OnVideoChanged += this;
}
Пример #3
0
    = new VTouchArea(VInputManager::GetTouchScreen());
#endif

  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, pTouchArea, CT_TOUCH_ANY, VInputOptions::Once());
#endif

#if defined(_VISION_XENON) || (defined(_VISION_WINRT) && !defined(_VISION_METRO) && !defined(_VISION_APOLLO))
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_PREV, V_XENON_PAD(0), CT_PAD_A, VInputOptions::Once());
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, V_XENON_PAD(0), CT_PAD_B, VInputOptions::Once());

#elif defined(_VISION_PS3)
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_PREV, V_PS3_PAD(0), CT_PAD_CROSS, VInputOptions::Once());
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, V_PS3_PAD(0), CT_PAD_CIRCLE, VInputOptions::Once());

#elif defined(_VISION_PSP2)
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_PREV, V_PSP2_PAD(0), CT_PAD_CROSS, VInputOptions::Once());
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, V_PSP2_PAD(0), CT_PAD_CIRCLE, VInputOptions::Once());

#elif defined(_VISION_MOBILE)
  int width = Vision::Video.GetXRes();
  int height = Vision::Video.GetYRes();
  
  VTouchArea* prevArea = new VTouchArea(VInputManager::GetTouchScreen(), VRectanglef(0, 0, 100, height), -950.0f);
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_PREV, prevArea, CT_TOUCH_ANY, VInputOptions::Once());    
  
  VTouchArea* nextArea = new VTouchArea(VInputManager::GetTouchScreen(), VRectanglef(width - 100, 0, width, height), -950.0f);
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, nextArea, CT_TOUCH_ANY, VInputOptions::Once());

#elif defined(_VISION_WIIU)
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_PREV, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_B, VInputOptions::Once());
  VisSampleApp::GetInputMap()->MapTrigger(WORLD_LANG_NEXT, VInputManagerWiiU::GetDRC(V_DRC_FIRST), CT_PAD_A, VInputOptions::Once());