Skip to content
Snippets Groups Projects

#8.client,joystick

Merged Hallvard Molin Morstøl requested to merge #8.Client,joystick into client
6 files
+ 100
4
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -10,11 +10,15 @@ import com.tdt4240.paint2win.utility.IObserver;
import java.util.ArrayList;
import java.util.List;
/**Represents both joysticks on the screen
* @author JLK
*/
public class DualJoysticks {
private Joystick PosJoystick;
private Joystick RotJoystick;
//List of observers that observes both jyosticks
private List<IObserver> observers = new ArrayList<>();
public DualJoysticks(Stage stage){
@@ -27,7 +31,9 @@ public class DualJoysticks {
RotJoystick.setBounds(stage.getWidth()-600, 450, 500, 500);
}
/**Render method that need to be run every frame
*
*/
public void render(){
PosJoystick.render();
RotJoystick.render();
@@ -35,16 +41,31 @@ public class DualJoysticks {
}
/**Sends info to observers of DualJoysticks
*
* @param position sends PosJoysticks position with getJoystickCoordinates()
* @param rotation send RotJoysticks rotation with getDegrees()
* @param usingRotJoystick send a boolean true if the RotJoystick is beeing used
*/
private void notifyObservers(Vector2 position, float rotation, boolean usingRotJoystick) {
for (IObserver observer: this.observers){
observer.UpdateEvent(position, rotation, usingRotJoystick);
}
}
/** Add a observer to observer list of this class
*
* @param observer needs to be a observable object of IObserver
*/
public void addObserver(IObserver observer) {
observers.add(observer);
}
/**removers the observer from List
* should be done in desctructors to avoid index errors
*
* @param observer needs to be a observable object of IObserver
*/
public void removeObserver(IObserver observer) {
this.observers.remove(observer);
}
Loading