status bars on sides now work
This commit is contained in:
		@@ -12,6 +12,7 @@ public class GamePlayMap {
 | 
				
			|||||||
	private boolean building;
 | 
						private boolean building;
 | 
				
			||||||
	private int index;
 | 
						private int index;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						private byte[] hudType;
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * GamePlayMap is what the game area will use to generate entities and judge current audio data
 | 
						 * GamePlayMap is what the game area will use to generate entities and judge current audio data
 | 
				
			||||||
	 * @param audioData audio data
 | 
						 * @param audioData audio data
 | 
				
			||||||
@@ -19,6 +20,7 @@ public class GamePlayMap {
 | 
				
			|||||||
	public GamePlayMap(AudioData audioData, int totalWindows) {
 | 
						public GamePlayMap(AudioData audioData, int totalWindows) {
 | 
				
			||||||
		this.musicData = audioData;
 | 
							this.musicData = audioData;
 | 
				
			||||||
		spawnList = new MapWindowData[totalWindows];
 | 
							spawnList = new MapWindowData[totalWindows];
 | 
				
			||||||
 | 
							hudType = new byte[totalWindows];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public int setIndex(int index) {
 | 
						public int setIndex(int index) {
 | 
				
			||||||
@@ -33,6 +35,14 @@ public class GamePlayMap {
 | 
				
			|||||||
		return previousIndex;
 | 
							return previousIndex;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public void setHUDType(byte data) {
 | 
				
			||||||
 | 
							hudType[index] = data;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public byte[] getHudType() {
 | 
				
			||||||
 | 
							return hudType;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	public EntitySpawnInfo addEntity(EntityFrame<? extends Entity> entityType, CoordinatorFrame<? extends Coordinator> coordinator) {
 | 
						public EntitySpawnInfo addEntity(EntityFrame<? extends Entity> entityType, CoordinatorFrame<? extends Coordinator> coordinator) {
 | 
				
			||||||
		if (building) {
 | 
							if (building) {
 | 
				
			||||||
			if (spawnList[index] == null) {
 | 
								if (spawnList[index] == null) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -137,6 +137,12 @@ public class RhythmMapAlgorithm implements Runnable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			progress = MathUtils.round(100f*index/bassPeaks.size);
 | 
								progress = MathUtils.round(100f*index/bassPeaks.size);
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
 | 
								if (bassPeaks.get(index) > avgBass) {
 | 
				
			||||||
 | 
									map.setHUDType((byte) 1);
 | 
				
			||||||
 | 
								} else if (umPeaks.get(index) > avgUM) {
 | 
				
			||||||
 | 
									map.setHUDType((byte) 2);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
			sender.send(MiniEvents.MAPGEN_ITERATED);
 | 
								sender.send(MiniEvents.MAPGEN_ITERATED);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		map.endBuild();
 | 
							map.endBuild();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ import com.badlogic.gdx.graphics.g2d.Sprite;
 | 
				
			|||||||
import com.badlogic.gdx.utils.Pool.Poolable;
 | 
					import com.badlogic.gdx.utils.Pool.Poolable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import zero1hd.rhythmbullet.entity.Entity;
 | 
					import zero1hd.rhythmbullet.entity.Entity;
 | 
				
			||||||
 | 
					import zero1hd.rhythmbullet.entity.ally.PolyjetEntity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class Pellet extends Entity implements Poolable {
 | 
					public class Pellet extends Entity implements Poolable {
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@@ -15,6 +16,7 @@ public class Pellet extends Entity implements Poolable {
 | 
				
			|||||||
		sprite = new Sprite(assets.get("pellet.png", Texture.class));
 | 
							sprite = new Sprite(assets.get("pellet.png", Texture.class));
 | 
				
			||||||
		enemy = true;
 | 
							enemy = true;
 | 
				
			||||||
		setSize(0.5f, 0.5f);
 | 
							setSize(0.5f, 0.5f);
 | 
				
			||||||
 | 
							sprite.setColor(0.5f, 1f, 1f, 0.5f);
 | 
				
			||||||
		super.preInit();
 | 
							super.preInit();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@@ -32,7 +34,6 @@ public class Pellet extends Entity implements Poolable {
 | 
				
			|||||||
		setPosition(params.get("x"), params.get("y"));
 | 
							setPosition(params.get("x"), params.get("y"));
 | 
				
			||||||
		speed = params.get("speed");
 | 
							speed = params.get("speed");
 | 
				
			||||||
		angle = params.get("angle");
 | 
							angle = params.get("angle");
 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		super.init(params);
 | 
							super.init(params);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@@ -43,6 +44,9 @@ public class Pellet extends Entity implements Poolable {
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void collided(Entity entity) {
 | 
						public void collided(Entity entity) {
 | 
				
			||||||
 | 
							if (entity.getClass() == PolyjetEntity.class) {
 | 
				
			||||||
 | 
								dead = true;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		super.collided(entity);
 | 
							super.collided(entity);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,14 +34,19 @@ public class GameHUD extends Stage {
 | 
				
			|||||||
	private Texture rightStatTexture;
 | 
						private Texture rightStatTexture;
 | 
				
			||||||
	private Image leftStatusBar;
 | 
						private Image leftStatusBar;
 | 
				
			||||||
	private Image rightStatusBar;
 | 
						private Image rightStatusBar;
 | 
				
			||||||
 | 
						private GamePlayArea gpa;
 | 
				
			||||||
	private Music music;
 | 
						private Music music;
 | 
				
			||||||
	private ScoreManager sm;
 | 
						private ScoreManager sm;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private Color original, bass, um;
 | 
				
			||||||
	public GameHUD(Skin skin, float maxHealth, GamePlayArea gpa) {
 | 
						public GameHUD(Skin skin, float maxHealth, GamePlayArea gpa) {
 | 
				
			||||||
		super();
 | 
							super();
 | 
				
			||||||
		scoreLabel = new Label("Score: 0", skin, "default-font", Color.WHITE);
 | 
							scoreLabel = new Label("Score: 0", skin, "default-font", Color.WHITE);
 | 
				
			||||||
		scoreLabel.setPosition(10f, Gdx.graphics.getHeight()-scoreLabel.getHeight() - 10f);
 | 
							scoreLabel.setPosition(10f, Gdx.graphics.getHeight()-scoreLabel.getHeight() - 10f);
 | 
				
			||||||
		addActor(scoreLabel);
 | 
							addActor(scoreLabel);
 | 
				
			||||||
		this.sm = gpa.score;
 | 
							this.sm = gpa.score;
 | 
				
			||||||
 | 
							this.gpa = gpa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pause = new ImageButton(skin.getDrawable("pause"),
 | 
							pause = new ImageButton(skin.getDrawable("pause"),
 | 
				
			||||||
				skin.getDrawable("pause-down"));
 | 
									skin.getDrawable("pause-down"));
 | 
				
			||||||
		pause.setPosition(Gdx.graphics.getWidth() - pause.getWidth() - 15f,
 | 
							pause.setPosition(Gdx.graphics.getWidth() - pause.getWidth() - 15f,
 | 
				
			||||||
@@ -102,7 +107,11 @@ public class GameHUD extends Stage {
 | 
				
			|||||||
		addActor(rightStatusBar);
 | 
							addActor(rightStatusBar);
 | 
				
			||||||
		rightStatusBar.toBack();
 | 
							rightStatusBar.toBack();
 | 
				
			||||||
		pixmap.dispose();
 | 
							pixmap.dispose();
 | 
				
			||||||
		setStatusColor(0.0f, 1f, 1f, 0.7f);
 | 
							
 | 
				
			||||||
 | 
							original = new Color(0.6f, 0.8f, 255f, 0.55f);
 | 
				
			||||||
 | 
							bass = new Color(0.8f, 0, 1, 0.9f);
 | 
				
			||||||
 | 
							um = new Color(1f, 0.6f, 0.4f, 0.9f);
 | 
				
			||||||
 | 
							setStatusColor(original);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
@@ -110,6 +119,16 @@ public class GameHUD extends Stage {
 | 
				
			|||||||
		if (sm.checkDifferent()) {
 | 
							if (sm.checkDifferent()) {
 | 
				
			||||||
			setScore(sm.getScore());
 | 
								setScore(sm.getScore());
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (gpa.getAudioMap() != null && gpa.getAudioMap().getHudType()[gpa.getAudioMap().getIndex()] != 0) {
 | 
				
			||||||
 | 
								switch (gpa.getAudioMap().getHudType()[gpa.getAudioMap().getIndex()]) {
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									changeStatusColor(bass, 0.2f, original);
 | 
				
			||||||
 | 
									break;
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									changeStatusColor(um, 0.2f, original);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		super.act(delta);
 | 
							super.act(delta);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
@@ -176,25 +195,25 @@ public class GameHUD extends Stage {
 | 
				
			|||||||
		this.music = music;
 | 
							this.music = music;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void setStatusColor(float r, float g, float b, float a) {
 | 
						public void setStatusColor(Color color) {
 | 
				
			||||||
		leftStatusBar.setColor(r, g, b, a);
 | 
							leftStatusBar.setColor(color);
 | 
				
			||||||
		rightStatusBar.setColor(r, g, b, a);
 | 
							rightStatusBar.setColor(color);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void setLeftStatusColor(float r, float g, float b, float a) {
 | 
						public void setLeftStatusColor(Color color) {
 | 
				
			||||||
		leftStatusBar.setColor(r, g, b, a);
 | 
							leftStatusBar.setColor(color);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void setRightStatusColor(float r, float g, float b, float a) {
 | 
						public void setRightStatusColor(Color color) {
 | 
				
			||||||
		rightStatusBar.setColor(r, g, b, a);
 | 
							rightStatusBar.setColor(color);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public void changeStatusColor(Color color, float duration) {
 | 
						public void changeStatusColor(Color color, float duration, Color endColor) {
 | 
				
			||||||
		leftStatusBar.clearActions();
 | 
							leftStatusBar.clearActions();
 | 
				
			||||||
		rightStatusBar.clearActions();
 | 
							rightStatusBar.clearActions();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		leftStatusBar.addAction(Actions.color(color, duration));
 | 
							leftStatusBar.addAction(Actions.sequence(Actions.color(color, duration*0.8f), Actions.color(endColor, duration)));
 | 
				
			||||||
		rightStatusBar.addAction(Actions.color(color, duration));
 | 
							rightStatusBar.addAction(Actions.sequence(Actions.color(color, duration*0.8f), Actions.color(endColor, duration)));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public HealthBar getHealthBar() {
 | 
						public HealthBar getHealthBar() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,6 +57,10 @@ public class GamePlayArea extends Stage {
 | 
				
			|||||||
		this.audioMap = audioMap;
 | 
							this.audioMap = audioMap;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						public GamePlayMap getAudioMap() {
 | 
				
			||||||
 | 
							return audioMap;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * needs to be called right after set as screen (should be called in show method).
 | 
						 * needs to be called right after set as screen (should be called in show method).
 | 
				
			||||||
	 * @param prefs
 | 
						 * @param prefs
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ public class ScoreManager {
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	public void setScore(int score) {
 | 
						public void setScore(int score) {
 | 
				
			||||||
		this.score = score;
 | 
							this.score = score;
 | 
				
			||||||
 | 
							different = true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public int getScore() {
 | 
						public int getScore() {
 | 
				
			||||||
@@ -14,6 +15,7 @@ public class ScoreManager {
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	public void addScore(int addedScore) {
 | 
						public void addScore(int addedScore) {
 | 
				
			||||||
		score += addedScore;
 | 
							score += addedScore;
 | 
				
			||||||
 | 
							different = true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	public boolean checkDifferent() {
 | 
						public boolean checkDifferent() {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user