void ModificationsPanel::OnModificationPressed(BaseObject * object, void *, void *) { if (object == btnPlaceOn) { PlaceOnLandscape(); } else if(object == btnLandscape) { } else { for (int32 i = 0; i < 3; ++i) { if (object == btnMod[i]) { modState = (eModState)i; } else if (object == btnAxis[i]) { modAxis = (eModAxis)i; } } UpdateModState(); } }
void EditorBodyControl::PlaceOnLandscape() { Entity * selection = scene->GetProxy(); if (selection && InModificationMode()) { PlaceOnLandscape(selection); } }
void EditorBodyControl::OnPlaceOnLandscape() { PlaceOnLandscape(); }
void ModificationsPanel::Input(DAVA::UIEvent *event) { if (event->phase == UIEvent::PHASE_KEYCHAR) { UITextField *tf = dynamic_cast<UITextField *>(UIControlSystem::Instance()->GetFocusedControl()); if(!tf) { switch(event->tid) { case DVKEY_Q: modState = MOD_MOVE; break; case DVKEY_E: modState = MOD_ROTATE; break; case DVKEY_R: modState = MOD_SCALE; break; case DVKEY_5: { bool altIsPressed = InputSystem::Instance()->GetKeyboard()->IsKeyPressed(DVKEY_ALT); if(!altIsPressed) { modAxis = AXIS_X; } break; } case DVKEY_6: { bool altIsPressed = InputSystem::Instance()->GetKeyboard()->IsKeyPressed(DVKEY_ALT); if(!altIsPressed) { modAxis = AXIS_Y; } break; } case DVKEY_7: { bool altIsPressed = InputSystem::Instance()->GetKeyboard()->IsKeyPressed(DVKEY_ALT); if(!altIsPressed) { modAxis = AXIS_Z; } break; } case DVKEY_8: { bool altIsPressed = InputSystem::Instance()->GetKeyboard()->IsKeyPressed(DVKEY_ALT); if(!altIsPressed) { if (modAxis < AXIS_XY) modAxis = AXIS_XY; else modAxis = (eModAxis)(AXIS_XY + ((modAxis + 1 - AXIS_XY) % 3)); } break; } case DVKEY_P: { PlaceOnLandscape(); break; } default: break; } UpdateModState(); } } UIControl::Input(event); }