⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrclassiccontrollerextensionevent.java

📁 支持任天堂wii2手柄的java中间件
💻 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 + -