MiniMap Mouse Tekerleği ile Yakınlaştır/Uzaklaştır

  • Konuyu açan Konuyu açan ggns7
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 1
  • Gösterim Gösterim 188

ggns7

MT Üye
MT Üye
Mesaj
311
Çözümler
14
Beğeni
175
Puan
769
Ticaret Puanı
0
Minimap üzerindeki + - tuşlarına basmaya üşendim :) İşin önemli kısmını m2dev'den Distraught isimli arkadaş yapmış zaten.
Sadece Python tarafında bir fonksiyonu override ettim.
Metin2Debug_j66W31UuqD.gif


C++:
Genişlet Daralt Kopyala
[B]EterPythonLib[/B]
PythonWindow.h
Add
virtual BOOL    OnMouseWheel(int nLen);
 

after like
virtual BOOL    OnMouseMiddleButtonUp();
 
In PythonWindow.cpp add the following function:
BOOL CWindow::OnMouseWheel(int nLen)
{
  long lValue;
  return PyCallClassMemberFunc(m_poHandler, "OnMouseWheel", Py_BuildValue("(i)", nLen), &lValue) && 0 != lValue;
}
In PythonWindowManager.h add
bool        RunMouseWheel(int nLen);
after like
void        RunMouseMiddleButtonUp(long x, long y);

In PythonWindowManager.cpp add the definition somewhere:
bool CWindowManager::RunMouseWheel(int nLen)
{
  CWindow* pWin = GetPointWindow();
  while (pWin)
  {
    if (pWin->OnMouseWheel(nLen))
      return true;
    pWin = pWin->GetParent();
  }
  return false;
}
[B]UserInterface[/B]
In PythonApplicationEvent.cpp override the following function:
void CPythonApplication::OnMouseWheel(int nLen)
{
    UI::CWindowManager& rkWndMgr = UI::CWindowManager::Instance();
    if (!rkWndMgr.RunMouseWheel(nLen))
    {
        CCameraManager& rkCmrMgr = CCameraManager::Instance();
        if (CCamera* pkCmrCur = rkCmrMgr.GetCurrentCamera())
            pkCmrCur->Wheel(nLen);
    }
}

uiminimap.py
Python:
Genişlet Daralt Kopyala
[/COLOR]
# class MiniMap(ui.ScriptWindow): içerisinde
# Herhangi bir fonksiyon isminin üstüne ekle:
    def OnMouseWheel(self, nLen):
        if nLen > 0:
            self.ScaleUp()
            return True
        elif nLen < 0:
            self.ScaleDown()
            return True

        return False
 

Dosya Eklentileri

  • Metin2Debug_j66W31UuqD.gif
    Metin2Debug_j66W31UuqD.gif
    173,7 KB · Gösterim: 20
Emeginize saglık paylasım icin tesekurler
 
Geri
Üst