Class MainGameView
- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.Group
-
- ch.sahits.game.openpatrician.display.javafx.MainGameView
-
- All Implemented Interfaces:
IDialogContoller
,IRebinabable
,javafx.css.Styleable
,javafx.event.EventTarget
public class MainGameView extends javafx.scene.Group implements IDialogContoller, IRebinabable
Main view of the game holding all other controls once the game is started.
-
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.eventbus.AsyncEventBus
clientEventBus
private com.google.common.eventbus.AsyncEventBus
clientServerEventBus
private DependentAnnotationConfigApplicationContext
context
private double
controlHeight
private double
controlWidth
Use low level byte to indicate what is displayed instead of an enum.private javafx.beans.property.ObjectProperty<EScene>
currentScene
private Dialog
dialog
private DialogFactory
dialogFactory
private DialogScope
dialogScope
private DisplayMessageOverlay
dispMesgOverlay
private EventMediaPlayer
eventViewer
private GameFactory
gameFactory
private IImageUtilities
imageUtils
private BaseMainGameImageView
imgView
private Locale
locale
private IMap
map
private org.springframework.context.MessageSource
messageSource
static int
MINMIMAL_DISPLAY_HEIGHT
private javafx.scene.shape.Rectangle
placeHolder
private PolygonInitializerFactory
polygonInitFactory
private SceneEventHandlerFactory
sceneEventHandlerFactory
private SeamapImageView
seaMapView
private javafx.scene.layout.StackPane
stack
private com.google.common.eventbus.AsyncEventBus
timerEventBus
private UIFactory
uiFactory
private java.util.concurrent.ScheduledExecutorService
uiTimer
private ClientViewState
viewState
private IDataImageLoader
xmlLoader
-
Constructor Summary
Constructors Constructor Description MainGameView(double width, double heigth)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
changeScene()
Change the scene imageprivate void
changeSceneUnwrapped()
void
closeDialog()
Close the currently open dialogprivate void
closeDialogBeforeReplacing()
private void
closeDialogUnwrapped()
void
closeEventView()
Close the event view and stop playback.private void
createComponents()
private void
displayEventVideoUnwrapped(DisplayEventVideo event)
private java.lang.String
getImageNameFromScene()
Retrieve the name for the image to be displayed in the scenevoid
handleDialogStateEvent(IDialogState dialogState)
void
handleEventVideoDisplay(DisplayEventVideo event)
Handle the displaying of an event video.void
handleGamePause(PauseGame event)
void
handleSwitchToCity(SwitchCity event)
void
handleViewChange(ViewChangeEvent event)
void
heightChange(double oldHeight, double newHeigth)
void
rebind()
Rebind the properties and bindings.void
replaceDialog(EDialogType dialogType, java.lang.Object... params)
Replace the current dialog with a new one.private void
setNewDialog()
Set up the dialog that was initialized.void
setNewDialog(EDialogType dialogType, java.lang.Object... params)
Set up the new dialog.void
setNewDialog(DialogTemplate template)
Set up the new dialog based on a dialog template.void
setNewDialog(IDialogState dialogState)
Set up the new dialog based on a dialog state.private void
setUpImageView()
private void
setUpSeamapImageView()
private void
unregister()
void
widthChange(double oldWidth, double newWidth)
-
Methods inherited from class javafx.scene.Group
autoSizeChildrenProperty, getChildren, isAutoSizeChildren, layoutChildren, minHeight, minWidth, prefHeight, prefWidth, setAutoSizeChildren
-
Methods inherited from class javafx.scene.Parent
computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, maxHeight, maxWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
-
-
-
Field Detail
-
MINMIMAL_DISPLAY_HEIGHT
public static final int MINMIMAL_DISPLAY_HEIGHT
- See Also:
- Constant Field Values
-
controlWidth
private double controlWidth
Use low level byte to indicate what is displayed instead of an enum.
-
controlHeight
private double controlHeight
-
imageUtils
@Autowired private IImageUtilities imageUtils
-
xmlLoader
@Autowired @Qualifier("xmlImageLoader") private IDataImageLoader xmlLoader
-
locale
@Autowired private Locale locale
-
messageSource
@Autowired private org.springframework.context.MessageSource messageSource
-
dialogFactory
@Autowired private DialogFactory dialogFactory
-
placeHolder
private javafx.scene.shape.Rectangle placeHolder
-
imgView
private BaseMainGameImageView imgView
-
dialog
private Dialog dialog
-
eventViewer
private EventMediaPlayer eventViewer
-
dialogScope
@Autowired private DialogScope dialogScope
-
currentScene
private javafx.beans.property.ObjectProperty<EScene> currentScene
-
sceneEventHandlerFactory
@Autowired private SceneEventHandlerFactory sceneEventHandlerFactory
-
polygonInitFactory
@Autowired private PolygonInitializerFactory polygonInitFactory
-
viewState
@Autowired private ClientViewState viewState
-
clientServerEventBus
@Autowired @Qualifier("serverClientEventBus") private com.google.common.eventbus.AsyncEventBus clientServerEventBus
-
clientEventBus
@Autowired @Qualifier("clientEventBus") private com.google.common.eventbus.AsyncEventBus clientEventBus
-
timerEventBus
@Autowired @Qualifier("timerEventBus") private com.google.common.eventbus.AsyncEventBus timerEventBus
-
uiTimer
@Autowired @Qualifier("uiTimer") private java.util.concurrent.ScheduledExecutorService uiTimer
-
dispMesgOverlay
@Autowired private DisplayMessageOverlay dispMesgOverlay
-
context
@Autowired private DependentAnnotationConfigApplicationContext context
-
gameFactory
@Autowired private GameFactory gameFactory
-
map
@Autowired private IMap map
-
uiFactory
@Autowired private UIFactory uiFactory
-
stack
private javafx.scene.layout.StackPane stack
-
seaMapView
private SeamapImageView seaMapView
-
-
Method Detail
-
createComponents
@PostConstruct private void createComponents()
-
unregister
@PreDestroy private void unregister()
-
getImageNameFromScene
private java.lang.String getImageNameFromScene()
Retrieve the name for the image to be displayed in the scene- Returns:
- name of the image tag to be associated with the current scene.
-
setUpImageView
private void setUpImageView()
-
setUpSeamapImageView
private void setUpSeamapImageView()
-
widthChange
public void widthChange(double oldWidth, double newWidth)
-
heightChange
public void heightChange(double oldHeight, double newHeigth)
-
handleViewChange
public void handleViewChange(ViewChangeEvent event)
-
handleDialogStateEvent
public void handleDialogStateEvent(IDialogState dialogState)
-
replaceDialog
public void replaceDialog(EDialogType dialogType, java.lang.Object... params)
Replace the current dialog with a new one.- Specified by:
replaceDialog
in interfaceIDialogContoller
- Parameters:
dialogType
- of the new dialogparams
- varargs to construct the new dialog
-
closeDialog
public void closeDialog()
Close the currently open dialog- Specified by:
closeDialog
in interfaceIDialogContoller
-
closeDialogUnwrapped
private void closeDialogUnwrapped()
-
setNewDialog
public void setNewDialog(EDialogType dialogType, java.lang.Object... params)
Set up the new dialog.- Specified by:
setNewDialog
in interfaceIDialogContoller
- Parameters:
dialogType
- new dialog typeparams
- varargs to create the dialog
-
setNewDialog
public void setNewDialog(DialogTemplate template)
Set up the new dialog based on a dialog template.- Specified by:
setNewDialog
in interfaceIDialogContoller
- Parameters:
template
- dialog template for the new dialog
-
setNewDialog
public void setNewDialog(IDialogState dialogState)
Set up the new dialog based on a dialog state.- Specified by:
setNewDialog
in interfaceIDialogContoller
- Parameters:
dialogState
- dialog state for the new dialog
-
closeDialogBeforeReplacing
private void closeDialogBeforeReplacing()
-
setNewDialog
private void setNewDialog()
Set up the dialog that was initialized. This method should only be called from #setNewDialog(EDialogType) or #setNewDialog(DialogTemplate).
-
handleEventVideoDisplay
public void handleEventVideoDisplay(DisplayEventVideo event)
Handle the displaying of an event video.- Parameters:
event
- display event video, containg the parameters to initiate the video to be played
-
displayEventVideoUnwrapped
private void displayEventVideoUnwrapped(DisplayEventVideo event)
-
closeEventView
public void closeEventView()
Close the event view and stop playback. This method must be called from within the FX application thread.
-
handleGamePause
public void handleGamePause(PauseGame event)
-
changeScene
public void changeScene()
Change the scene image- Specified by:
changeScene
in interfaceIDialogContoller
-
changeSceneUnwrapped
private void changeSceneUnwrapped()
-
rebind
public void rebind()
Description copied from interface:IRebinabable
Rebind the properties and bindings. This method is called after a bean has been replaced after loading a game. There may be certain bean specific actions that need to be taken in such a case.- Specified by:
rebind
in interfaceIRebinabable
-
handleSwitchToCity
public void handleSwitchToCity(SwitchCity event)
-
-