edu.whs.spin2018.baoapp.presenter

## Class BaoSpielPresenter

- java.lang.Object
- - edu.whs.spin2018.baoapp.presenter.BaoSpielPresenter

- All Implemented Interfaces:
    SpielbrettEventListener, TimerListener, BasePresenter<SpielbrettRemoteDataSource>, BaoSpielContract.Presenter

      public class BaoSpielPresenter
      extends java.lang.Object
      implements BaoSpielContract.Presenter, TimerListener

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `SPIEL_TYP_EINZELSPIELER_LEICHT`
    `static java.lang.String` | `SPIEL_TYP_EINZELSPIELER_MITTEL`
    `static java.lang.String` | `SPIEL_TYP_EINZELSPIELER_SCHWER`
    `static java.lang.String` | `SPIEL_TYP_LOKALES_SPIEL`
    `static java.lang.String` | `SPIEL_TYP_MEHRSPIELER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaoSpielPresenter(BaoSpielContract.View view, android.content.Intent spielinformationen)` Stellt eine Schnittstelle zwischen BaoSpiel und BaoSpielActivity dar.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `initialisiereAktuelleTimeranzeige(SpielerIndex spielerIndex)` Wird zu Beginn aufgerufen, um die richtige Timeranzeige auszuwählen.
    `void` | `onBenutzerVerlaesstRaum()`
    `void` | `onFinish()` Wird aufgerufen, wenn der BaoTimer abgelaufen ist.
    `void` | `onMuldenKlick(Position position)` Wird aufgerufen, wenn auf der View eine Mulde geklickt wurde.
    `void` | `onSpielzugAnzeigeAbgeschlossen()` Teilt dem Presenter mit, dass die Anzeige der Animationen auf der View angeschlossen sind und somit der naechste Spieler am Zug ist.
    `void` | `onSpielzugErhalten(Position position)`
    `void` | `onTick(long uebrigeZeit)` Wird bei jedem Tick des BaoTimers aufgerufen um die uebrige Zeit weiterzuleiten.
    `void` | `onTimerStart()` Wird bei jedem TimerStart aufgerufen.
    `void` | `setzeServiceInteractor(SpielbrettRemoteDataSource interactor)` Setzt einen ServiceInteractor fuer den Presenter um mit dem Server kommunizieren zu könnne
    `void` | `stop()` Stoppt den Presenter
    `void` | `verarbeiteSpielerwechsel(SpielerIndex aktuellerSpielerIndex)` Wird aufgerufen wenn ein Spielerwechsel erfolgt ist.
    `void` | `verarbeiteSpielzug(Spielzug spielzug)` Wird aufgerufen um den berechneten Spielzug zu verarbeiten.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SPIEL_TYP_EINZELSPIELER_LEICHT

          public static final java.lang.String SPIEL_TYP_EINZELSPIELER_LEICHT

      See Also:
        Constant Field Values

    - #### SPIEL_TYP_EINZELSPIELER_MITTEL

          public static final java.lang.String SPIEL_TYP_EINZELSPIELER_MITTEL

      See Also:
        Constant Field Values

    - #### SPIEL_TYP_EINZELSPIELER_SCHWER

          public static final java.lang.String SPIEL_TYP_EINZELSPIELER_SCHWER

      See Also:
        Constant Field Values

    - #### SPIEL_TYP_MEHRSPIELER

          public static final java.lang.String SPIEL_TYP_MEHRSPIELER

      See Also:
        Constant Field Values

    - #### SPIEL_TYP_LOKALES_SPIEL

          public static final java.lang.String SPIEL_TYP_LOKALES_SPIEL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BaoSpielPresenter

          public BaoSpielPresenter(BaoSpielContract.View view,
                                   android.content.Intent spielinformationen)

      Stellt eine Schnittstelle zwischen BaoSpiel und BaoSpielActivity dar.
      Parameters:
        `view` - die Activity auf der alles angezeigt wird.

  - ### Method Detail

    - #### onMuldenKlick

          public void onMuldenKlick(Position position)

      Wird aufgerufen, wenn auf der View eine Mulde geklickt wurde.
      Specified by:
        `onMuldenKlick` in interface `BaoSpielContract.Presenter`
      Parameters:
        `position` - die Position der Mulde die geklickt wurde

    - #### onSpielzugAnzeigeAbgeschlossen

          public void onSpielzugAnzeigeAbgeschlossen()

      Description copied from interface: `BaoSpielContract.Presenter`
      Teilt dem Presenter mit, dass die Anzeige der Animationen auf der View angeschlossen sind und somit der naechste Spieler am Zug ist.
      Specified by:
        `onSpielzugAnzeigeAbgeschlossen` in interface `BaoSpielContract.Presenter`

    - #### onTick

          public void onTick(long uebrigeZeit)

      Description copied from interface: `TimerListener`
      Wird bei jedem Tick des BaoTimers aufgerufen um die uebrige Zeit weiterzuleiten.
      Specified by:
        `onTick` in interface `TimerListener`

    - #### onFinish

          public void onFinish()

      Description copied from interface: `TimerListener`
      Wird aufgerufen, wenn der BaoTimer abgelaufen ist.
      Specified by:
        `onFinish` in interface `TimerListener`

    - #### onTimerStart

          public void onTimerStart()

      Description copied from interface: `TimerListener`
      Wird bei jedem TimerStart aufgerufen.
      Specified by:
        `onTimerStart` in interface `TimerListener`

    - #### initialisiereAktuelleTimeranzeige

          public void initialisiereAktuelleTimeranzeige(SpielerIndex spielerIndex)

      Description copied from interface: `BaoSpielContract.Presenter`
      Wird zu Beginn aufgerufen, um die richtige Timeranzeige auszuwählen.
      Specified by:
        `initialisiereAktuelleTimeranzeige` in interface `BaoSpielContract.Presenter`
      Parameters:
        `spielerIndex` - - Spieler fuer den der Timer angezeigt werden soll

    - #### verarbeiteSpielerwechsel

          public void verarbeiteSpielerwechsel(SpielerIndex aktuellerSpielerIndex)

      Description copied from interface: `BaoSpielContract.Presenter`
      Wird aufgerufen wenn ein Spielerwechsel erfolgt ist.
      Specified by:
        `verarbeiteSpielerwechsel` in interface `BaoSpielContract.Presenter`
      Parameters:
        `aktuellerSpielerIndex` - der Spieler, der nach dem Wechsel am Zug ist

    - #### verarbeiteSpielzug

          public void verarbeiteSpielzug(Spielzug spielzug)

      Description copied from interface: `BaoSpielContract.Presenter`
      Wird aufgerufen um den berechneten Spielzug zu verarbeiten.
      Specified by:
        `verarbeiteSpielzug` in interface `BaoSpielContract.Presenter`

    - #### stop

          public void stop()

      Description copied from interface: `BasePresenter`
      Stoppt den Presenter
      Specified by:
        `stop` in interface `BasePresenter<SpielbrettRemoteDataSource>`

    - #### setzeServiceInteractor

          public void setzeServiceInteractor(SpielbrettRemoteDataSource interactor)

      Description copied from interface: `BasePresenter`
      Setzt einen ServiceInteractor fuer den Presenter um mit dem Server kommunizieren zu könnne
      Specified by:
        `setzeServiceInteractor` in interface `BasePresenter<SpielbrettRemoteDataSource>`
      Parameters:
        `interactor` - - Interactor fuer den Presenter

    - #### onBenutzerVerlaesstRaum

          public void onBenutzerVerlaesstRaum()

      Specified by:
        `onBenutzerVerlaesstRaum` in interface `SpielbrettEventListener`

    - #### onSpielzugErhalten

          public void onSpielzugErhalten(Position position)

      Specified by:
        `onSpielzugErhalten` in interface `SpielbrettEventListener`