package net.sphene.goim.ingame.directx.menu;
import net.sphene.goim.ingame.directx.DXInGameMessageBridge;
import net.sphene.goim.ingame.directx.DXInGameMessenger;
import net.sphene.libs.SpheneEvent;
import net.sphene.libs.SpheneListener;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
public class HookAction extends Action {
public HookAction() {
super("Enable DX InGame Messenger",IAction.AS_CHECK_BOX);
DXInGameMessenger.getDefault().registerIsHookedStateChangedListener(new SpheneListener<SpheneEvent>() {
public void handleEvent(SpheneEvent event) {
setChecked(DXInGameMessenger.getDefault().isHooked());
}
});
setChecked(DXInGameMessenger.getDefault().isHooked());
}
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
super.run();
DXInGameMessageBridge bridge = DXInGameMessenger.getDefault().getDXInGameMessengerExtension().getMessageBridge();
if(isChecked()) {
bridge.hook();
} else {
bridge.unHook();
}
setChecked(bridge.isHooked());
}
}