Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 28, 2019, 3:32:09 PM (5 years ago)
Author:
mkarpf
Message:

Test Level created
ATTENTION: Level is buggy and freezes Screen!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.cc

    r12247 r12253  
    33namespace orxonox{
    44
    5 MouseAPI::MouseAPI(Camera& camera)
     5MouseAPI::MouseAPI()
    66{
    7     cam = camera.getOgreCamera();
    8     state = InputManager::getInstance().createInputState("MouseAPI");
    9     state->setMouseExclusive(false);//does this work
    10     state->setMouseHandler(this);
    11     InputManager::getInstance().enterState("MouseAPI");
    127
    138}
    149
    15 MouseAPI::~MouseAPI(){
    16     InputManager::getInstance().leaveState("MouseAPI");
    17     state->setMouseHandler(nullptr);
    18     InputManager::getInstance().destroyState("MouseAPI");
     10void MouseAPI::activate()
     11{
     12     if(InputManager::exists())
     13     {
     14        cam = CameraManager::getInstance().getActiveCamera()->getOgreCamera();
     15        state = InputManager::getInstance().createInputState("MouseAPI");
     16        state->setMouseExclusive(false);//does this work
     17        state->setMouseHandler(this);
     18        InputManager::getInstance().enterState("MouseAPI");
     19    }
     20
     21}
     22
     23void MouseAPI::deactivate()
     24{
     25    if(InputManager::exists())
     26    {
     27        InputManager::getInstance().leaveState("MouseAPI");
     28        state->setMouseHandler(nullptr);
     29        InputManager::getInstance().destroyState("MouseAPI");
     30    }
     31}
     32
     33MouseAPI::~MouseAPI()
     34{
     35
    1936}
    2037
     
    2744        for(auto wantedButton:event.buttons){
    2845            if(wantedButton == button && ray.intersects(Ogre::Sphere(event.position,event.radius)).first)
    29                 (*(event.onClickedFunction))(button);
     46                event.onClickedFunction(button);
    3047        }
    3148    }
     
    4764}
    4865
    49 void MouseAPI::addClickableObject(const Vector3& position,float radius,const std::list<MouseButtonCode::ByEnum>& buttons,void (*onClickedFunction)(MouseButtonCode::ByEnum button))
     66void MouseAPI::addClickableObject(const Vector3& position, float radius, const std::list<MouseButtonCode::ByEnum>& buttons, std::function<void(MouseButtonCode::ByEnum)> onClickedFunction)
    5067{
    5168    clickEvents.insert(clickEvents.begin(),{position,radius,buttons,onClickedFunction});
Note: See TracChangeset for help on using the changeset viewer.