📄 wrclassiccontrollerextensionevent.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: WRClassicControllerExtensionEvent.java
package wiiremotej.event;
import wiiremotej.*;
// Referenced classes of package wiiremotej.event:
// WRExtensionEvent
public class WRClassicControllerExtensionEvent extends WRExtensionEvent
{
public static final int DPAD_UP = 1;
public static final int DPAD_LEFT = 2;
public static final int RIGHT_Z = 4;
public static final int X = 8;
public static final int A = 16;
public static final int Y = 32;
public static final int B = 64;
public static final int LEFT_Z = 128;
public static final int RIGHT_TRIGGER = 512;
public static final int PLUS = 1024;
public static final int HOME = 2048;
public static final int MINUS = 4096;
public static final int LEFT_TRIGGER = 8192;
public static final int DPAD_DOWN = 16384;
public static final int DPAD_RIGHT = 32768;
private AnalogStickData leftAnalogStickData;
private AnalogStickData rightAnalogStickData;
private double leftTrigger;
private double rightTrigger;
private int buttonsPressed;
private WRClassicControllerExtensionEvent lastEvent;
public WRClassicControllerExtensionEvent(WiiRemote wiiremote, byte abyte0[], int i, WRClassicControllerExtensionEvent wrclassiccontrollerextensionevent)
{
super(wiiremote);
lastEvent = wrclassiccontrollerextensionevent;
if (wrclassiccontrollerextensionevent != null)
wrclassiccontrollerextensionevent.lastEvent = null;
double d = abyte0[i] & 0x3f;
double d1 = abyte0[i + 1] & 0x3f;
double d2 = ((abyte0[i + 0] & 0xc0) >> 3) + ((abyte0[i + 1] & 0xc0) >> 5) + ((abyte0[i + 2] & 0x80) >> 7);
double d3 = abyte0[i + 2] & 0x1f;
leftTrigger = ((abyte0[i + 2] & 0x60) >> 2) + ((abyte0[i + 3] & 0xe0) >> 5);
rightTrigger = abyte0[i + 3] & 0x1f;
buttonsPressed = ~WiiRemoteJ.bytesToInt(new byte[] {
abyte0[i + 4], abyte0[i + 5]
});
ClassicControllerCalibrationData classiccontrollercalibrationdata = ((ClassicControllerExtension)getSource().getExtension()).getCalibrationData();
d -= classiccontrollercalibrationdata.leftAnalogXCenter();
if (d > 0.0D)
d /= classiccontrollercalibrationdata.leftAnalogXMaximum() - classiccontrollercalibrationdata.leftAnalogXCenter();
else
d /= Math.abs(classiccontrollercalibrationdata.leftAnalogXMinimum() - classiccontrollercalibrationdata.leftAnalogXCenter());
d1 -= classiccontrollercalibrationdata.leftAnalogYCenter();
if (d1 > 0.0D)
d1 /= classiccontrollercalibrationdata.leftAnalogYMaximum() - classiccontrollercalibrationdata.leftAnalogYCenter();
else
d1 /= Math.abs(classiccontrollercalibrationdata.leftAnalogYMinimum() - classiccontrollercalibrationdata.leftAnalogYCenter());
leftAnalogStickData = new AnalogStickData(d, d1);
d2 -= classiccontrollercalibrationdata.rightAnalogXCenter();
if (d2 > 0.0D)
d2 /= classiccontrollercalibrationdata.rightAnalogXMaximum() - classiccontrollercalibrationdata.rightAnalogXCenter();
else
d2 /= Math.abs(classiccontrollercalibrationdata.rightAnalogXMinimum() - classiccontrollercalibrationdata.rightAnalogXCenter());
d3 -= classiccontrollercalibrationdata.rightAnalogYCenter();
if (d3 > 0.0D)
d3 /= classiccontrollercalibrationdata.rightAnalogYMaximum() - classiccontrollercalibrationdata.rightAnalogYCenter();
else
d3 /= Math.abs(classiccontrollercalibrationdata.rightAnalogYMinimum() - classiccontrollercalibrationdata.rightAnalogYCenter());
rightAnalogStickData = new AnalogStickData(d2, d3);
leftTrigger = (leftTrigger - classiccontrollercalibrationdata.leftTriggerZero()) / (classiccontrollercalibrationdata.triggerMax() - classiccontrollercalibrationdata.leftTriggerZero());
rightTrigger = (rightTrigger - classiccontrollercalibrationdata.rightTriggerZero()) / (classiccontrollercalibrationdata.triggerMax() - classiccontrollercalibrationdata.rightTriggerZero());
}
public WRClassicControllerExtensionEvent(WiiRemote wiiremote, AnalogStickData analogstickdata, AnalogStickData analogstickdata1, int i, double d, double d1, WRClassicControllerExtensionEvent wrclassiccontrollerextensionevent)
{
super(wiiremote);
lastEvent = wrclassiccontrollerextensionevent;
if (wrclassiccontrollerextensionevent != null)
wrclassiccontrollerextensionevent.lastEvent = null;
leftAnalogStickData = analogstickdata;
rightAnalogStickData = analogstickdata1;
buttonsPressed = i;
leftTrigger = d;
rightTrigger = d1;
}
private WRClassicControllerExtensionEvent()
{
}
public static WRClassicControllerExtensionEvent createBlankEvent()
{
WRClassicControllerExtensionEvent wrclassiccontrollerextensionevent = new WRClassicControllerExtensionEvent();
wrclassiccontrollerextensionevent.buttonsPressed = 0;
return wrclassiccontrollerextensionevent;
}
public AnalogStickData getLeftAnalogStickData()
{
return leftAnalogStickData;
}
public AnalogStickData getRightAnalogStickData()
{
return rightAnalogStickData;
}
public double getLeftTrigger()
{
return leftTrigger;
}
public double getRightTrigger()
{
return rightTrigger;
}
public boolean isPressed(int i)
{
return (buttonsPressed & i) == i;
}
public boolean isOnlyPressed(int i)
{
return buttonsPressed == i;
}
public boolean isAnyPressed(int i)
{
return (buttonsPressed & i) != 0;
}
public boolean wasPressed(int i)
{
return !lastEvent.isPressed(i) && isPressed(i);
}
public boolean wasOnlyPressed(int i)
{
return !lastEvent.isPressed(i) && isOnlyPressed(i);
}
public boolean wasReleased(int i)
{
return lastEvent.isPressed(i) && !isPressed(i);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -