Display actions and keys assigned
Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
6db59a796e
commit
ec26ebadcc
Binary file not shown.
Binary file not shown.
2
manifest
2
manifest
@ -5,3 +5,5 @@ Main-Class: sig.RabiClone
|
||||
Main-Class: sig.RabiClone
|
||||
Main-Class: sig.RabiClone
|
||||
Main-Class: sig.RabiClone
|
||||
Main-Class: sig.RabiClone
|
||||
Main-Class: sig.RabiClone
|
||||
|
@ -19,7 +19,7 @@ public class DrawLoop {
|
||||
|
||||
for (int y=0;y<RabiClone.BASE_HEIGHT;y++) {
|
||||
for (int x=0;x<RabiClone.BASE_WIDTH;x++) {
|
||||
p[y*RabiClone.BASE_WIDTH+x]=(byte)PaletteColor.DARK_ORCHID.ordinal();//RGB
|
||||
p[y*RabiClone.BASE_WIDTH+x]=(byte)RabiClone.BACKGROUND_COLOR.ordinal();//RGB
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import javax.swing.JFrame;
|
||||
import net.java.games.input.Component;
|
||||
import net.java.games.input.Controller;
|
||||
import net.java.games.input.ControllerEnvironment;
|
||||
import net.java.games.input.Controller.Type;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -19,6 +20,8 @@ import sig.objects.Player;
|
||||
import sig.engine.Key;
|
||||
import sig.engine.KeyBind;
|
||||
import sig.engine.Object;
|
||||
import sig.engine.PaletteColor;
|
||||
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
@ -37,6 +40,8 @@ public class RabiClone{
|
||||
public static int SIZE_MULTIPLIER=1;
|
||||
public static Point MOUSE_POS;
|
||||
|
||||
public static PaletteColor BACKGROUND_COLOR = PaletteColor.DARK_ORCHID;
|
||||
|
||||
public static LevelRenderer level_renderer;
|
||||
public static Player player;
|
||||
|
||||
@ -80,6 +85,7 @@ public class RabiClone{
|
||||
CONTROLLERS = ControllerEnvironment.getDefaultEnvironment().getControllers();
|
||||
for (int i=0;i<CONTROLLERS.length;i++) {
|
||||
if (CONTROLLERS[i].poll()) {
|
||||
//System.out.println(CONTROLLERS[i].getPortType()+" // "+CONTROLLERS[i].getType());
|
||||
Component[] components = CONTROLLERS[i].getComponents();
|
||||
for (int j=0;j<components.length;j++) {
|
||||
//Component c = components[j];
|
||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import net.java.games.input.Component;
|
||||
import net.java.games.input.Component.Identifier;
|
||||
import net.java.games.input.Component.POV;
|
||||
import sig.RabiClone;
|
||||
|
||||
public class KeyBind {
|
||||
@ -27,20 +28,26 @@ public class KeyBind {
|
||||
return KEYS.getOrDefault(action,false);
|
||||
}
|
||||
|
||||
public static boolean isKeyHeld(Component c) {
|
||||
if (c instanceof Key) {
|
||||
return ((Key)c).isKeyHeld();
|
||||
} else if (c instanceof Identifier.Button) {
|
||||
return c.getPollData()>0.0f;
|
||||
} else
|
||||
if (c.getIdentifier()==Identifier.Axis.POV) {
|
||||
return c.getPollData()!=POV.CENTER;
|
||||
} else
|
||||
if (c.getIdentifier() instanceof Identifier.Axis) {
|
||||
return Math.abs(c.getPollData())>=c.getDeadZone();
|
||||
}
|
||||
else {
|
||||
System.out.println("Could not find proper recognition for component "+c.getName());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void setKeyPressed(Action action, boolean state) {
|
||||
KEYS.put(action,state);
|
||||
/*if (c instanceof Key) {
|
||||
return ((Key)c).isKeyHeld();
|
||||
} else
|
||||
if (c instanceof Identifier.Button) {
|
||||
return c.getPollData()>0.0f;
|
||||
} else
|
||||
if (c.getIdentifier()==Identifier.Axis.POV) {
|
||||
return val==c.getPollData();
|
||||
} else
|
||||
if (c instanceof Identifier.Axis) {
|
||||
return c.getPollData()>=c.getDeadZone()&&Math.signum(c.getPollData())==Math.signum(val);
|
||||
}*/
|
||||
}
|
||||
|
||||
public static void poll() {
|
||||
@ -49,22 +56,8 @@ public class KeyBind {
|
||||
boolean held = false;
|
||||
Component cc = null;
|
||||
for (Component c : KEYBINDS.get(a)) {
|
||||
if (c instanceof Key) {
|
||||
held = ((Key)c).isKeyHeld();
|
||||
actionEventCheck(a,held);
|
||||
} else
|
||||
if (c instanceof Identifier.Button) {
|
||||
held = c.getPollData()>0.0f;
|
||||
actionEventCheck(a,held);
|
||||
} else
|
||||
if (c.getIdentifier()==Identifier.Axis.POV) {
|
||||
held = a.val==c.getPollData();
|
||||
actionEventCheck(a,held);
|
||||
} else
|
||||
if (c.getIdentifier() instanceof Identifier.Axis) {
|
||||
held = c.getPollData()>=c.getDeadZone()&&Math.signum(c.getPollData())==Math.signum(a.val);
|
||||
actionEventCheck(a,held);
|
||||
}
|
||||
held = isKeyHeld(c);
|
||||
actionEventCheck(a,held);
|
||||
if (held) {
|
||||
cc=c;
|
||||
break;
|
||||
|
45
src/sig/objects/ConfigureControls.java
Normal file
45
src/sig/objects/ConfigureControls.java
Normal file
@ -0,0 +1,45 @@
|
||||
package sig.objects;
|
||||
|
||||
import net.java.games.input.Component;
|
||||
import sig.RabiClone;
|
||||
import sig.engine.Action;
|
||||
import sig.engine.Alpha;
|
||||
import sig.engine.Font;
|
||||
import sig.engine.Key;
|
||||
import sig.engine.KeyBind;
|
||||
import sig.engine.Object;
|
||||
import sig.engine.PaletteColor;
|
||||
import sig.engine.Panel;
|
||||
|
||||
public class ConfigureControls extends Object{
|
||||
|
||||
protected ConfigureControls(Panel panel) {
|
||||
super(panel);
|
||||
RabiClone.BACKGROUND_COLOR = PaletteColor.WHITE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(double updateMult) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(byte[] p) {
|
||||
int y=4;
|
||||
for (Action a : Action.values()) {
|
||||
Draw_Text_Ext(4,getY(),DisplayActionKeys(a),Font.PROFONT_12,Alpha.ALPHA0,PaletteColor.MIDNIGHT_BLUE);
|
||||
}
|
||||
}
|
||||
|
||||
private StringBuilder DisplayActionKeys(Action a) {
|
||||
StringBuilder sb = new StringBuilder(a.toString()).append(": ");
|
||||
boolean first=true;
|
||||
for (Component c : KeyBind.KEYBINDS.get(a)) {
|
||||
sb.append(((Key)c).isKeyHeld()?PaletteColor.YELLOW_GREEN:PaletteColor.MIDNIGHT_BLUE).append(c.getName()).append(!first?",":"");
|
||||
sb.append("\n");
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user