//--------------------------------------------------------------------------- void __fastcall CLevelTools::SetTarget(ObjClassID tgt, int sub_tgt) { // если мышь захвачена - изменим target после того как она освободится if (UI->IsMouseCaptured()||UI->IsMouseInUse()||!false){ m_Flags.set(flChangeTarget,TRUE); iNeedTarget = tgt; iNeedSubTarget = sub_tgt; }else RealSetTarget(tgt,sub_tgt,false); }
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(); } }
//--------------------------------------------------------------------------- void CLevelTool::Reset() { RealSetTarget(GetTarget(),estDefault,true); }