Package hoverball

Class Session

java.lang.Object
hoverball.Hovlet
hoverball.Session

public class Session
extends Hovlet
Mit der Klasse Session hast Du die Möglichkeit, alle benötigten Hoverball-Komponenten gleichzeitig zu starten und mit wenig Programm-Code vielfältig zu konfigurieren.

Die Hoverball-Session übernimmt folgende Dienste:

  • Bequemes Öffnen von Simulator und Controller,
  • Automatisches Verbinden aller Hovlets beim Start,
  • Sinnvolles Anordnen der Fenster,
  • Berücksichtigung des Kommandozeilen-Parameters [[host]:port],
  • Einfaches Registrieren von Units für Graphical Debugging durch erweiterte add(...)-Methoden,
  • Automatisches Einstellen des Follow-Mode für Units bei der Anzeige ihrer Hovlets,
  • Terminieren bei Window Closing.
  • Dazuhin kann die Hoverball-Session mit dem Befehlsschatz von Hoverball beliebig erweitert werden.

    Beachte: Der Hovlet-Baum der Session muss angezeigt werden, damit die Session richtig funktionieren kann!


    Beispiel: Mit diesem Code wird eine Hoverball-Session erzeugt, die das Team MyTeam öffnet, die Spieldauer auf eine Minute stellt und die Simulation startet.

    import hoverball.*;
     
    public class MySession extends Session
    {
       public static void main (String[] args) { new MySession(args); }
     
       public MySession (String[] args)
       {
          super("My Session",args);                     // öffne Hoverball-Session
     
          add(new MyTeam(),true);                       // öffne MyTeam mit Graphical Debugging
     
          controller.show();                            // zeige Browser mit Controller
          controller.viewer.show();                     // zeige Screen
     
          if (simulator == null) return;                // externer Simulator? return!
          simulator.set("game.duration",60);            // setze Spieldauer auf 1 Minute
          simulator.state(1);                           // checkin
          simulator.state(2);                           // start!
       }
    }
    


    Die Klasse Session kann auch als Application gestartet werden:

    java hoverball.Session [host][:port][#hash]

  • (ohne) - Öffnet einen Simulator und einen Controller.
  • :port - Öffnet einen Simulator am angegebenen Port und einen Controller.
  • host:port#hash - Öffnet einen Controller, der sich mit dem Simulator mit der angegebenen Adresse verbindet.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      Controller controller
      Gestarteter Controller
      Simulator simulator
      Gestarteter Simulator
      java.awt.Dimension size
      Gewünschte Browser-Größe

      Fields inherited from class hoverball.Hovlet

      background, BANNER, foreground, hovlets, icon, main, menubar, parent, title
    • Constructor Summary

      Constructors 
      Constructor Description
      Session()
      Öffnet eine Hoverball-Session.
      Session​(java.lang.String name)
      Öffnet eine Hoverball-Session.
      Session​(java.lang.String name, java.lang.Object server)
      Öffnet eine Hoverball-Session.
    • Method Summary

      Modifier and Type Method Description
      boolean add​(Hovlet hovlet)
      Fügt ein Hovlet in diese Session ein.
      boolean add​(Team team)
      Fügt alle Units eines Teams in die Session ein.
      boolean add​(Team team, boolean debug)
      Fügt alle Units eines Teams in die Session ein und registriert sie beim Controller für Graphical Debugging.
      boolean add​(Unit unit)
      Fügt eine Unit in die Session ein.
      boolean add​(Unit unit, boolean debug)
      Fügt eine Unit in die Session ein und registriert sie beim Controller für Graphical Debugging.
      void browse​(javax.swing.JInternalFrame browser)
      [Implementierung]
      static void main​(java.lang.String[] args)
      Startet eine Standard-Session (Application!).
      void start()
      Komfortable Methode zum Starten der Session.
      void start​(Unit unit)
      Komfortable Methode zum Starten der Session.

      Methods inherited from class hoverball.Hovlet

      close, connect, connecting, disconnect, disconnecting, locate, locate, show, status, title

      Methods inherited from class java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Details

    • Constructor Details

      • Session

        public Session()
        Öffnet eine Hoverball-Session.
      • Session

        public Session​(java.lang.String name)
        Öffnet eine Hoverball-Session.
        Parameters:
        name - Name der Hoverball-Session
      • Session

        public Session​(java.lang.String name, java.lang.Object server)
        Öffnet eine Hoverball-Session.

        Als Parameter kann die Adresse eines externen Simulators (als String der Form "host:port#hash") oder der gewünschte Port (als String der Form ":port") angegeben werden. Auch die Übergabe eines String-Arrays ist zulässig, so dass das Argument-Array einer main(...)-Methode direkt übergeben werden kann. In diesem Fall wird der String mit Index 0 herausgelesen.

        Parameters:
        name - Name der Hoverball-Session
        server - Adresse oder Port des Simulators
    • Method Details

      • main

        public static void main​(java.lang.String[] args)
        Startet eine Standard-Session (Application!).
      • browse

        public void browse​(javax.swing.JInternalFrame browser)
        [Implementierung]
        Overrides:
        browse in class Hovlet
        Parameters:
        browser - Frame des Browsers
      • add

        public boolean add​(Hovlet hovlet)
        Fügt ein Hovlet in diese Session ein.
        Overrides:
        add in class Hovlet
        Parameters:
        hovlet - Hovlet
        Returns:
        true, falls Verknüpfung erfolgte false, falls Verknüpfung nicht erfolgte
        See Also:
        Hovlet.add(...)
      • add

        public boolean add​(Unit unit)
        Fügt eine Unit in die Session ein.
        Parameters:
        unit - Unit
      • add

        public boolean add​(Team team)
        Fügt alle Units eines Teams in die Session ein.
        Parameters:
        team - Team
      • add

        public boolean add​(Unit unit, boolean debug)
        Fügt eine Unit in die Session ein und registriert sie beim Controller für Graphical Debugging.
        Parameters:
        unit - Unit
        debug - Grafik-Ausgabe ein?
      • add

        public boolean add​(Team team, boolean debug)
        Fügt alle Units eines Teams in die Session ein und registriert sie beim Controller für Graphical Debugging.
        Parameters:
        team - Team
        debug - Grafik-Ausgabe ein?
      • start

        public void start()
        Komfortable Methode zum Starten der Session. Diese Methode entspricht den Zeilen:
           controller.show();               
           controller.viewer.show();        
           simulator.state(1);
           simulator.state(2);              
        
      • start

        public void start​(Unit unit)
        Komfortable Methode zum Starten der Session. Diese Methode entspricht den Zeilen:
           unit.show();                     
           controller.viewer.show();        
           simulator.state(1);
           simulator.state(2);              
        
        Parameters:
        unit - Unit, die angezeigt und verfolgt wird