package edu.smcm.gamedev.butterseal;

import com.badlogic.gdx.Input;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

/**
 * Contains program logic for the user interface.
 * 
 * This class handles such things as
 *   the pause menu,
 *   the directional pad,
 *   and power selection.
 * 
 * @author Sean
 *
 */
public class BSInterface {
	BSSession session;
	SpriteBatch batch;
	AssetManager assets;
	
	public BSInterface(BSSession session, SpriteBatch batch, AssetManager assets) {
		this.session = session;
		this.batch = batch;
		this.assets = assets;
	}
	
	/**
	 * Polls the given {@link Input} for valid player interaction
	 *   and handles it appropriately. 
	 * @param input
	 */
	public void poll(Input input) {
		
	}
	
	/**
	 * Draws the interface on the screen.
	 */
	public void draw() {
		/* If the game is in session, make the major interface elements.
		 * If the game is additionally paused, handle that as well.
		 * 
		 * If we are not in a game, then draw the title screen.
		 */
		
		if (session.isInGame) {
			MakePowerBar();
			MakePowerSelector();
			MakeDirectionalPad();
			MakePauseButton();

			if (session.isPaused) {
				MakePauseScreen();
			}
		} else {
			MakeTitleScreen();
		}
	}

	private void MakePowerBar() {
		
	}
	
	private void MakePowerSelector() {
		
	}
	
	private void MakeDirectionalPad() {
		
	}
	
	/**
	 * Dims the screen and displays the pause menu
	 */
	private void MakePauseButton() {
		
	}
	
	private void MakePauseScreen() {
		
	}
	
	private void MakeTitleScreen() {
		
	}
}

@@ -31,16 +31,65 @@
 rseal;%0A%0A
+import java.util.HashSet;%0Aimport java.util.Set;%0A%0A
 import c
@@ -111,16 +111,16 @@
 .Input;%0A
-
 import c
@@ -205,16 +205,56 @@
 teBatch;
+%0Aimport com.badlogic.gdx.math.Rectangle;
 %0A%0A/**%0A *
@@ -531,16 +531,47 @@
 assets;%0A
+%09Set%3CRectangle%3E activeRegions;%0A
 %09%0A%09publi
@@ -693,16 +693,16 @@
  batch;%0A
-
 %09%09this.a
@@ -717,16 +717,65 @@
 assets;%0A
+%09%09this.activeRegions = new HashSet%3CRectangle%3E();%0A
 %09%7D%0A%09%0A%09/*

Add active region set to interface management