void __fastcall CLevelTool::SetAction(ETAction act) { // если мышь захвачена - изменим action после того как она освободится if (UI->IsMouseCaptured()||UI->IsMouseInUse()||!false){ m_Flags.set (flChangeAction,TRUE); iNeedAction=act; }else RealSetAction (act); }
void __fastcall CLevelTools::OnFrame() { Scene->OnFrame (Device.fTimeDelta); EEditorState est = UI->GetEState(); if ((est==esEditScene)||(est==esEditLibrary)||(est==esEditLightAnim)){ if (!UI->IsMouseCaptured()){ // если нужно изменить target выполняем после того как мышь освободится if(m_Flags.is(flChangeTarget)) RealSetTarget(iNeedTarget,iNeedSubTarget,false); // если нужно изменить action выполняем после того как мышь освободится if(m_Flags.is(flChangeAction)) RealSetAction(ETAction(iNeedAction)); } if (m_Flags.is(flUpdateProperties)) RealUpdateProperties(); if (m_Flags.is(flUpdateObjectList)) RealUpdateObjectList(); if (est==esEditLightAnim) TfrmEditLightAnim::OnIdle(); } }