diff --git a/deliverables/JAVADOC/allclasses-index.html b/deliverables/JAVADOC/allclasses-index.html new file mode 100644 index 0000000..a530a8d --- /dev/null +++ b/deliverables/JAVADOC/allclasses-index.html @@ -0,0 +1,449 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + +
+ +
+
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
Network event used to register a new player in the lobby.
+
+ +
+
Network event that transitions all clients to the next round.
+
+ +
+
Represents an Artist character card.
+
+ +
+
General-purpose helper for building fixed-width ASCII/Unicode tables in a TUI.
+
+ +
+
Board manages all the elements during the game such as decks, upper and lower rows, totems, tiles...
+
+ +
+
Defines the available border styles used to render AsciiTable +instances in the text-based user interface.
+
+ +
+
Represents a Builder character card.
+
+ +
+
Building effect that grants 5 food for each new complete set of +6 different character types obtained after purchasing this building.
+
+ +
+
Building effect that grants a discount of 1 food during the Sustenance Event +for each character of the indicated type present in the player's tribe.
+
+ +
+
At the end of the game, the player gains 6 Prestige Points +for each complete set of character types in their tribe.
+
+ +
+
At the end of the game, the player gains Prestige Points based on the number +of cards of the indicated character type in their tribe.
+
+ +
+
At the end of the game, this building grants 25 Prestige Points +to the player who owns it.
+
+ +
+
Building effect that grants 3 food for each new pair of identical inventors +obtained after purchasing this building.
+
+ +
+
At the end of the game, you gain double the Prestige Points indicated on the Builder cards in your tribe.
+
+ +
+
Represents a generic building card in the game.
+
+ +
+
Defines the effect behavior of a building card.
+
+ +
+
Represents a Cave Paintings event card.
+
+ +
+
Abstract base class for all character cards.
+
+ +
+
Represents the different types of character cards available in the game.
+
+ +
+
RMI client callback implementation of IClientCallback.
+
+ +
+
Controller responsible for coordinating the client-side components, +including the view, the network client and the local mini model.
+
+ +
+
Handles the TCP connection with a single client.
+
+ +
+
Entry point for launching the game client with the JavaFX GUI.
+
+ +
+
Inner Application subclass that wires the GUI to the client controller +and hands off control to GUI.start(Stage).
+
+ +
+
Entry point for the TUI-based game client.
+
+ +
+
Forwards every notification to both the RMI and the TCP transport layers.
+
+ +
+
Represents the current state of the game.
+
+ +
+
Utility class responsible for loading and creating decks of cards and slots for the game.
+
+ +
+
Internal data class representing the raw definition of a building card as loaded from a JSON file.
+
+ +
+
Internal data class representing the raw definition of a tribe card as loaded from a JSON file.
+
+ +
+
Network event used to notify all clients that a player has disconnected.
+
+ +
+
NetworkEvent to draw a building card from the lower card list.
+
+ +
+
NetworkEvent to draw a tribe card from the lower card list.
+
+ +
+
NetworkEvent to draw a building card from the upper card list.
+
+ +
+
NetworkEvent to draw a tribe card from the upper card list.
+
+ +
+
Represents the possible effect types of building cards.
+
+ +
+
Network event that signals the end of the game and delivers the final standings.
+
+ +
+
Enumeration of error types that can be returned by server-side operations.
+
+ +
+
Abstract base class for all event cards.
+
+ +
+
Represents the different types of event cards available in the game.
+
+ +
+
Represents the different types of network events that can be sent between +client and server.
+
+ +
+
Ambient fire-particle effect rendered on a transparent overlay pane.
+
+ +
+
A single fire particle with position, velocity, wobble, and JavaFX visual nodes.
+
+ +
+
Represents the main game model.
+
+ +
+
Controller responsible for managing interactions with the Game model.
+
+ +
+
Processes game events from the action queue and routes each one +based on the current game state.
+
+ +
+
Represents the possible stages of a game.
+
+ +
+
Represents a Gatherer character card.
+
+ +
+
JavaFX-based GUI implementation of IView.
+
+ +
+
Handles the heartbeat communication associated with a TCP client.
+
+ +
+
When activated, gives Food and Prestige Points to every player.
+
+ +
+
Represents a Hunter character card.
+
+ +
+
Defines the operations that a client can request during the game.
+
+ +
+
Callback interface used by the server to notify an RMI client about +game updates and incoming network actions.
+
+ +
+
Remote interface used by RMI clients to interact with the game server.
+
+ +
+
Utility class for resolving the local network interface to use when connecting to a server.
+
+ +
+
Represents an Inventor character card.
+
+ +
+
View interface implemented by both the TUI and GUI.
+
+ +
+
FXML controller for the end-of-game leaderboard scene.
+
+ +
+
A ConcurrentHashMap-backed map with a configurable size limit and an associated action.
+
+ +
+
FXML controller for the login scene.
+
+ +
+
FXML controller for the main game scene.
+
+ +
+
Lightweight representation of the game model shared with clients.
+
+ +
+
Shared network constants used by both server and client components.
+
+ +
+
Represents an event sent over the network.
+
+ +
+
Represents the order logic card used in a two-player game.
+
+ +
+
Represents the order logic card used in a three-player game.
+
+ +
+
Represents the order logic card used in a four-player game.
+
+ +
+
Represents the order logic card used in a five-player game.
+
+ +
+
Abstract base class for all order logic cards.
+
+ +
+
Represents a player entry in an order logic card.
+
+ +
+
Abstract base class for all playable cards.
+
+ +
+
Default Player class; contains all identifiers and methods needed.
+
+ +
+
Network event used to notify that a player has reconnected to the game.
+
+ +
+
Client RMI.
+
+ +
+
Server-side heartbeat watchdog for a single RMI client.
+
+ +
+
RMI server responsible for handling remote client connections, +receiving player actions, and propagating game updates.
+
+ +
+
Handles persistence of the game model to and from disk.
+
+ +
+
Main server entry point.
+
+ +
+
Represents a Shaman character card.
+
+ +
+
When activated, rewards the player with the most shaman icons and penalizes the one with the fewest.
+
+ +
+
Network event used to skip the current player's optional card action.
+
+ +
+
Represents a slot with a specific identifier and associated values +for upper cards, lower cards, food, and minimum number of players.
+
+ +
+
NetworkEvent to select a slot where to place the player totem.
+
+ +
+
Represents a Sustenance event card.
+
+ +
+
Client TCP.
+
+ +
+
TCP server responsible for accepting client connections, +handling player registration and reconnection, and sending +game updates to connected clients.
+
+ +
+
Network event used to handle a player's totem choice.
+
+ +
+
FXML controller for the totem selection scene.
+
+ +
+
Represents the different totem colors available in the game.
+
+ +
+
Abstract base class for all tribe cards.
+
+ +
+
Text-based User Interface (TUI) implementation of IView.
+
+
+
+
+
+
+ + diff --git a/deliverables/JAVADOC/allpackages-index.html b/deliverables/JAVADOC/allpackages-index.html new file mode 100644 index 0000000..d2898e4 --- /dev/null +++ b/deliverables/JAVADOC/allpackages-index.html @@ -0,0 +1,103 @@ + + + + +All Packages + + + + + + + + + + + + + + +
+ +
+
+
+
+

All Packages

+
+
Package Summary
+ +
+
+ + diff --git a/deliverables/JAVADOC/constant-values.html b/deliverables/JAVADOC/constant-values.html new file mode 100644 index 0000000..0918303 --- /dev/null +++ b/deliverables/JAVADOC/constant-values.html @@ -0,0 +1,278 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Constant Field Values

+
+
+

it.polimi.*

+
    +
  • +
    it.polimi.ingsw.gc14.ClientLauncherTUI
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final String
    + +
    "ID 0 \u2014 Each time you complete a set of 6 different Character cards, take 5 \ud83c\udf56. (Sets completed before acquiring don\'t count.)\nID 1 \u2014 During the Sustenance Event, pay 1 less \ud83c\udf56 for each Artist/Inventor/Gatherer in your tribe.\nID 2 \u2014 During the Shamanic Ritual Event, you do not lose Prestige Points if you have fewer \u2b50 than all other players.\nID 3 \u2014 When you move your Totem to a Food-bonus space, take 1 extra \ud83c\udf56. If placed last, pay 1 \ud83c\udf56 normally (no effect).\nID 4 \u2014 Each time you obtain a pair of identical Inventors (same icon), take 3 \ud83c\udf56. (Pairs owned before don\'t count.)\nID 5 \u2014 During the Shamanic Ritual Event, your tribe has 3 additional \u2b50 icons.\nID 6 \u2014 During the Shamanic Ritual Event, if you have more \u2b50 than any other player, gain double Prestige. Ties still count.\nID 7 \u2014 During the Hunt Event, take 1 \ud83c\udf56 and gain 1 extra Prestige Point for each Hunter in your tribe.\nID 8 \u2014 At end of game, gain double the Prestige Points shown on Builder cards in your tribe.\nID 9 \u2014 During the Cave Paintings Event, take 1 \ud83c\udf56 for each Artist in your tribe.\nID 10 \u2014 At end of game, gain 6 Prestige Points for each complete set of 6 different Character cards.\nID 11 \u2014 At end of game, gain the indicated Prestige Points for each Character card of the indicated type.\nID 12 \u2014 After all Totems return to Turn Order (before End of Round), take 1 Character or 1 Building card from the top row (paying its cost).\nID 13 \u2014 At end of game, gain 25 Prestige Points."
    +
    private static final String
    + +
    "INVENTORS \u2014 At end of game, gain PP equal to (number of Inventors) \u00d7 (number of different Invention icons).\n There are 10 different Invention icons.\n\nGATHERERS \u2014 During Sustenance, each Gatherer gives a 3\ud83c\udf56 discount on what you owe.\n Note: you do not take any Food from Gatherers under any circumstances.\n\nSHAMANS \u2014 Each Shaman shows 1\u20133 \ud83c\udf1f icons. During Shamanic Ritual, majority = gain PP; minority = lose PP.\n\nBUILDERS \u2014 During the game, each Builder reduces the \ud83c\udf56 cost of every Building card by the amount\n shown in the top-right corner. At end of game, each Builder gives the PP shown in the bottom-left corner.\n\nARTISTS \u2014 During Cave Paintings, gain or lose PP based on Artist count (see \'details events\').\n At end of game, gain 10 PP for every 2 Artists in your tribe.\n\nHUNTERS \u2014 Adding a Hunter without the \ud83c\udf56 icon: nothing. Adding a Hunter WITH the \ud83c\udf56 icon:\n immediately take 1 \ud83c\udf56 for each Hunter in your tribe (with or without the icon).\n During Hunt Event, take \ud83c\udf56 and gain PP based on your Hunter count (see \'details events\')."
    +
    private static final String
    + +
    "SUSTENANCE \u2014 Pay 1 \ud83c\udf56 per Character (Buildings don\'t count). If you can\'t feed all Characters, lose the\n Prestige Points shown on the card for each one you couldn\'t feed. Each Gatherer gives a 3\ud83c\udf56 discount.\n You cannot choose to lose PP to avoid paying Food. Sustenance resolves last if multiple Events occur.\n\nHUNT \u2014 Take 1 \ud83c\udf56 and gain the Prestige Points shown on the card for each Hunter in your tribe.\n\nSHAMANIC RITUAL \u2014 Player with the most \ud83c\udf1f icons gains the Prestige Points on the card.\n Player with the fewest \ud83c\udf1f icons loses those Prestige Points. In case of a tie, all tied players gain/lose.\n\nCAVE PAINTINGS \u2014 If you have fewer Artists than the top-line threshold, lose the indicated Prestige Points.\n If you meet the bottom-line threshold, gain the indicated Prestige Points for each Artist in your tribe."
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.SaveManager
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final String
    + +
    "GameSaves/save.dat"
    +
    +
  • +
+
    +
  • +
    it.polimi.ingsw.gc14.Model.Player
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    10
    +
    +
  • +
+
    +
  • +
    it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    5
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    6
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    25
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    3
    +
    +
  • +
+
    +
  • +
    it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    1
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    3
    +
    +
  • +
  • +
    it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    3
    +
    +
  • +
+ +
    +
  • +
    it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    1
    +
    private static final int
    + +
    2
    +
    +
  • +
+
    +
  • +
    it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    private static final int
    + +
    1
    +
    private static final int
    + +
    2
    +
    +
  • +
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/element-list b/deliverables/JAVADOC/element-list new file mode 100644 index 0000000..1cb7244 --- /dev/null +++ b/deliverables/JAVADOC/element-list @@ -0,0 +1,22 @@ +module:it.polimi.ingsw.gc14 +it.polimi.ingsw.gc14 +it.polimi.ingsw.gc14.Controller +it.polimi.ingsw.gc14.Model +it.polimi.ingsw.gc14.Model.Cards +it.polimi.ingsw.gc14.Model.Cards.Building +it.polimi.ingsw.gc14.Model.Cards.Building.Effects +it.polimi.ingsw.gc14.Model.Cards.TribeCards +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events +it.polimi.ingsw.gc14.Model.GamePackage +it.polimi.ingsw.gc14.Model.Orders +it.polimi.ingsw.gc14.Network +it.polimi.ingsw.gc14.Network.NetworkEvents +it.polimi.ingsw.gc14.Network.RMI.Client +it.polimi.ingsw.gc14.Network.RMI.Common +it.polimi.ingsw.gc14.Network.RMI.Server +it.polimi.ingsw.gc14.Network.TCP.Client +it.polimi.ingsw.gc14.Network.TCP.Server +it.polimi.ingsw.gc14.View +it.polimi.ingsw.gc14.View.GUI +it.polimi.ingsw.gc14.View.TUI diff --git a/deliverables/JAVADOC/help-doc.html b/deliverables/JAVADOC/help-doc.html new file mode 100644 index 0000000..bb8af42 --- /dev/null +++ b/deliverables/JAVADOC/help-doc.html @@ -0,0 +1,224 @@ + + + + +API Help + + + + + + + + + + + + + + +
+ +
+
+ +
+

JavaDoc Help

+
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+

Keyboard Navigation

+

Documentation pages provide keyboard shortcuts to facilitate access to common navigation tasks.

+
    +
  • Type +/ + to access the search input field in any page.
  • +
  • Type +. + to access the filter input field in the sidebar of class pages.
  • +
  • Type +Esc + to clear the input and release keyboard focus in any input field.
  • +
  • Type +Tab +/ + +/ + + to select list items after entering a search term in a search or filter input field.
  • +
  • Type + +/ + + to switch between tabs in tabbed summary tables.
  • +
+
+
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Module

+

Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:

+
    +
  • Packages
  • +
  • Modules
  • +
  • Services
  • +
+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exception Classes
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+
+

Release Details

+

The details for each module, package, class or interface normally include the release in which the declaration was introduced.

+

When a member is added after the initial introduction of the enclosing class or interface, the details of the member include the release in which it was introduced.

+
+
+This help file applies to API documentation generated by the standard doclet.
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-1.html b/deliverables/JAVADOC/index-files/index-1.html new file mode 100644 index 0000000..3ffa79e --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-1.html @@ -0,0 +1,386 @@ + + + + +A-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
abortGame() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Cancels the forfeit timer, clears the player list, and resets the model.
+
+
acceptHeartbeat() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Accepts heartbeat connections and associates them with the correct client handler.
+
+
action - Variable in class it.polimi.ingsw.gc14.LimitedMap
+
+
The action to execute when the map size reaches or exceeds the limit.
+
+
action - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Action run when the player returns to the login screen (disconnect + scene switch).
+
+
actionQueue - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Queue from which incoming client events are consumed one at a time.
+
+
actionQueue - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Shared event queue; a DisconnectedPlayer event is posted here on timeout.
+
+
actionQueue - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Shared queue to which player actions are added for sequential processing.
+
+
actionQueue - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Queue containing the events to be applied to the game model
+
+
actionQueue - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Queue containing network events received from clients.
+
+
activateEvent(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
Activates the effect of this event card on the specified list of players.
+
+
activateEvent(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
Activates the CavePaintings event for the specified list of players.
+
+
activateEvent(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Activates the event card "Hunt".
+
+
activateEvent(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Activates the event card "Shamanic Ritual".
+
+
activateEvent(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Activates the Sustenance event for the specified list of players.
+
+
activeProtocolPseudo - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
CSS pseudo-class applied to the active protocol label.
+
+
ADD_PLAYER - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to add a player to the game.
+
+
addClip(ImageView) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Binds a rounded-rectangle clip to img so its corners are cropped.
+
+
addFood(int) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Adds value amount of Food to the Player.
+
+
addHeader(String...) - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Inserts a header row at position 0 and marks it with a separator line below it.
+
+
addHoverZoom(Node) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Scales node to 1.02× on hover and sets a hand cursor.
+
+
addHoverZoom(Node) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Scales node to 1.1× on hover and restores on exit; sets a hand cursor.
+
+
addPlayer(Player) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to add the specified player to the game.
+
+
addPlayer(String) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to add a new player with the specified username to the game model.
+
+
AddPlayer - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event used to register a new player in the lobby.
+
+
AddPlayer(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
+
Class constructor.
+
+
addPrestige(int) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Adds value amount of Prestige to the Player.
+
+
addRow(String...) - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Appends a row using varargs cells.
+
+
addRow(List) - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Appends a row from an existing list.
+
+
addSeparator() - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Marks a separator line to be drawn after the last row added so far.
+
+
addShadow(Node) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Applies a static drop-shadow to node.
+
+
addShadow(Node) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Applies a drop-shadow to node that intensifies on hover.
+
+
addTo(Pane) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Adds this particle's visual nodes to pane (glow first so core renders on top).
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Applies this event to the specified server-side game controller.
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Not applicable server-side.
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
+
Applies this disconnection event to the server-side game controller.
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame
+
+
Not applicable server-side.
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer
+
+
Applies the reconnection event to the server-side game controller.
+
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice
+
 
+
apply(GameController) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
Applies the totem choice event to the server-side game controller.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Applies this event to the specified client-side mini model.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
+
Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Applies this event to the client-side mini model, updating all board lists, +slot map, turn order, and game state for the new round.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
+
Applies this disconnection event to the client-side mini model, +updating player data, turn order, game state, and disconnected player list.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard
+
+
Applies this event to the client-side mini model, removing the drawn card +from the lower building list and updating players, turn order, game state, and slot map.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard
+
+
Applies this event to the client-side mini model, removing the drawn card +from the lower tribe list and updating players, turn order, game state, and slot map.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard
+
+
Applies this event to the client-side mini model, removing the drawn card +from the upper building list and updating players, turn order, game state, and slot map.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard
+
+
Applies this event to the client-side mini model, removing the drawn card +from the upper tribe list and updating players, turn order, game state, and slot map.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame
+
+
Applies this event to the client-side mini model, updating the final +game state and setting the standings list for the leaderboard.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer
+
+
Applies the reconnection update to the client-side mini model.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn
+
+
Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map after a skip turn action.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice
+
+
Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map after a slot selection.
+
+
apply(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
Applies the totem choice update to the client-side mini model.
+
+
applyAndBroadcast(NetworkEvent) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Applies the event to the game controller, saves the updated state, +and broadcasts the result to connected clients.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Applies the building effect to the specified player.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
Applies the effect of this building card to the specified player.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Applies the effect of this building card to the specified player.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
Applies the effect of this building card to the specified player, +granting 25 Prestige Points.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Applies the building effect to the specified player.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building8
+
+
Applies the building effect by granting additional Prestige Points equal to +the Prestige Value of each Builder card owned by the player.
+
+
applyEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Default implementation of the building effect.
+
+
ApplyNextRound - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event that transitions all clients to the next round.
+
+
ApplyNextRound(Map, OrderLogicCard, CurrentState, List, ArrayList, ArrayList, ArrayList, ArrayList) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Constructs an event that updates the game state for the next round.
+
+
armed - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
Artist - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents an Artist character card.
+
+
Artist(int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Creates an Artist character card with the specified era.
+
+
Artist(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Creates an Artist character card with the specified Era and minimum number of players required to play it.
+
+
Artist(String, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Creates an Artist character card with the specified image id and era.
+
+
Artist(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Creates an Artist character card with the specified image id, era and +minimum number of players required to play it.
+
+
ARTIST - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing an Artist.
+
+
artists - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Artist cards in the player's deck.
+
+
AsciiTable - Class in it.polimi.ingsw.gc14.View.TUI
+
+
General-purpose helper for building fixed-width ASCII/Unicode tables in a TUI.
+
+
AsciiTable(BorderStyle, int) - Constructor for class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Creates a new empty table with the given border style and column count.
+
+
autoReenterFullscreen - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
When true, the app re-enters fullscreen automatically after ESC is pressed.
+
+
availableTotems - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
List of totems still available for selection.
+
+
availableTotems - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
+
Updated list of totems available after the disconnection frees any previously chosen totem.
+
+
availableTotems - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
List of totems still available after the choice has been processed.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-10.html b/deliverables/JAVADOC/index-files/index-10.html new file mode 100644 index 0000000..bb6d154 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-10.html @@ -0,0 +1,70 @@ + + + + +J-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

J

+
+
joinGame(String, int, IClientCallback) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Adds a player to the game and registers the callback used by the server +to notify the corresponding RMI client.
+
+
joinGame(String, int, IClientCallback) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Adds a player to the game and registers the callback used by the server +to notify the corresponding RMI client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-11.html b/deliverables/JAVADOC/index-files/index-11.html new file mode 100644 index 0000000..190f75d --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-11.html @@ -0,0 +1,66 @@ + + + + +K-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

K

+
+
KEEPALIVE_INTERVAL_MS - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Milliseconds between keep-alive pings sent by the client.
+
+
keySet() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-12.html b/deliverables/JAVADOC/index-files/index-12.html new file mode 100644 index 0000000..091405d --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-12.html @@ -0,0 +1,217 @@ + + + + +L-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

L

+
+
labelErrore - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Label used to show error or success messages.
+
+
labelRMI - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Label for the RMI side of the protocol toggle.
+
+
labelTCP - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Label for the TCP side of the protocol toggle.
+
+
lastEvent - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
The most recent network event applied to this model.
+
+
lastFrame - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Timestamp (ns) of the last rendered frame.
+
+
lastPingTime - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Last time a ping was received from this client.
+
+
lastReceivedTime - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Timestamp of the last received heartbeat message.
+
+
lastSpawn - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Timestamp (ns) of the last particle spawn batch.
+
+
LeaderboardFXMLController - Class in it.polimi.ingsw.gc14.View.GUI
+
+
FXML controller for the end-of-game leaderboard scene.
+
+
LeaderboardFXMLController() - Constructor for class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
 
+
leaderboardScene - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
The end-of-game leaderboard scene.
+
+
life - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Remaining life fraction (1.0 = full, 0.0 = dead); only decrements for sparks.
+
+
limit - Variable in class it.polimi.ingsw.gc14.LimitedMap
+
+
The maximum number of elements allowed in the map before the action is triggered.
+
+
limitedMap - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Maps each connected player's username to their connection state (true = connected).
+
+
LimitedMap<K,V> - Class in it.polimi.ingsw.gc14
+
+
A ConcurrentHashMap-backed map with a configurable size limit and an associated action.
+
+
LimitedMap(int, Runnable) - Constructor for class it.polimi.ingsw.gc14.LimitedMap
+
+
Creates a new LimitedMap with the specified limit and action.
+
+
lineReader - Variable in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
JLine reader — when non-null, all output uses printAbove so the +readline prompt is preserved after background-thread renders.
+
+
load() - Method in class it.polimi.ingsw.gc14.SaveManager
+
+
Deserializes the game model from disk.
+
+
loadBuildingDeck(String) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Loads the full building card deck from the specified JSON resource file path.
+
+
loadBuildingDeckByEra(int) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Loads the building card deck for the specified era, filtering cards from the global building deck.
+
+
loaderLeaderboard - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
FXML loader for the leaderboard scene.
+
+
loaderLogin - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
FXML loader for the login scene.
+
+
loaderMain - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
FXML loader for the main game scene.
+
+
loaderTotem - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
FXML loader for the totem selection scene.
+
+
loadImage(String) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Returns a cached Image for the given classpath path, loading it on first access.
+
+
loadImage(String) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Returns a cached Image for the given classpath path, loading it on first access.
+
+
loadSlotDeck() - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Creates and returns the list of slots used as the game board.
+
+
loadTribeDeck(String) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Loads a tribe card deck from the specified JSON resource file path.
+
+
loadTribeDeckByEra(int) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Loads the tribe card deck for the specified era from the corresponding JSON resource file.
+
+
LoginFXMLController - Class in it.polimi.ingsw.gc14.View.GUI
+
+
FXML controller for the login scene.
+
+
LoginFXMLController() - Constructor for class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
 
+
loginScene - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
The login scene.
+
+
lowerDrawn() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Decrements the number of lower cards by 1.
+
+
lowerList - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
HBox holding the lower tribe card row (and lower building stack).
+
+
lowerListBuilding - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Contains all the building cards of the lower list.
+
+
lowerListBuildingCards - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Lower row of building cards currently on the board.
+
+
lowerListBuildingCards - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Building cards shown in the lower row of the board for the new round.
+
+
lowerListTribe - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
The lower row of the tribe card.
+
+
lowerListTribeCards - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Lower row of tribe cards currently on the board.
+
+
lowerListTribeCards - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Tribe cards shown in the lower row of the board for the new round.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-13.html b/deliverables/JAVADOC/index-files/index-13.html new file mode 100644 index 0000000..a8c83e5 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-13.html @@ -0,0 +1,182 @@ + + + + +M-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

M

+
+
main(String[]) - Static method in class it.polimi.ingsw.gc14.ClientLauncherGUI
+
+
Launches the GUI application.
+
+
main(String[]) - Static method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Launches the TUI client.
+
+
main(String[]) - Static method in class it.polimi.ingsw.gc14.ServerLauncher
+
+
Initializes all server components, wires them together, restores a saved +game if available, and starts the event-processing loop and both network +servers.
+
+
MainFXMLController - Class in it.polimi.ingsw.gc14.View.GUI
+
+
FXML controller for the main game scene.
+
+
MainFXMLController() - Constructor for class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
 
+
mainHandler - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Main client handler associated with this heartbeat connection.
+
+
mainHBox - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Root HBox containing all main scene elements.
+
+
mainHBox - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
HBox containing the totem card widgets.
+
+
mainPort - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
TCP port
+
+
mainScene - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
The main game scene.
+
+
mainVBox - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Main vertical container holding the outcome label and ranking rows.
+
+
map - Variable in class it.polimi.ingsw.gc14.LimitedMap
+
+
The underlying thread-safe hash map storing all key-value pairs.
+
+
markAsPlayed() - Method in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Marks this player as having played in the current order sequence.
+
+
MAX_PARTICLES - Static variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Maximum number of live particles at any given time.
+
+
MAX_PLAYERS - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Maximum number of players allowed in a game.
+
+
MAX_USERNAME_LENGTH - Static variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The maximum length allowed for the username string.
+
+
mb - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
mb() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
MIN_PLAYERS - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Minimum number of players required to start a game.
+
+
miniModel - Variable in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Local mini model representing the client-side game state.
+
+
miniModel - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Latest mini model received from the server.
+
+
MiniModel - Class in it.polimi.ingsw.gc14.Model
+
+
Lightweight representation of the game model shared with clients.
+
+
MiniModel(Map, OrderLogicCard, CurrentState, List, List, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Constructs a complete mini model from the current server-side game data.
+
+
ml - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
model - Variable in class it.polimi.ingsw.gc14.Controller.GameController
+
+
The game model managed by this controller.
+
+
model - Variable in class it.polimi.ingsw.gc14.View.TUI.TUI
+
 
+
mr - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
mt - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
mt() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
myHand - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
HBox displaying the local player's card piles.
+
+
myIp - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Local IP address advertised to the RMI runtime so callbacks are routed correctly.
+
+
myUsername - Variable in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Username associated with this client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-14.html b/deliverables/JAVADOC/index-files/index-14.html new file mode 100644 index 0000000..29de8b1 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-14.html @@ -0,0 +1,201 @@ + + + + +N-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

N

+
+
nameStyle(boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Returns the CSS style string for the totem name label, brightening it when selected.
+
+
NetworkConfig - Class in it.polimi.ingsw.gc14.Network
+
+
Shared network constants used by both server and client components.
+
+
NetworkConfig() - Constructor for class it.polimi.ingsw.gc14.Network.NetworkConfig
+
 
+
NetworkEvent - Class in it.polimi.ingsw.gc14.Network
+
+
Represents an event sent over the network.
+
+
NetworkEvent(String, EventType, boolean, ErrorType) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Constructs a network event.
+
+
NEXT_ROUND - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to apply the transition to the next round.
+
+
nextEra() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Changes the era of the game: + - Increase the era attribute
+
+
nextPlayerSetup() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Prepares the next player and updates the game state according to the current game stage.
+
+
nextRound() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Advances the game to the next round.
+
+
nextRound() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Goes to the next round
+
+
nLower - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
The minimum number of Artist cards required to avoid the prestige penalty.
+
+
nLower - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The number of lower cards currently available.
+
+
nLower - Variable in class it.polimi.ingsw.gc14.Model.Slot
+
+
The number of lower cards associated with this slot.
+
+
nMin - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
The minimum number of players required for this tribe card.
+
+
nMinPlayer - Variable in class it.polimi.ingsw.gc14.Model.Slot
+
+
The minimum number of players required for this slot.
+
+
notifyAll(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
Forwards the model snapshot to every client on both transports.
+
+
notifyAll(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Notifies all connected RMI clients of a new game model.
+
+
notifyAll(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Notifies all connected TCP clients of a new game model.
+
+
notifyAll(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
Forwards the event to both the RMI and the TCP server.
+
+
notifyAll(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Notifies connected RMI clients of a new network event.
+
+
notifyAll(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Notifies connected TCP clients of a new network event.
+
+
notifyDisconnection() - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Notifies the server of a voluntary disconnection and closes the connection.
+
+
notifyDisconnection() - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Notifies the server of a voluntary disconnection via RMI, then stops +the keep-alive scheduler.
+
+
notifyDisconnection() - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Notifies the server of a voluntary disconnection by sending a sentinel value +on the heartbeat channel, then closes the connection.
+
+
notifyEvent(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Sends a NetworkEvent to the client.
+
+
notifyMiniModel(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Sends the current game model to this client.
+
+
nPlayers - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The configured number of players for this game.
+
+
nPort - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Port on which the RMI registry is bound.
+
+
nPrestigeMul - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
The Prestige multiplier applied if the player has at least nLower Artist cards.
+
+
nPrestigeRem - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
The amount of Prestige removed if the player has fewer Artist cards than nLower.
+
+
nTotem - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Number of players
+
+
numPair - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Number of inventor pairs already counted by this building effect.
+
+
numSet - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Number of complete character sets already counted by this building effect.
+
+
nUpper - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The number of upper cards currently available.
+
+
nUpper - Variable in class it.polimi.ingsw.gc14.Model.Slot
+
+
The number of upper cards associated with this slot.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-15.html b/deliverables/JAVADOC/index-files/index-15.html new file mode 100644 index 0000000..c1500c8 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-15.html @@ -0,0 +1,204 @@ + + + + +O-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

O

+
+
ON_END_TURN - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect triggered at the end of a player's turn.
+
+
ON_EVENT - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect triggered when an event card is resolved.
+
+
ON_ROUND_END - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect triggered at the end of a round.
+
+
onAccediClick() - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Validates form input and starts a background thread to connect to the server.
+
+
onAction(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl
+
+
Called by the server when an action has been accepted.
+
+
onAction(NetworkEvent) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback
+
+
Notifies the client about a network action to process.
+
+
onConfirm() - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Submits the selected totem index to the controller when the confirm button is clicked.
+
+
onGameInit(MiniModel) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl
+
+
Called by the server when the game is initialized.
+
+
onGameInit(MiniModel) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback
+
+
Notifies the client that the game model has been initialized or updated.
+
+
onlinePlayerCount() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Returns the number of players currently marked as online in the player list.
+
+
onNewGame() - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Disconnects the client and invokes the post-game action to return to the login scene.
+
+
openDetailsPopup() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Shows the deck details/rules card in the popup.
+
+
openPlayerPopup(Player) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Opens the player-detail popup showing all cards held by player, grouped by type.
+
+
openPopup(ArrayList) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Populates the popup with non-clickable card images and shows it.
+
+
openPopupLowerBuilding(ArrayList) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Populates the popup with clickable lower-building cards; clicking one draws it via the controller.
+
+
openPopupUpperBuilding(ArrayList) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Populates the popup with clickable upper-building cards; clicking one draws it via the controller.
+
+
OPT_CARD_E - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which an optional card effect can be resolved.
+
+
optionalCardQueue - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The queue of players involved in optional card resolution.
+
+
ORANGE - Enum constant in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Orange totem.
+
+
Order2 - Class in it.polimi.ingsw.gc14.Model.Orders
+
+
Represents the order logic card used in a two-player game.
+
+
Order2(ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.Orders.Order2
+
+
Creates an Order2 logic card for a two-player game.
+
+
Order3 - Class in it.polimi.ingsw.gc14.Model.Orders
+
+
Represents the order logic card used in a three-player game.
+
+
Order3(ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.Orders.Order3
+
+
Creates an Order3 logic card for a three-player game.
+
+
Order4 - Class in it.polimi.ingsw.gc14.Model.Orders
+
+
Represents the order logic card used in a four-player game.
+
+
Order4(ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.Orders.Order4
+
+
Creates an Order4 logic card for a four-player game.
+
+
Order5 - Class in it.polimi.ingsw.gc14.Model.Orders
+
+
Represents the order logic card used in a five-player game.
+
+
Order5(ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.Orders.Order5
+
+
Creates an Order5 logic card for a five-player game.
+
+
orderLogicCard - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The order logic card associated with this game.
+
+
orderLogicCard - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Card used to manage the player turn order.
+
+
orderLogicCard - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Order logic card used to manage the player turn order.
+
+
OrderLogicCard - Class in it.polimi.ingsw.gc14.Model
+
+
Abstract base class for all order logic cards.
+
+
OrderLogicCard(ArrayList) - Constructor for class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Creates an order logic card with the specified list of players.
+
+
OrderPlayer - Class in it.polimi.ingsw.gc14.Model.Orders
+
+
Represents a player entry in an order logic card.
+
+
OrderPlayer(Player, boolean) - Constructor for class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Creates an order entry for the specified player.
+
+
out - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Output stream used to send objects to the client
+
+
out - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Output stream of HeartbeatHandler.socket used to send PONG bytes back to the client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-16.html b/deliverables/JAVADOC/index-files/index-16.html new file mode 100644 index 0000000..f0b6240 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-16.html @@ -0,0 +1,344 @@ + + + + +P-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

P

+
+
pane - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Mouse-transparent overlay pane that hosts all particle nodes.
+
+
params - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
params - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
parsePos(String[], int) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Parses an integer position argument at idx in parts.
+
+
Particle(double, double, double, double, int, Random) - Constructor for class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Initializes the particle at position (x, y) with velocity +aimed roughly from the given corner toward the scene center.
+
+
particles - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Currently live particles.
+
+
pendingHeartbeat - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Temporary map associating each username with the corresponding +ClientHandler waiting for its heartbeat connection.
+
+
ping(String) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Heartbeat method called periodically by the client to signal +that it is still connected.
+
+
ping(String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Receives a heartbeat ping from the client.
+
+
PING - Static variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Byte value sent by the client to signal it is still alive.
+
+
PING - Static variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Byte value representing a heartbeat ping message.
+
+
pingSender - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Scheduler that fires ping() every 3000L ms.
+
+
PlayableCard - Class in it.polimi.ingsw.gc14.Model
+
+
Abstract base class for all playable cards.
+
+
PlayableCard(int) - Constructor for class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Creates a playable card with the specified era.
+
+
PlayableCard(String, int) - Constructor for class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Creates a playable card with the specified image id and era.
+
+
played - Variable in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Indicates whether the player has already played.
+
+
player - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The current player associated with the game state.
+
+
player - Variable in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
The player associated with this order entry.
+
+
Player - Class in it.polimi.ingsw.gc14.Model
+
+
Default Player class; contains all identifiers and methods needed.
+
+
Player(String) - Constructor for class it.polimi.ingsw.gc14.Model.Player
+
+
Constructor for the class Player.
+
+
playerCards - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Maps each player's username to their player-card VBox in the side panel.
+
+
playerList - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Shared map tracking each player's online status (true = online).
+
+
playerList - Variable in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
The list of OrderPlayer entries tracking turn order and played status.
+
+
playerList - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
List of all players.
+
+
playerList - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Shared map used to mark the player as offline on timeout.
+
+
playerList - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Shared map tracking each player's connection status (true = online).
+
+
playerList - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Map storing the online/offline status of connected players.
+
+
players - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Map of players indexed by username.
+
+
players - Variable in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
The queue of Players associated with this order logic card.
+
+
playerSide - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Scrollable container holding all player side-panel cards.
+
+
playersList - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The list of players participating in the game.
+
+
playerStanding - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The final ranking of players at the end of the game.
+
+
playerUpdate(Player, Slot) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Updates the current player, slot, and available draws.
+
+
PONG - Static variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Byte value expected from the server in response to a TCPClient.PING.
+
+
PONG - Static variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Byte value representing a heartbeat pong response.
+
+
popup - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Auto-hiding popup that shows detailed player card information.
+
+
popup - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Shared popup used for card previews and building selection.
+
+
popupCards - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
HBox inside MainFXMLController.popup that holds the displayed card images.
+
+
popupContent - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Content container inside LeaderboardFXMLController.popup.
+
+
port - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Port of the RMI registry.
+
+
port - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Main TCP port used for standard client-server communication.
+
+
pos - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard
+
+
Index of the card to draw
+
+
pos - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard
+
+
Index of the card to draw
+
+
pos - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard
+
+
Index of the card to draw
+
+
pos - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard
+
+
Index of the card to draw
+
+
pos - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice
+
+
Index of the selected slot.
+
+
PRESTIGE_AWARD - Static variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
Prestige points granted at end of game by this building.
+
+
PRESTIGE_PER_CHARACTER_SET - Static variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
Prestige points granted per complete character set at end of game.
+
+
prestigeDebt - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
The prestige penalty multiplier applied for each unpaid Food unit.
+
+
prestigeLabels - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Maps each player's username to their current prestige-value label in the side panel.
+
+
prestigeMul - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
The prestige multiplier applied per matching character card at end of game.
+
+
prestigeMultiplier - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Prestige Points multiplier used during the event.
+
+
prestigeToAdd - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Prestige points awarded to the player with the most shaman icons.
+
+
prestigeToRemove - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Prestige points removed from the player with the fewest shaman icons.
+
+
prestigeValue - Variable in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
The prestige value of this building card.
+
+
prestigeValue - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
The prestige value provided by this Builder card.
+
+
prestigeValue - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
prestigeValue - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current amount of Prestige the Player possesses.
+
+
price - Variable in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
The price of this building card.
+
+
price - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
primaryStage - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
The primary JavaFX stage.
+
+
printLine(String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Prints text above the prompt without clearing the screen.
+
+
proposedNPlayer - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
+
Number of players proposed by this player; used only when creating a new game.
+
+
protocolToggle - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Toggle container for switching between RMI and TCP.
+
+
pull() - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Removes and returns the first player in the queue.
+
+
purchased - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Indicates whether the building effect has already been initialized +after purchase.
+
+
purchased - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Indicates whether the building effect has already been initialized +after purchase.
+
+
PURPLE - Enum constant in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Purple totem.
+
+
push(Player) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Applies the effect associated with the current queue position of the player +and then adds the player to the end of the queue.
+
+
pushNoEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Moves the specified player to the end of the queue without applying effects.
+
+
put(K, V) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
+
Associates the specified value with the specified key in this map.
+
+
putAll(Map) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-17.html b/deliverables/JAVADOC/index-files/index-17.html new file mode 100644 index 0000000..236b281 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-17.html @@ -0,0 +1,64 @@ + + + + +Q-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Q

+
+
quitBtn - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Button that disconnects and closes the client.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-18.html b/deliverables/JAVADOC/index-files/index-18.html new file mode 100644 index 0000000..404ded6 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-18.html @@ -0,0 +1,333 @@ + + + + +R-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

R

+
+
rankingList - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Vertical list populated with one HBox row per ranked player.
+
+
receiveMessage() - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Listens continuously for incoming objects from the server
+
+
receivePing() - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Called by RMIServer.ping(String) each time the client pings.
+
+
RECONNECT_PLAYER - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to notify that a player has reconnected.
+
+
reconnectPlayer(Player) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Marks the specified player as reconnected.
+
+
reconnectPlayer(String) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Marks the player associated with the specified username as reconnected.
+
+
ReconnectPlayer - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event used to notify that a player has reconnected to the game.
+
+
ReconnectPlayer(String) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer
+
+
Constructs a reconnection event for the specified player.
+
+
reductionValue - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
The reduction value provided by this Builder card.
+
+
rejectEvent(NetworkEvent) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Marks the event as an error and broadcasts it back to the requesting +player.
+
+
remove(Object) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
removeFood(int) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Removes value amount of Food from the Player.
+
+
removeFrom(Pane) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Removes this particle's visual nodes from pane.
+
+
removeFromQueue(Player) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Removes the given player from both the turn queue and the order list.
+
+
removeLowerBuildingCard(int) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Removes the card at the given position from the lower building card list.
+
+
removeLowerBuildingCard(BuildingCard) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Take the selected card from the lower building list of the board.
+
+
removeLowerTribeCard(int) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Removes the card at the given position from the lower tribe card list.
+
+
removeLowerTribeCard(TribeCard) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Take the selected card from the lower tribe list of the board.
+
+
removeOfflinePlayers() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Removes all offline entries (value false) from the player list.
+
+
removePrestige(int) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Removes value amount of Prestige from the Player.
+
+
removeUpperBuildingCard(int) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Removes the card at the given position from the upper building card list.
+
+
removeUpperBuildingCard(BuildingCard) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Take the selected card from the upper building list of the board.
+
+
removeUpperTribeCard(int) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Removes the card at the given position from the upper tribe card list.
+
+
removeUpperTribeCard(TribeCard) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Take the selected card from the upper tribe list of the board.
+
+
render() - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Re-renders the GUI on the JavaFX application thread, switching to the +appropriate scene based on the current game stage.
+
+
render() - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Populates the ranking list with the final player standings and shows the outcome banner.
+
+
render() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Incrementally re-renders only the parts of the scene affected by the last network event.
+
+
render() - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Renders the totem selection cards with entry animations.
+
+
render() - Method in interface it.polimi.ingsw.gc14.View.IView
+
+
Re-renders the view based on the current mini model state.
+
+
render() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Default render: dispatches to the right view based on game stage.
+
+
renderBackground() - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Sets the full-cover background image on the root pane.
+
+
renderBackground() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Sets the full-cover background image on the main HBox container.
+
+
renderBoard() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Clears the board area and orchestrates deck, order card, and slot-map rendering.
+
+
renderBoard() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Renders the board + menu (top) and all players' hands in a grid (bottom).
+
+
renderDeck() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Adds the era-specific deck back image to the board.
+
+
renderLower() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Clears and rebuilds the lower tribe row with click handlers for drawing, then appends the lower building stack.
+
+
renderMyHand() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Clears and re-renders all seven card-type piles in the local player's hand area.
+
+
renderOrder() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Renders the order card and overlays each player's totem at their proportional position.
+
+
renderSlotMap() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Adds a clickable slot widget for each entry in the slot-player map.
+
+
renderUpper() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Clears and rebuilds the upper tribe row with click handlers for drawing, then appends the upper building stack.
+
+
RES_ACTIONS - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which the mandatory actions associated with the chosen slots are resolved.
+
+
RES_EVENT - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which an event card is being resolved.
+
+
resolveLocalInterface(String) - Static method in class it.polimi.ingsw.gc14.Network.InterfaceResolver
+
+
Returns the local IPv4 address that can reach the given server IP.
+
+
restoreGameIfSaved(GameController, LimitedMap, SaveManager) - Static method in class it.polimi.ingsw.gc14.ServerLauncher
+
+
Attempts to restore a previously saved game.
+
+
RMI_PORT - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Port on which the RMI registry listens.
+
+
RMIClient - Class in it.polimi.ingsw.gc14.Network.RMI.Client
+
+
Client RMI.
+
+
RMIClient(ClientController, String, int, String) - Constructor for class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Constructs an RMI client and initializes its connection parameters.
+
+
RMIHeartbeat - Class in it.polimi.ingsw.gc14.Network.RMI.Server
+
+
Server-side heartbeat watchdog for a single RMI client.
+
+
RMIHeartbeat(String, LimitedMap, Map, BlockingQueue) - Constructor for class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Constructs an RMI heartbeat handler for the specified client.
+
+
rmiServer - Variable in class it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
RMI transport used to reach RMI-connected clients.
+
+
RMIServer - Class in it.polimi.ingsw.gc14.Network.RMI.Server
+
+
RMI server responsible for handling remote client connections, +receiving player actions, and propagating game updates.
+
+
RMIServer(GameController, int, BlockingQueue, LimitedMap, String) - Constructor for class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Constructs an RMI server with the required game and network components.
+
+
rnd - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Shared random source used during physics updates.
+
+
rnd - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Shared random source for particle initialization and physics noise.
+
+
rootPane - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Root pane of the leaderboard scene; used to set the background and anchor the popup.
+
+
round - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The current round of the game.
+
+
ROUNDED - Enum constant in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Rounded Unicode border style.
+
+
roundUpdate() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Increments the current round by 1.
+
+
rows - Variable in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
All rows of the table, in insertion order.
+
+
rpad(String, int) - Static method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Pads s with trailing spaces so its display width equals w.
+
+
run() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Listens for incoming NetworkEvents from the client and adds them to the ClientHandler.actionQueue.
+
+
run() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Starts the heartbeat listening loop.
+
+
run() - Method in class it.polimi.ingsw.gc14.ServerLauncher
+
+
Runs the event-processing loop until the thread is interrupted.
+
+
running - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
true while the heartbeat loop is active; set to false on disconnect.
+
+
running - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
true while the watchdog is running; set to false on first disconnect.
+
+
running - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
true while the connection is active; set to false on disconnect.
+
+
running - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
true while the handler is actively reading from the socket; set to false on disconnect.
+
+
running - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Indicates whether the heartbeat handler is still active.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-19.html b/deliverables/JAVADOC/index-files/index-19.html new file mode 100644 index 0000000..1b6d595 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-19.html @@ -0,0 +1,598 @@ + + + + +S-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

S

+
+
s - Variable in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Border style used to draw corners, lines, and junctions.
+
+
safeQuit(ClientController) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Disconnects the client if one is currently connected; safe to call when already disconnected.
+
+
sameSubnet(InetAddress, InetAddress, int) - Static method in class it.polimi.ingsw.gc14.Network.InterfaceResolver
+
+
Returns true if a and b share the same subnet given a CIDR prefix length.
+
+
save(Game) - Method in class it.polimi.ingsw.gc14.SaveManager
+
+
Serializes the game model to disk, creating parent directories if needed.
+
+
SAVE_RELATIVE_PATH - Static variable in class it.polimi.ingsw.gc14.SaveManager
+
+
Relative sub-path of the save file inside the JAR directory.
+
+
saveManager - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Persists and deletes game save files.
+
+
SaveManager - Class in it.polimi.ingsw.gc14
+
+
Handles persistence of the game model to and from disk.
+
+
SaveManager(Class) - Constructor for class it.polimi.ingsw.gc14.SaveManager
+
+
Constructs a SaveManager whose save file is located relative +to the JAR directory of the given anchor class.
+
+
scene - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
The scene whose dimensions are used to position and fade particles.
+
+
selectedFrame - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
The StackPane frame of the currently selected totem card, or null.
+
+
selectedIndex - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Index of the currently selected totem, or -1 if none selected.
+
+
separators - Variable in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Indices of rows after which a horizontal separator line is drawn.
+
+
SERVER_CRASHED - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The server has crashed or become unreachable.
+
+
SERVER_UNREACHABLE - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The server is unreachable.
+
+
ServerLauncher - Class in it.polimi.ingsw.gc14
+
+
Main server entry point.
+
+
ServerLauncher(BlockingQueue, GameController, LimitedMap, CompositeClientBroadcaster, SaveManager) - Constructor for class it.polimi.ingsw.gc14.ServerLauncher
+
+
Constructs a ServerLauncherTest and wires all components together.
+
+
setAction(Runnable) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
+
Sets a new action to execute when the map size reaches or exceeds the limit.
+
+
setAvailableTotems(List) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the list of totems still available for selection.
+
+
setClient(IClient) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Sets the network client.
+
+
setController(ClientController) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Injects the client controller into this GUI.
+
+
setController(ClientController) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Injects the client controller into this FXML controller.
+
+
setController(ClientController) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Injects the client controller and wires up the skip-turn button action.
+
+
setController(ClientController) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Injects the client controller into this FXML controller.
+
+
setController(ClientController, Runnable) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Injects the client controller, a post-game action, and the login scene reference.
+
+
setCurrentState(CurrentState) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the current state of the game.
+
+
setData(Map, OrderLogicCard, CurrentState, List) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Sets the game data associated with this network event.
+
+
setDisconnectedPlayers(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the list of usernames of currently disconnected players.
+
+
setError(boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Sets the error flag; called by GUI before delegating to MainFXMLController.render().
+
+
setErrorType(ErrorType) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Overrides the error type for this event.
+
+
setIsError(boolean) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Sets whether the event represents an error.
+
+
setLastEvent(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the last network event applied to the game state.
+
+
setLimit(int) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
+
Sets a new size limit for this map.
+
+
setLineReader(LineReader) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Registers the active JLine LineReader.
+
+
setLowerListBuildingCards(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Replaces the lower row of building cards on the board.
+
+
setLowerListTribeCards(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Replaces the lower row of tribe cards on the board.
+
+
setModel(Game) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Updates the game model managed by this controller.
+
+
setModel(MiniModel) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Sets the local mini model and updates the view accordingly.
+
+
setModel(MiniModel) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Updates the local mini model reference used by the GUI.
+
+
setModel(MiniModel) - Method in interface it.polimi.ingsw.gc14.View.IView
+
+
Updates the view's local copy of the game model.
+
+
setModel(MiniModel) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Updates the model stored in this view.
+
+
setMyUsername(String) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Sets the username associated with this client.
+
+
setNPlayer(int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Sets the configured number of players for this game.
+
+
setOrderLogicCard(OrderLogicCard) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the card used to manage the player turn order.
+
+
setPlayers(List) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Replaces or updates the players stored in the mini model.
+
+
setSlotPlayerMap(Map) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the map associating occupied slots with players.
+
+
setStandingPlayers(List) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Sets the final standing of the players.
+
+
setTotem(Totems) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Sets the totem for this player.
+
+
setUpperListBuildingCards(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Replaces the upper row of building cards on the board.
+
+
setUpperListTribeCards(ArrayList) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Replaces the upper row of tribe cards on the board.
+
+
setUsername(String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Sets the username of the local player.
+
+
Shaman - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents a Shaman character card.
+
+
Shaman(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Creates a Shaman character card with the specified era and icon value.
+
+
Shaman(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Creates a Shaman character card with the specified era, icon value, +and minimum number of players.
+
+
Shaman(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Creates a Shaman character card with the specified image id, era and icon value.
+
+
Shaman(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Creates a Shaman character card with the specified image id, era, icon value, +and minimum number of players.
+
+
SHAMAN - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing a Shaman.
+
+
SHAMANIC_RITUAL - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Event card representing the Shamanic Ritual.
+
+
ShamanicRitual - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
+
When activated, rewards the player with the most shaman icons and penalizes the one with the fewest.
+
+
ShamanicRitual(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Creates a new ShamanicRitual event card.
+
+
ShamanicRitual(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Creates a new ShamanicRitual event card.
+
+
shamans - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Shaman cards in the player's deck.
+
+
showError(ErrorType) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Displays an error from an ErrorType constant in the login form label.
+
+
showError(ErrorType, String) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Displays an error on the JavaFX application thread.
+
+
showError(ErrorType, String) - Method in interface it.polimi.ingsw.gc14.View.IView
+
+
Displays an error message to the user.
+
+
showError(ErrorType, String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Shows an error message combined with the current board in one display call, +so only one printAbove is issued and the prompt is redrawn correctly.
+
+
showError(String) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Displays an arbitrary error message in the login form label.
+
+
showPopup() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Centers the popup over the current window and makes it visible.
+
+
showSuccess(String) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Displays a success message in green in the login form label.
+
+
sideBySide(List, List, int) - Static method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Places two pre-rendered text blocks side by side, separated by a gap.
+
+
SILENCE_THRESHOLD_MS - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Milliseconds of silence before a client is considered disconnected.
+
+
size - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Visual radius of the particle's core circle.
+
+
size() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
SKIP_TURN - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to skip the current turn or optional action.
+
+
skipBtn - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Button that sends a skip-turn command.
+
+
skipTurn() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests to skip the current turn.
+
+
skipTurn(Player) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Skips the turn for the specified player when no drawable cards are available.
+
+
skipTurn(String) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Skips the card drawing action for the specified player.
+
+
skipTurn(String) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to skip the current player's optional action.
+
+
skipTurn(String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Requests to skip the turn.
+
+
skipTurn(String) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to skip the current player's optional action.
+
+
skipTurn(String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Requests to skip the turn.
+
+
skipTurn(String) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Requests to skip drawing turn.
+
+
SkipTurn - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event used to skip the current player's optional card action.
+
+
SkipTurn(String) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn
+
+
Class constructor.
+
+
sl - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
sl() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
slot - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The current slot associated with the game state.
+
+
Slot - Class in it.polimi.ingsw.gc14.Model
+
+
Represents a slot with a specific identifier and associated values +for upper cards, lower cards, food, and minimum number of players.
+
+
Slot(char) - Constructor for class it.polimi.ingsw.gc14.Model.Slot
+
+
Creates a slot with the specified identifier.
+
+
SLOT_CHOICE - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which players select their action slots.
+
+
SLOT_CHOICE - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to submit a player's slot choice.
+
+
slotChoice(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests the selection of a slot by the specified player.
+
+
slotChoice(String, int) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to perform the slot choice action for the specified player +at the specified position.
+
+
slotChoice(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to assign the specified player to a slot.
+
+
slotChoice(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Used to perform the slot choice action for the specified player at the specified position.
+
+
slotChoice(String, int) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to assign the specified player to a slot.
+
+
slotChoice(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Used to perform the slot choice action for the specified player at the specified position.
+
+
slotChoice(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Used to perform the slot choice action for the specified player at the specified position.
+
+
SlotChoice - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
NetworkEvent to select a slot where to place the player totem.
+
+
SlotChoice(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice
+
+
Class constructor.
+
+
slotChoiceByIndex(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to assign the slot at the specified index to the specified player.
+
+
slotId - Variable in class it.polimi.ingsw.gc14.Model.Slot
+
+
The identifier of this slot.
+
+
slotList - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
slotList contains the ordered list of slots (tiles).
+
+
slotMap - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The mapping between slots and the players assigned to them.
+
+
slotPlayerMap - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Map associating each occupied slot with the corresponding player.
+
+
slotPlayerMap - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Map associating each occupied slot with the corresponding player.
+
+
socket - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Dedicated socket used solely for heartbeat ping/pong exchange.
+
+
socketReceive - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Input stream used receive objects from the server
+
+
socketSend - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Output stream used to send objects to the server
+
+
socketTCP - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Main server socket used to accept client connections.
+
+
SPAWN_INTERVAL_NS - Static variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Minimum nanoseconds between particle spawn batches.
+
+
spawnParticle(double, double) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Creates a new particle starting near one of the four screen corners.
+
+
sr - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
sr() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
standingPlayers - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Final standing of the players at the end of the game.
+
+
start() - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Starts the TUI client.
+
+
start() - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Called by RMIServer whenever it starts tracking this player.
+
+
start() - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Starts the RMI server and binds it to the configured registry.
+
+
start() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Starts the TCP server and begins accepting client connections.
+
+
start() - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Starts the animation timer.
+
+
start(Stage) - Method in class it.polimi.ingsw.gc14.ClientLauncherGUI.GUIApp
+
 
+
start(Stage) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
JavaFX entry point: loads all FXML scenes, wires up controllers, +configures fullscreen behavior, and shows the login scene.
+
+
startForfeitTimerIfNeeded(NetworkEvent, Game) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Schedules the 60-second forfeit timer if a disconnection has left +exactly one player online.
+
+
startHeartbeat() - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Starts sending periodic pings to the server.
+
+
startWatchdog() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Starts the periodic watchdog task that detects heartbeat timeouts.
+
+
startWatchdog(String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Creates and starts an RMIHeartbeat for the specified player.
+
+
STEPS_PER_FRAME - Static variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Physics update steps applied per rendered frame (multiplies effective speed).
+
+
stub - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Remote stub obtained from the RMI registry after a successful connection.
+
+
Sustenance - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
+
Represents a Sustenance event card.
+
+
Sustenance(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Creates a Sustenance event card with the specified era and prestige debt value.
+
+
Sustenance(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Creates a Sustenance event card with the specified image id, era and prestige debt value.
+
+
SUSTENANCE - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Event card representing Sustenance.
+
+
switchProtocol() - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Toggles the selected protocol between RMI and TCP, animating the toggle thumb and updating label styles.
+
+
sx - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
sx() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-2.html b/deliverables/JAVADOC/index-files/index-2.html new file mode 100644 index 0000000..3bdea31 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-2.html @@ -0,0 +1,373 @@ + + + + +B-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

B

+
+
backgroundImage - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Background image displayed behind the login form.
+
+
backgroundImage - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Background image displayed behind the totem selection grid.
+
+
BASE_FOOD_PER_HUNTER - Static variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Base food units granted per Hunter.
+
+
bl - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
bl() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
BLUE - Enum constant in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Blue totem.
+
+
board - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The board associated with this game.
+
+
board - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
HBox holding the board slot and order cards.
+
+
Board - Class in it.polimi.ingsw.gc14.Model.GamePackage
+
+
Board manages all the elements during the game such as decks, upper and lower rows, totems, tiles...
+
+
Board(int) - Constructor for class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Creates and initializes a new board: + - Generate the slotList using a method of DecksCreator
+
+
boardStamp() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Returns the board state as a multi-line string: turn order, upper cards, +offer track, lower cards.
+
+
BorderStyle - Enum Class in it.polimi.ingsw.gc14.View.TUI
+
+
Defines the available border styles used to render AsciiTable +instances in the text-based user interface.
+
+
BorderStyle(String, String, String, String, String, String, String, String, String, String, String, String, String, String) - Constructor for enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
bought - Variable in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Indicates whether this building card has already been bought.
+
+
br - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
br() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
broadcaster - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Broadcaster used to push events and model snapshots to all connected clients.
+
+
broadcastResult(NetworkEvent, Game, int) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Determines what to broadcast after a successful event application: + + If the round advanced, an ApplyNextRound event (with updated + card lists) replaces the original event. + If the game has ended, an EndedGame event is sent and the + save file is deleted. + Otherwise the original event is broadcast as-is. +
+
+
btnAccedi - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Button that submits the login form.
+
+
build() - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Renders the table to a multi-line string.
+
+
buildAllHandsContent() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Arranges every player's hand side-by-side, wrapping to a new grid row +whenever the next panel would exceed the terminal width.
+
+
buildBoardContent() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Builds the main view: board + menu side by side, followed by all players' +hands arranged in a responsive grid.
+
+
buildCard(Totems, int, boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Builds a totem card widget; if interactive, wires click/hover handlers and selection logic.
+
+
buildDisconnectedList(Game) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Builds the list of usernames of players currently marked as disconnected +in the game model.
+
+
Builder - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents a Builder character card.
+
+
Builder(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Creates a Builder character card with the specified era, reduction value, +and prestige value.
+
+
Builder(int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
+
+
Builder(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Creates a Builder character card with the specified era, reduction value, +and prestige value.
+
+
Builder(String, int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
+
+
BUILDER - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing a Builder.
+
+
builders - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Builder cards in the player's deck.
+
+
buildGameReader() - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Builds the JLine LineReader used during gameplay, with tab-completion +for all valid commands.
+
+
BUILDING_DETAILS - Static variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
 
+
Building0 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
Building effect that grants 5 food for each new complete set of +6 different character types obtained after purchasing this building.
+
+
Building0(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Creates a building with the specified era, price and prestige value.
+
+
Building0(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Creates a building with the specified image identifier, era, price +and prestige value.
+
+
Building1 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
Building effect that grants a discount of 1 food during the Sustenance Event +for each character of the indicated type present in the player's tribe.
+
+
Building1(int, int, int, CharacterType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
Creates a building with the specified era, price, prestige value +and character type involved in its effect.
+
+
Building1(String, int, int, int, CharacterType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
Creates a building with the specified image identifier, era, price, +prestige value and character type involved in its effect.
+
+
Building10 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
At the end of the game, the player gains 6 Prestige Points +for each complete set of character types in their tribe.
+
+
Building10(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
Creates a Building10 card with the specified era, price, and prestige value.
+
+
Building10(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
Creates a Building10 card with the specified image id, era, price, and prestige value.
+
+
Building11 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
At the end of the game, the player gains Prestige Points based on the number +of cards of the indicated character type in their tribe.
+
+
Building11(int, int, int, CharacterType, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Creates a Building11 card with the specified era, price, prestige value, +character type icon, and prestige multiplier.
+
+
Building11(String, int, int, int, CharacterType, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Creates a Building11 card with the specified image id, era, price, prestige value, +character type icon, and prestige multiplier.
+
+
Building13 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
At the end of the game, this building grants 25 Prestige Points +to the player who owns it.
+
+
Building13(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
Creates a Building13 card with the specified era, price, and prestige value.
+
+
Building13(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
Creates a Building13 card with the specified image id, era, price, and prestige value.
+
+
Building4 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
Building effect that grants 3 food for each new pair of identical inventors +obtained after purchasing this building.
+
+
Building4(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Creates a building with the specified era, price and prestige value.
+
+
Building4(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Creates a building with the specified image identifier, era, price +and prestige value.
+
+
BUILDING5_BONUS_ICONS - Static variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Bonus shaman icons granted per Building 5 owned during this event.
+
+
Building8 - Class in it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
At the end of the game, you gain double the Prestige Points indicated on the Builder cards in your tribe.
+
+
Building8(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building8
+
+
Constructor of the building
+
+
Building8(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building8
+
+
Constructor of the building.
+
+
BuildingCard - Class in it.polimi.ingsw.gc14.Model.Cards
+
+
Represents a generic building card in the game.
+
+
BuildingCard(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Creates a building card with the specified era, price, and prestige value.
+
+
BuildingCard(int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Creates a building card with the specified effect identifier, era, price, +and prestige value.
+
+
BuildingCard(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Creates a building card with the specified image identifier, era, price, +and prestige value.
+
+
BuildingCard(String, int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Creates a building card with the specified image id, effect identifier, era, +price, and prestige value.
+
+
BuildingCardDefinition() - Constructor for class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
buildingCards - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Building Cards in the player's deck.
+
+
buildingCardsAllEras - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
All building card lists grouped by era; index 0 = era 1, index 1 = era 2, etc.
+
+
buildingEffect(Player) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Applies the building-related effect to the specified player.
+
+
BuildingEffect - Interface in it.polimi.ingsw.gc14.Model.Cards.Building
+
+
Defines the effect behavior of a building card.
+
+
buildPlayerCard(Player) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Builds the side-panel card widget for player with totem, stats, and card-type icons.
+
+
buildPrompt() - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Returns the command-line prompt string showing the current username.
+
+
buildSidePanel() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Builds the full side panel from scratch, creating a player card for each connected player.
+
+
buildStandingContent() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
 
+
buildTotemsContent() - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
 
+
buy(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Attempts to purchase the building and initializes its effect if the +purchase succeeds.
+
+
buy(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Attempts to purchase the building and initializes its effect if the +purchase succeeds.
+
+
buy(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Attempts to buy this building card for the specified player.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-20.html b/deliverables/JAVADOC/index-files/index-20.html new file mode 100644 index 0000000..a1466b9 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-20.html @@ -0,0 +1,374 @@ + + + + +T-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

T

+
+
TCP_PORT - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Port on which the TCP game server listens.
+
+
TCPClient - Class in it.polimi.ingsw.gc14.Network.TCP.Client
+
+
Client TCP.
+
+
TCPClient(ClientController, String, int, int) - Constructor for class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Constructs a TCP client and initializes its connection parameters.
+
+
tcpServer - Variable in class it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
TCP transport used to reach TCP-connected clients.
+
+
TCPServer - Class in it.polimi.ingsw.gc14.Network.TCP.Server
+
+
TCP server responsible for accepting client connections, +handling player registration and reconnection, and sending +game updates to connected clients.
+
+
TCPServer(GameController, int, int, BlockingQueue, LimitedMap) - Constructor for class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Constructs a TCP server with the required game and network components.
+
+
terminal - Variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
JLine terminal used for all input/output.
+
+
terminal - Variable in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
JLine terminal — used to query terminal width for centering and grid layout.
+
+
tick(long) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Advances the simulation by one frame: pre-warms on first call, spawns new particles, +steps existing ones, removes dead ones, and updates their visual state.
+
+
timerExecutor - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Single-thread executor used exclusively for the forfeit timer.
+
+
tl - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
tl() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
toggleThumb - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Sliding thumb inside the protocol toggle.
+
+
toInt(byte[]) - Static method in class it.polimi.ingsw.gc14.Network.InterfaceResolver
+
+
Converts a 4-byte big-endian IPv4 address array to a signed 32-bit integer.
+
+
toString() - Method in enum class it.polimi.ingsw.gc14.ErrorType
+
+
Returns the human-readable description of this error.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns a formatted ASCII table representation of the current game state.
+
+
toString() - Method in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Returns the human-readable name of this stage.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Orders.Order2
+
+
Creates the TURN ORDER box of the TUI.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Orders.Order3
+
+
Creates the TURN ORDER box of the TUI.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Orders.Order4
+
+
Creates the TURN ORDER box of the TUI.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Orders.Order5
+
+
Creates the TURN ORDER box of the TUI.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Returns a string containing the player's username and whether the player +has already played.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Prints the Player's attributes for the Board's representation.
+
+
toString() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the string representation of this slot.
+
+
toString() - Method in enum class it.polimi.ingsw.gc14.Network.EventType
+
 
+
toString() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Returns a textual description of the event and its outcome.
+
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
 
+
toStringBoard() - Method in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Returns the representation shown on the board (offer track cards).
+
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
Prints a string representation of this TribeCard.
+
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
 
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Prints a string representation of this TribeCard.
+
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Prints a string representation of this TribeCard.
+
+
toStringPlayer() - Method in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Returns the compact representation shown in the player hand panel.
+
+
toStringTUI() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns a compact string representation of this Slot for the TUI.
+
+
totem - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
Identifier for the Player when displaying the game through the GUI.
+
+
totem - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
Name of the totem selected by the player.
+
+
TOTEM_CHOICE - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which players choose their totems.
+
+
TOTEM_CHOICE - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to submit a player's totem choice.
+
+
totemChoice(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Handles the selection of a totem by the specified player.
+
+
totemChoice(Player, Totems) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Assigns the selected totem to the specified player during the totem choice phase.
+
+
totemChoice(String, String) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Applies the totem choice made by the player associated with the specified username.
+
+
totemChoice(String, String) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to assign the selected totem to the specified player.
+
+
totemChoice(String, String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Sends a totem choice to the server for the specified player via RMI.
+
+
totemChoice(String, String) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to assign the selected totem to the specified player.
+
+
totemChoice(String, String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Enqueues a totem choice event for the specified player.
+
+
totemChoice(String, String) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Sends a totem choice event to the server for the specified player.
+
+
TotemChoice - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event used to handle a player's totem choice.
+
+
TotemChoice(String, String) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
Constructs a totem choice event for the specified player.
+
+
totemChoiceQueue - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
Queue containing the players who still have to choose their totem.
+
+
TotemFXMLController - Class in it.polimi.ingsw.gc14.View.GUI
+
+
FXML controller for the totem selection scene.
+
+
TotemFXMLController() - Constructor for class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
 
+
Totems - Enum Class in it.polimi.ingsw.gc14.Model
+
+
Represents the different totem colors available in the game.
+
+
Totems() - Constructor for enum class it.polimi.ingsw.gc14.Model.Totems
+
 
+
totemScene - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
The totem selection scene.
+
+
tr - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
tr() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
transitionToOptionalOrNextRound() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Transitions the game to the optional card phase or directly to the next round.
+
+
TribeCard - Class in it.polimi.ingsw.gc14.Model.Cards
+
+
Abstract base class for all tribe cards.
+
+
TribeCard(int, boolean) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Creates a tribe card with the specified era and event-card flag.
+
+
TribeCard(int, boolean, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Creates a tribe card with the specified era, event-card flag, +and minimum number of players.
+
+
TribeCard(String, int, boolean) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Creates a tribe card with the specified image id, era and event-card flag.
+
+
TribeCard(String, int, boolean, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Creates a tribe card with the specified image id, era, event-card flag, +and minimum number of players.
+
+
TribeCardDefinition() - Constructor for class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
tribeDeck - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
tribeDeck is the deck from where you draw tribe cards as characters and events.
+
+
TUI - Class in it.polimi.ingsw.gc14.View.TUI
+
+
Text-based User Interface (TUI) implementation of IView.
+
+
TUI(MiniModel) - Constructor for class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Constructs a TUI bound to the given model.
+
+
turnBanner - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Banner label showing whose turn it is to choose a totem.
+
+
type - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
The specific type of this character card.
+
+
type - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
The specific type of this event card.
+
+
type - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
type - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Particle type: 0 = ember, 1 = spark, 2 = dust.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-21.html b/deliverables/JAVADOC/index-files/index-21.html new file mode 100644 index 0000000..8edb943 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-21.html @@ -0,0 +1,149 @@ + + + + +U-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

U

+
+
update() - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Advances this particle by one physics step: applies wobble, moves, and decrements spark life.
+
+
updateBanner(String, boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Updates the turn banner text and style based on whether it is the local player's turn.
+
+
updateConfirmButton(boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Enables or disables the confirm button and updates its visual opacity to reflect the state.
+
+
updateLoginButton(boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Enables or disables the login button and updates its visual style.
+
+
updateSidePanel() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Updates food/prestige labels, current-player highlight, card-icon opacity, and plays error shake if needed.
+
+
updateVisual(double, double) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Updates color, opacity, and translate position of this particle's visual nodes +based on distance from scene edges and remaining life.
+
+
upperDrawn() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Decrements the number of upper cards by 1.
+
+
upperList - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
HBox holding the upper tribe card row (and upper building stack).
+
+
upperListBuilding - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Contains all the building cards of the upper list.
+
+
upperListBuildingCards - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Upper row of building cards currently on the board.
+
+
upperListBuildingCards - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Building cards shown in the upper row of the board for the new round.
+
+
upperListTribe - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
The upper row of tribe cards.
+
+
upperListTribeCards - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Upper row of tribe cards currently on the board.
+
+
upperListTribeCards - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
Tribe cards shown in the upper row of the board for the new round.
+
+
USER_ALREADY_CONNECTED - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The user is already connected to the server.
+
+
username - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Username of the player requesting the event.
+
+
username - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Username of the currently connected player; set during RMIClient.connect(String, int).
+
+
username - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Username of the client monitored by this watchdog.
+
+
username - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
The username of the connected client on this handler
+
+
username - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Username of the client associated with this heartbeat connection.
+
+
username - Variable in class it.polimi.ingsw.gc14.View.TUI.TUI
+
 
+
userName - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
Unique string identifier for players; must not be null and must not +exceed Player.MAX_USERNAME_LENGTH otherwise an IllegalArgumentException will be thrown +when the constructor is called.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-22.html b/deliverables/JAVADOC/index-files/index-22.html new file mode 100644 index 0000000..b78260e --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-22.html @@ -0,0 +1,160 @@ + + + + +V-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

V

+
+
v - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
v() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.ErrorType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.ErrorType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
values() - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
view - Variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
TUI view shared with the client controller.
+
+
view - Variable in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
View of the client.
+
+
visibleLength(String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Returns the display width of a string in terminal columns, stripping ANSI escape codes.
+
+
vx - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Horizontal velocity component.
+
+
vy - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Vertical velocity component.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-23.html b/deliverables/JAVADOC/index-files/index-23.html new file mode 100644 index 0000000..24eca5b --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-23.html @@ -0,0 +1,113 @@ + + + + +W-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

W

+
+
WAITING - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which the game is waiting for players to join.
+
+
warmedUp - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
true after the first tick pre-populates the particle pool.
+
+
watchdog - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Single-thread executor that periodically checks whether the silence threshold has been exceeded.
+
+
watchdog - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Executor used to periodically check heartbeat timeouts.
+
+
watchdogs - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
username → watchdog.
+
+
weightedType(Random) - Static method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Returns a particle type weighted toward embers (55% ember, 23% spark, 22% dust).
+
+
WHITE - Enum constant in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
White totem.
+
+
wobbleAmp - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Amplitude factor of the wobble displacement.
+
+
wobblePhase - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Current phase of the sinusoidal wobble.
+
+
wobbleSpeed - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Angular speed of the wobble oscillation.
+
+
wrapScene(Scene) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Wraps the current root of scene in a StackPane so that +fade overlay rectangles can be layered over it during scene transitions.
+
+
WRONG_ACTION - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The action attempted is not valid in the current game state.
+
+
WRONG_PLAYER_NUMBER - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The requested number of players is outside the allowed range.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-24.html b/deliverables/JAVADOC/index-files/index-24.html new file mode 100644 index 0000000..c938179 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-24.html @@ -0,0 +1,68 @@ + + + + +X-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

X

+
+
x - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Current X position in scene pixels.
+
+
x - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-25.html b/deliverables/JAVADOC/index-files/index-25.html new file mode 100644 index 0000000..b8def55 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-25.html @@ -0,0 +1,68 @@ + + + + +Y-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Y

+
+
y - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Current Y position in scene pixels.
+
+
YELLOW - Enum constant in enum class it.polimi.ingsw.gc14.Model.Totems
+
+
Yellow totem.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-3.html b/deliverables/JAVADOC/index-files/index-3.html new file mode 100644 index 0000000..18eeaa2 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-3.html @@ -0,0 +1,473 @@ + + + + +C-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

C

+
+
campoIP - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Text field for the server IP address.
+
+
campoNome - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Text field for the player's username.
+
+
campoNumPlayers - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Text field for the desired number of players.
+
+
cancelForfeitTimerIfReconnect(NetworkEvent) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Cancels the forfeit timer if the event is a successful reconnection.
+
+
capitalize(Totems) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Returns the totem name with only the first letter capitalized.
+
+
CARD_SET - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect based on collecting a specific set of cards.
+
+
CAVE_PAINTINGS - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Event card representing Cave Paintings.
+
+
CavePaintings - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
+
Represents a Cave Paintings event card.
+
+
CavePaintings(int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
Creates a CavePaintings event card with the specified era and effect parameters.
+
+
CavePaintings(String, int, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
Creates a CavePaintings event card with the specified image id, era and effect parameters.
+
+
center(String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Horizontally centers each line of content within the terminal width.
+
+
Character - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
+
Abstract base class for all character cards.
+
+
Character(int, CharacterType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Creates a character card with the specified era and character type.
+
+
Character(int, CharacterType, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Creates a character card with the specified era, character type, +and minimum number of players.
+
+
Character(String, int, CharacterType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Creates a character card with the specified image id, era and character type.
+
+
Character(String, int, CharacterType, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Creates a character card with the specified image id, era, character type, +and minimum number of players.
+
+
CHARACTER_DETAILS - Static variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
 
+
characterType - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
The character type involved in this building effect.
+
+
CharacterType - Enum Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
+
Represents the different types of character cards available in the game.
+
+
CharacterType() - Constructor for enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
 
+
chooseNetworkInterface(Scanner) - Static method in class it.polimi.ingsw.gc14.ServerLauncher
+
+
Lists active non-loopback IPv4 network interfaces and prompts the operator +to choose one.
+
+
clear() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
clearDisconnected() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Clears the collection of disconnected players.
+
+
client - Variable in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Network client, either TCP or RMI.
+
+
ClientCallbackImpl - Class in it.polimi.ingsw.gc14.Network.RMI.Client
+
+
RMI client callback implementation of IClientCallback.
+
+
ClientCallbackImpl(ClientController) - Constructor for class it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl
+
+
Class constructor.
+
+
clientController - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl
+
+
The client controller used to apply events and update the model
+
+
ClientController - Class in it.polimi.ingsw.gc14.Controller
+
+
Controller responsible for coordinating the client-side components, +including the view, the network client and the local mini model.
+
+
ClientController(IView) - Constructor for class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Constructs a client controller with the specified view.
+
+
ClientHandler - Class in it.polimi.ingsw.gc14.Network.TCP.Server
+
+
Handles the TCP connection with a single client.
+
+
ClientHandler(String, Socket, ObjectOutputStream, ObjectInputStream, List, LimitedMap, BlockingQueue) - Constructor for class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Class constructor that initializes the attributes.
+
+
clientHandlers - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Shared list of all client handlers.
+
+
clientHandlers - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
List of active TCP client handlers.
+
+
ClientLauncherGUI - Class in it.polimi.ingsw.gc14
+
+
Entry point for launching the game client with the JavaFX GUI.
+
+
ClientLauncherGUI() - Constructor for class it.polimi.ingsw.gc14.ClientLauncherGUI
+
 
+
ClientLauncherGUI.GUIApp - Class in it.polimi.ingsw.gc14
+
+
Inner Application subclass that wires the GUI to the client controller +and hands off control to GUI.start(Stage).
+
+
ClientLauncherTUI - Class in it.polimi.ingsw.gc14
+
+
Entry point for the TUI-based game client.
+
+
ClientLauncherTUI() - Constructor for class it.polimi.ingsw.gc14.ClientLauncherTUI
+
 
+
clients - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Registry of active RMI callbacks; the entry for this player is removed on disconnect.
+
+
clients - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
username → callback
+
+
clientSocket - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
The TCP socket
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Creates a new building instance with the same configuration values +as this card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
Creates a new building instance with the same configuration values +as this card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
Creates and returns a copy of this Building10 card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Creates and returns a copy of this Building11 card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
Creates and returns a copy of this Building13 card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Creates a new building instance with the same configuration values +as this card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building8
+
+
Method to clone the building: it creates an exact copy.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Creates and returns a copy of this building card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Creates and returns a copy of this tribe card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Creates and returns a copy of this character card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Creates and returns a copy of this Artist card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Creates and returns a copy of this Builder card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Creates and returns a copy of this Gatherer card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Creates and returns a copy of this Hunter card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Creates and returns a copy of this Inventor card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Creates and returns a copy of this Shaman card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
Creates and returns a copy of this event card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
+
+
Creates and returns a copy of this CavePaintings event card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Creates and returns a copy of this Hunt card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Creates and returns a copy of this ShamanicRitual card.
+
+
clone() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Creates and returns a copy of this Sustenance event card.
+
+
cols - Variable in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Number of columns in this table.
+
+
communicationSocket - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Socket TCP
+
+
CompositeClientBroadcaster - Class in it.polimi.ingsw.gc14.Network
+
+
Forwards every notification to both the RMI and the TCP transport layers.
+
+
CompositeClientBroadcaster(RMIServer, TCPServer) - Constructor for class it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
Constructs a composite broadcaster backed by the given RMI and TCP servers.
+
+
confirmButton - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Button that submits the selected totem to the server.
+
+
connect(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Connects the client to the server using the specified username +and preferred connection type.
+
+
connect(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Connects to the RMI server and starts the heartbeat loop.
+
+
connect(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Starts the TCP connection with the server.
+
+
connect(String, String, int, String) - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Connects to the server using the selected protocol and transitions to the waiting state on success.
+
+
containsInQueue(Player) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Returns whether the given player is currently present in the turn queue.
+
+
containsKey(Object) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
containsValue(Object) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
controller - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Client-side controller that receives and applies incoming game events.
+
+
controller - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Server-side game controller; all model access is synchronized on this object.
+
+
controller - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Client game's controller
+
+
controller - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Game controller used to manage the server-side game logic.
+
+
controller - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Client controller injected before JavaFX startup.
+
+
controller - Variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Client controller for fetching game state and sending actions.
+
+
controller - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Client controller used to initiate the connection.
+
+
controller - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Client controller for fetching game state and sending player actions.
+
+
controller - Variable in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Client controller for sending the totem choice.
+
+
controllerLeaderboard - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Controller for the leaderboard FXML scene.
+
+
controllerLogin - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Controller for the login FXML scene.
+
+
controllerMain - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Controller for the main FXML scene.
+
+
controllerTotem - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Controller for the totem FXML scene.
+
+
core - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Primary visible circle node.
+
+
createAndRegisterHandler(String, Socket, ObjectOutputStream, ObjectInputStream) - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Creates a ClientHandler, registers it in pendingHeartbeat +and clientHandlers, but does NOT start its thread — callers start +the thread after any extra setup (e.g. sending a model snapshot).
+
+
createCard(DecksCreator.BuildingCardDefinition) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Instantiates a BuildingCard from the given definition.
+
+
createCard(DecksCreator.TribeCardDefinition) - Static method in class it.polimi.ingsw.gc14.Model.DecksCreator
+
+
Instantiates a TribeCard from the given definition.
+
+
createCard(PlayableCard, boolean, boolean, Region) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Creates a StackPane for a playable card, scaling its height to a fraction of parent's scene.
+
+
createCardPopup(PlayableCard, boolean, boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Creates a fixed-height StackPane card widget suitable for use inside the popup.
+
+
createOrder(String) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Creates a StackPane containing the order card image for a game of num players.
+
+
createPlayerRow(int, Player) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Builds a styled leaderboard row showing rank, totem, username, stats, and prestige for player.
+
+
createSlot(Slot, boolean, boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Creates a StackPane for a board slot, optionally overlaying the occupying player's totem.
+
+
createStatItem(String, String, double) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Creates a single icon + label widget for one stat type.
+
+
createStatsBox(Player) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Creates a compact icon+count stats strip for all card types of player.
+
+
currentState - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
The current state of the game.
+
+
currentState - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Current state of the game.
+
+
currentState - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Current state of the game associated with the event.
+
+
CurrentState - Class in it.polimi.ingsw.gc14.Model.GamePackage
+
+
Represents the current state of the game.
+
+
CurrentState() - Constructor for class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Creates a new CurrentState object with default initial values.
+
+
currentUsername - Variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Username of the currently logged-in player; empty string before login.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-4.html b/deliverables/JAVADOC/index-files/index-4.html new file mode 100644 index 0000000..4b84d02 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-4.html @@ -0,0 +1,389 @@ + + + + +D-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

D

+
+
DecksCreator - Class in it.polimi.ingsw.gc14.Model
+
+
Utility class responsible for loading and creating decks of cards and slots for the game.
+
+
DecksCreator() - Constructor for class it.polimi.ingsw.gc14.Model.DecksCreator
+
 
+
DecksCreator.BuildingCardDefinition - Class in it.polimi.ingsw.gc14.Model
+
+
Internal data class representing the raw definition of a building card as loaded from a JSON file.
+
+
DecksCreator.TribeCardDefinition - Class in it.polimi.ingsw.gc14.Model
+
+
Internal data class representing the raw definition of a tribe card as loaded from a JSON file.
+
+
delete() - Method in class it.polimi.ingsw.gc14.SaveManager
+
+
Deletes the save file.
+
+
description - Variable in enum class it.polimi.ingsw.gc14.ErrorType
+
+
Human-readable description of this error, returned by ErrorType.toString().
+
+
description - Variable in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Human-readable label for this event type, returned by EventType.toString().
+
+
detailsBtn - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Button that opens the game details popup.
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Notifies the server of a voluntary disconnection and closes the +network client connection.
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Tears down the connection.
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
Disconnects the monitored RMI client.
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Disconnects the player and cleans model and controller
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Disconnects the client from the server.
+
+
disconnect() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Disconnects the heartbeat channel and the associated main client connection.
+
+
DISCONNECTED_PLAYER - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to notify that a player has disconnected.
+
+
disconnectedPlayer(Player) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Marks the specified player as disconnected and updates the game flow accordingly.
+
+
disconnectedPlayer(String) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Marks the player associated with the specified username as disconnected.
+
+
DisconnectedPlayer - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event used to notify all clients that a player has disconnected.
+
+
DisconnectedPlayer(String) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
+
Constructs a disconnection event for the specified player.
+
+
disconnectedPlayers - Variable in class it.polimi.ingsw.gc14.Model.Game
+
+
Map tracking the players who are currently disconnected.
+
+
disconnectedPlayers - Variable in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Usernames of players currently disconnected from the game.
+
+
disconnectedPlayers - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Usernames of players currently disconnected from the game.
+
+
disconnectedUsernames(Game) - Static method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Returns usernames of players currently marked as disconnected in the given game.
+
+
disconnectedUsernames(Game) - Static method in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Returns usernames of players currently marked as disconnected in the given game.
+
+
disconnectionTimer - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Handle to the running forfeit timer, or null when no timer is active.
+
+
disconnectPlayer(String) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Notifies the server of a voluntary disconnection for the specified player.
+
+
disconnectPlayer(String) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Triggers a voluntary disconnection for the specified player +by stopping their heartbeat watchdog.
+
+
display(String) - Method in class it.polimi.ingsw.gc14.View.TUI.TUI
+
+
Clears the terminal and displays content, horizontally centered.
+
+
displayName - Variable in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
The human-readable name of this stage, used in GameStages.toString().
+
+
displayWidth(String) - Static method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Returns the number of terminal columns required to display s.
+
+
doEvent(NetworkEvent) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Sends a NetworkEvent to the server.
+
+
doFirstEvent() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Blocks until one event is available in the queue, then routes it to the +appropriate handler based on the current game state.
+
+
doLogin(ClientController) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Prompts for username, player count, network type, and server IP, then connects.
+
+
doLoginInner(ClientController, LineReader, LineReader) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Reads login fields from the terminal and connects to the server.
+
+
DRAW_LOWER_BUILD - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to draw a building card from the lower card list.
+
+
DRAW_LOWER_TRIBE - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to draw a tribe card from the lower card list.
+
+
DRAW_UPPER_BUILD - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to draw a building card from the upper card list.
+
+
DRAW_UPPER_TRIBE - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to draw a tribe card from the upper card list.
+
+
drawLowerBuilding() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Renders the top card of the lower building stack with a count badge; clicking opens the selection popup.
+
+
drawLowerBuildingCard(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests to draw a building card from the lower list.
+
+
drawLowerBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to draw a lower building card for the specified player +from the specified position.
+
+
drawLowerBuildingCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to draw a building card from the lower building card list.
+
+
drawLowerBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Requests to draw a building card from the lower list.
+
+
drawLowerBuildingCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to draw a building card from the lower building card list.
+
+
drawLowerBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Requests to draw a building card from the lower list.
+
+
drawLowerBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Requests to draw a building card from the lower list.
+
+
DrawLowerBuildingCard - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
NetworkEvent to draw a building card from the lower card list.
+
+
DrawLowerBuildingCard(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard
+
+
Class constructor.
+
+
drawLowerBuildingCardByIndex(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to draw the lower building card at the specified index for the specified player.
+
+
drawLowerTribeCard(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests to draw a tribe card from the lower list.
+
+
drawLowerTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to draw a lower tribe card for the specified player +from the specified position.
+
+
drawLowerTribeCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to draw a tribe card from the lower tribe card list.
+
+
drawLowerTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Requests to draw a tribe card from the lower list.
+
+
drawLowerTribeCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to draw a tribe card from the lower tribe card list.
+
+
drawLowerTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Requests to draw a tribe card from the lower list.
+
+
drawLowerTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Requests to draw a tribe card from the lower list.
+
+
DrawLowerTribeCard - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
NetworkEvent to draw a tribe card from the lower card list.
+
+
DrawLowerTribeCard(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard
+
+
Class constructor.
+
+
drawLowerTribeCardByIndex(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to draw the lower tribe card at the specified index for the specified player.
+
+
drawMyHandList(ArrayList) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Renders a single card-type pile in the hand area, or an invisible placeholder if the list is empty.
+
+
drawUpperBuilding() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Renders the top card of the upper building stack with a count badge; clicking opens the selection popup.
+
+
drawUpperBuildingCard(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests to draw a building card from the upper list.
+
+
drawUpperBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to draw an upper building card for the specified player +from the specified position.
+
+
drawUpperBuildingCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to draw a building card from the upper building card list.
+
+
drawUpperBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Requests to draw a building card from the upper list.
+
+
drawUpperBuildingCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to draw a building card from the upper building card list.
+
+
drawUpperBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Requests to draw a building card from the upper list.
+
+
drawUpperBuildingCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Requests to draw a building card from the upper list.
+
+
DrawUpperBuildingCard - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
NetworkEvent to draw a building card from the upper card list.
+
+
DrawUpperBuildingCard(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard
+
+
Class constructor.
+
+
drawUpperBuildingCardByIndex(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to draw the upper building card at the specified index for the specified player.
+
+
drawUpperTribeCard(int) - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Requests to draw a tribe card from the upper list.
+
+
drawUpperTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Attempts to draw an upper tribe card for the specified player +from the specified position.
+
+
drawUpperTribeCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.IClient
+
+
Requests to draw a tribe card from the upper tribe card list.
+
+
drawUpperTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Requests to draw a tribe card from the upper list.
+
+
drawUpperTribeCard(String, int) - Method in interface it.polimi.ingsw.gc14.Network.RMI.Common.IGameServer
+
+
Requests to draw a tribe card from the upper tribe card list.
+
+
drawUpperTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Requests to draw a tribe card from the upper list.
+
+
drawUpperTribeCard(String, int) - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Requests to draw a tribe card from the upper list.
+
+
DrawUpperTribeCard - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
NetworkEvent to draw a tribe card from the upper card list.
+
+
DrawUpperTribeCard(String, int) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard
+
+
Class constructor.
+
+
drawUpperTribeCardByIndex(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Attempts to draw the upper tribe card at the specified index for the specified player.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-5.html b/deliverables/JAVADOC/index-files/index-5.html new file mode 100644 index 0000000..b2578fb --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-5.html @@ -0,0 +1,239 @@ + + + + +E-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

E

+
+
effect(Player, int) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Applies the effect associated with the specified player and queue position.
+
+
effect(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Orders.Order2
+
+
Applies the effect associated with the specified position index for the given player.
+
+
effect(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Orders.Order3
+
+
Applies the effect associated with the specified position index for the given player.
+
+
effect(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Orders.Order4
+
+
Applies the effect associated with the specified position index for the given player.
+
+
effect(Player, int) - Method in class it.polimi.ingsw.gc14.Model.Orders.Order5
+
+
Applies the effect associated with the specified position index for the given player.
+
+
effectId - Variable in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
The identifier of the effect associated with this building card.
+
+
effectId - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
effectType - Variable in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
The type of effect associated with this building card.
+
+
EffectType - Enum Class in it.polimi.ingsw.gc14.Model.Cards.Building
+
+
Represents the possible effect types of building cards.
+
+
EffectType() - Constructor for enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
 
+
effectTypeFromId(int) - Static method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Maps a building effect identifier to its corresponding EffectType.
+
+
ENDED - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage indicating that the game has ended.
+
+
ENDED_GAME - Enum constant in enum class it.polimi.ingsw.gc14.Network.EventType
+
+
Event used to notify that the game has ended.
+
+
EndedGame - Class in it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
Network event that signals the end of the game and delivers the final standings.
+
+
EndedGame(Map, OrderLogicCard, CurrentState, ArrayList) - Constructor for class it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame
+
+
Constructs an event containing the final game state.
+
+
endGame() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Ends the game by applying all final building effects owned by each player +and updating the game stage to ENDED.
+
+
endGameForfeit() - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Ends the game due to forfeit: all remaining players are absent, +so the game is terminated and final scores are computed.
+
+
endGameForfeit() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Ends the game by forfeit and determines the final player standing.
+
+
endGameForfeit(Game) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Ends the game by forfeit when the timer expires without a reconnection.
+
+
ENDING - Enum constant in enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Stage in which end-of-game scoring and ranking are computed.
+
+
enrichEvent(NetworkEvent, Game) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Populates the event with the current game state so that clients can +update their mini-model after receiving it.
+
+
enrichWithGameState(Game, ArrayList) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Populates this event with the current game state so clients can +update their local model after receiving it.
+
+
enrichWithGameState(Game, ArrayList) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
 
+
enrichWithGameState(Game, ArrayList) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer
+
 
+
enrichWithGameState(Game, ArrayList) - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
 
+
entrySet() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
equals(Object) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Checks equality between this Player and another object.
+
+
equals(Object) - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Checks equality between this Slot and another object.
+
+
era - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
era - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
era - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Current era of the game
+
+
era - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The current era of the game.
+
+
era - Variable in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
The era associated with this playable card.
+
+
eraUpdate() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Increments the current era by 1.
+
+
errorType - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
The error type associated with this event; set when the event failed to apply.
+
+
ErrorType - Enum Class in it.polimi.ingsw.gc14
+
+
Enumeration of error types that can be returned by server-side operations.
+
+
ErrorType(String) - Constructor for enum class it.polimi.ingsw.gc14.ErrorType
+
+
Creates an error type constant with the given human-readable description.
+
+
EVENT_DETAILS - Static variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
 
+
EventCard - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
+
Abstract base class for all event cards.
+
+
EventCard(int, EventType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
Creates an event card with the specified era and event type.
+
+
EventCard(String, int, EventType) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
Creates an event card with the specified image id, era and event type.
+
+
eventProcessor - Variable in class it.polimi.ingsw.gc14.ServerLauncher
+
+
Drives the main game-event loop.
+
+
eventResolution() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Resolves all pending event cards if the current game stage is RESOLVING_EVENT.
+
+
eventType - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Type of the network event.
+
+
EventType - Enum Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
+
Represents the different types of event cards available in the game.
+
+
EventType - Enum Class in it.polimi.ingsw.gc14.Network
+
+
Represents the different types of network events that can be sent between +client and server.
+
+
EventType() - Constructor for enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
 
+
EventType(String) - Constructor for enum class it.polimi.ingsw.gc14.Network.EventType
+
 
+
executor - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Future executor used for timer Running
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-6.html b/deliverables/JAVADOC/index-files/index-6.html new file mode 100644 index 0000000..3044616 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-6.html @@ -0,0 +1,120 @@ + + + + +F-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

F

+
+
fadeToScene(Scene) - Method in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Performs a black-overlay crossfade from the current scene to newScene.
+
+
filePath - Variable in class it.polimi.ingsw.gc14.SaveManager
+
+
Absolute path of the save file, resolved once at construction.
+
+
FINAL - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect applied during the final scoring phase.
+
+
FireParticleSystem - Class in it.polimi.ingsw.gc14.View.GUI
+
+
Ambient fire-particle effect rendered on a transparent overlay pane.
+
+
FireParticleSystem(Scene) - Constructor for class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Creates the particle system bound to the given scene.
+
+
FireParticleSystem.Particle - Class in it.polimi.ingsw.gc14.View.GUI
+
+
A single fire particle with position, velocity, wobble, and JavaFX visual nodes.
+
+
food - Variable in class it.polimi.ingsw.gc14.Model.Slot
+
+
The amount of Food associated with this slot.
+
+
FOOD_PER_CHARACTER_SET - Static variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Food units granted per newly completed character set.
+
+
FOOD_PER_GATHERER - Static variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Food units covered by each Gatherer during the Sustenance event.
+
+
FOOD_PER_INVENTOR_PAIR - Static variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Food units granted per newly completed inventor pair.
+
+
foodLabels - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Maps each player's username to their current food-value label in the side panel.
+
+
foodValue - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current amount of Food the Player possesses.
+
+
formPanel - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
VBox containing the login form controls.
+
+
FRAME_INTERVAL_NS - Static variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Minimum nanoseconds between rendered frames (30 fps cap).
+
+
frameStyle(boolean) - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Returns the CSS style string for the totem card frame, highlighting it when selected.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-7.html b/deliverables/JAVADOC/index-files/index-7.html new file mode 100644 index 0000000..0b5f2a9 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-7.html @@ -0,0 +1,501 @@ + + + + +G-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

G

+
+
Game - Class in it.polimi.ingsw.gc14.Model
+
+
Represents the main game model.
+
+
Game() - Constructor for class it.polimi.ingsw.gc14.Model.Game
+
+
Creates a game with 0 configured players.
+
+
Game(int) - Constructor for class it.polimi.ingsw.gc14.Model.Game
+
+
Creates a game with the specified number of players.
+
+
GAME_ALREADY_STARTED - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The game has already started and cannot accept new players.
+
+
gameController - Variable in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Server-side game controller; all model mutations go through this.
+
+
GameController - Class in it.polimi.ingsw.gc14.Controller
+
+
Controller responsible for managing interactions with the Game model.
+
+
GameController() - Constructor for class it.polimi.ingsw.gc14.Controller.GameController
+
+
Creates a GameController without an associated game model.
+
+
GameController(Game) - Constructor for class it.polimi.ingsw.gc14.Controller.GameController
+
+
Creates a GameController associated with the specified game model.
+
+
GameEventProcessor - Class in it.polimi.ingsw.gc14
+
+
Processes game events from the action queue and routes each one +based on the current game state.
+
+
GameEventProcessor(BlockingQueue, GameController, LimitedMap, CompositeClientBroadcaster, SaveManager) - Constructor for class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Constructs a GameEventProcessor with all required dependencies.
+
+
gameReader - Variable in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Line reader used during active gameplay, with tab-completion wired.
+
+
gameStage - Variable in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
The current stage of the game.
+
+
GameStages - Enum Class in it.polimi.ingsw.gc14.Model.GamePackage
+
+
Represents the possible stages of a game.
+
+
GameStages(String) - Constructor for enum class it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
Constructs a GameStages value with the given display name.
+
+
gameStageUpdate(GameStages) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Updates the current game stage.
+
+
Gatherer - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents a Gatherer character card.
+
+
Gatherer(int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Creates a Gatherer character card with the specified era.
+
+
Gatherer(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Creates a Gatherer character card with the specified era and minimum number of players.
+
+
Gatherer(String, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Creates a Gatherer character card with the specified image id and era.
+
+
Gatherer(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Creates a Gatherer character card with the specified image id, era and +minimum number of players.
+
+
GATHERER - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing a Gatherer.
+
+
gatherers - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Gatherer cards in the player's deck.
+
+
generateTribeDeck(int) - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Creates the tribeDeck.
+
+
GENERIC_ERROR - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
A generic, unclassified error occurred.
+
+
get(Object) - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
getArtists() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getAvailableTotems() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the list of totems that have not yet been assigned to any player.
+
+
getBoard() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the game board.
+
+
getBuilders() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getBuildingCards() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getClient() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Gets the network client.
+
+
getCurrentPlayer() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the current player.
+
+
getCurrentPlayerNumber() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the current number of players participating in the game.
+
+
getCurrentState() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the current state of the game.
+
+
getDisconnectedPlayers() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns an unmodifiable view of the disconnected-players map.
+
+
getEffectId() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Returns the identifier of the effect associated with this building card.
+
+
getEffectType() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Returns the type of effect associated with this building card.
+
+
getEra() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
 
+
getEra() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the current era of the game.
+
+
getEra() - Method in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Returns the era of this playable card.
+
+
getErrorType() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Returns the error type associated with this event.
+
+
getEventType() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Returns the type of this event.
+
+
getFirst() - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Returns the first player in the queue without removing it.
+
+
getFood() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the amount of Food associated with this slot.
+
+
getFoodValue() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Getter for the private attribute Player.foodValue.
+
+
getGameStage() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the current stage of the game.
+
+
getGatherers() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getHunters() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getIcon() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
Returns the character type associated with this building effect.
+
+
getIcon() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Returns the CharacterType associated with this building card effect.
+
+
getIcon() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Returns whether this Hunter card has the icon.
+
+
getIcon() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Returns the icon value of this Inventor card.
+
+
getIcon() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Returns the icon value of this Shaman card.
+
+
getIdIMG() - Method in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
Returns the image identifier of this playable card.
+
+
getInventors() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getLowerListBuilding() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns a copy of the lower building cards currently available on the board.
+
+
getLowerListBuilding() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Returns the lower row of building cards.
+
+
getLowerListTribe() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Returns the lower row of tribe cards.
+
+
getLowerListTribeCards() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns a copy of the lower tribe cards currently available on the board.
+
+
getMiniModel() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Returns the local mini model.
+
+
getModel() - Method in class it.polimi.ingsw.gc14.Controller.GameController
+
+
Returns the game model managed by this controller.
+
+
getMyUsername() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Returns the username associated with this client.
+
+
getNLower() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the number of lower cards currently available.
+
+
getNLower() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the number of lower cards associated with this slot.
+
+
getNMin() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Returns the minimum number of players required for this tribe card.
+
+
getNMinPlayer() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the minimum number of players required for this slot.
+
+
getNPlayers() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the configured number of players for this game.
+
+
getNType(CharacterType) - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Counts the total number of cards of the specified Character Type.
+
+
getNUpper() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the number of upper cards currently available.
+
+
getNUpper() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the number of upper cards associated with this slot.
+
+
getOrderLogicCard() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the order logic card associated with this game.
+
+
getPane() - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
Returns the transparent overlay pane that holds all particle nodes.
+
+
getPendingEvents() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
 
+
getPlayer() - Method in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Returns the player associated with this order entry.
+
+
getPlayerByUsername(String) - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the player with the specified username, if present.
+
+
getPlayerCards(String, String) - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Returns a copy of the named card collection for username.
+
+
getPlayerCards(String, String) - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Returns a copy of the named card collection for username.
+
+
getPlayerList() - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Returns an unmodifiable view of the player order list.
+
+
getPlayers() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the list of players participating in the game.
+
+
getPlayerStanding() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the final ranking of players.
+
+
getPosition(String) - Method in class it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
Returns the position of the player associated with the specified username +within the current order list.
+
+
getPositionByUsername(String) - Method in class it.polimi.ingsw.gc14.Model.MiniModel
+
+
Returns the position of the player with the specified username +within the player collection.
+
+
getPrestigeDebt() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
+
+
Returns the prestige penalty multiplier associated with this Sustenance event.
+
+
getPrestigeMul() - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
Returns the prestige multiplier associated with this building card effect.
+
+
getPrestigeMultiplier() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Gets Prestige Points multiplier used during the event.
+
+
getPrestigeToAdd() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Returns the prestige points awarded to the player with the most shaman icons.
+
+
getPrestigeToRemove() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
+
+
Returns the prestige points removed from the player with the fewest shaman icons.
+
+
getPrestigeValue() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Returns the prestige value of this building card.
+
+
getPrestigeValue() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Returns the prestige value of this Builder card.
+
+
getPrestigeValue() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Getter for the private attribute Player.prestigeValue.
+
+
getPrice() - Method in class it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
Returns the price of this building card.
+
+
getProposedNPlayer() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
 
+
getReductionValue() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Returns the reduction value of this Builder card.
+
+
getRound() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the current round of the game.
+
+
getShamans() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
getSlot() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
Returns the current slot.
+
+
getSlotId() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the identifier of this slot.
+
+
getSlotList() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Creates and returns a new list containing the slots (tiles) of the game.
+
+
getSlotMap() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns the map of slots assigned to players.
+
+
getTotCharacters() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Counts the total Character Cards +the player currently possesses.
+
+
getTotem() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Returns the totem assigned to this player.
+
+
getTribeDeckSize() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
 
+
getType() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Returns the type of this character card.
+
+
getType() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
Returns the type of this event card.
+
+
getUpperListBuilding() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns a copy of the upper building cards currently available on the board.
+
+
getUpperListBuilding() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Returns the upper row of building cards.
+
+
getUpperListTribe() - Method in class it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
Returns the upper row of tribe cards.
+
+
getUpperListTribeCards() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Returns a copy of the upper tribe cards currently available on the board.
+
+
getUsername() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Returns the username of the player requesting the event.
+
+
getUsername() - Method in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Returns the username associated with this client.
+
+
getUserName() - Method in class it.polimi.ingsw.gc14.Model.Player
+
+
Getter for the private attribute Player.userName.
+
+
getView() - Method in class it.polimi.ingsw.gc14.Controller.ClientController
+
+
Returns the client view.
+
+
glow - Variable in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Soft glow halo circle behind FireParticleSystem.Particle.core; non-null only for embers (type 0).
+
+
GUI - Class in it.polimi.ingsw.gc14.View.GUI
+
+
JavaFX-based GUI implementation of IView.
+
+
GUI() - Constructor for class it.polimi.ingsw.gc14.View.GUI.GUI
+
 
+
GUIApp() - Constructor for class it.polimi.ingsw.gc14.ClientLauncherGUI.GUIApp
+
 
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-8.html b/deliverables/JAVADOC/index-files/index-8.html new file mode 100644 index 0000000..553b873 --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-8.html @@ -0,0 +1,205 @@ + + + + +H-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

H

+
+
h - Variable in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
+
+
h() - Method in enum class it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
 
+
handleCommand(String, ClientController) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Returns true when the caller should break out of the game loop (rematch requested).
+
+
handleDraw(String[], ClientController) - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Handles the draw command, dispatching to the appropriate controller draw method.
+
+
handleInactiveGame(NetworkEvent) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Handles events that arrive when no active game exists (not yet started, +or already ended).
+
+
handleRender() - Method in class it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
Handles the clear command by triggering a full board re-render.
+
+
handleSuspendedGame(NetworkEvent) - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Routes events while the game is suspended waiting for a reconnection.
+
+
hasDrawableDown() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Checks whether there are any drawable lower tribe cards on the board, +i.e. lower tribe cards that are not event cards.
+
+
hasDrawableUp() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Checks whether there are any drawable upper tribe cards on the board, +i.e. upper tribe cards that are not event cards.
+
+
hashCode() - Method in class it.polimi.ingsw.gc14.Model.Player
+
 
+
hashCode() - Method in class it.polimi.ingsw.gc14.Model.Slot
+
+
Returns the hash code for this Slot, derived from Slot.slotId.
+
+
HEARTBEAT_PORT - Static variable in class it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
Port on which the TCP heartbeat server listens.
+
+
HeartbeatHandler - Class in it.polimi.ingsw.gc14.Network.TCP.Server
+
+
Handles the heartbeat communication associated with a TCP client.
+
+
HeartbeatHandler(String, Socket, ClientHandler) - Constructor for class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Constructs a heartbeat handler for the specified client.
+
+
heartbeatIn - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Input stream of TCPClient.heartbeatSocket, used to read TCPClient.PONG bytes.
+
+
heartbeatLoop() - Method in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Sends a TCPClient.PING byte to the server every 3 seconds and waits for a TCPClient.PONG reply.
+
+
heartbeatOut - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Output stream of TCPClient.heartbeatSocket, used to write TCPClient.PING bytes.
+
+
heartbeatPort - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
TCP port dedicated to heartbeat communication.
+
+
heartbeatPort - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
TCP port dedicated to heartbeat communication.
+
+
heartbeatSocket - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
Socket used exclusively for heartbeat ping/pong exchange.
+
+
heartbeatSocketTCP - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
Server socket used to accept heartbeat connections.
+
+
hline(String, String, String, int) - Method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Builds a single horizontal borderline across all columns.
+
+
host - Variable in class it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
Hostname or IP address of the RMI server.
+
+
host - Variable in class it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer
+
+
Hostname or IP address exposed by the RMI runtime (java.rmi.server.hostname).
+
+
hostname - Variable in class it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
IP address of the server to connect to
+
+
Hunt - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
+
When activated, gives Food and Prestige Points to every player.
+
+
Hunt(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Creates a new Hunt event card.
+
+
Hunt(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
+
+
Creates a new Hunt event card.
+
+
HUNT - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
Event card representing the Hunt.
+
+
Hunter - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents a Hunter character card.
+
+
Hunter(int, boolean) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Creates a Hunter character card with the specified era and icon value.
+
+
Hunter(int, boolean, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Creates a Hunter character card with the specified era, icon value, +and minimum number of players.
+
+
Hunter(String, int, boolean) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Creates a Hunter character card with the specified image id, era and icon value.
+
+
Hunter(String, int, boolean, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Creates a Hunter character card with the specified image id, era, icon value, +and minimum number of players.
+
+
HUNTER - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing a Hunter.
+
+
hunters - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Hunter cards in the player's deck.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index-files/index-9.html b/deliverables/JAVADOC/index-files/index-9.html new file mode 100644 index 0000000..a34a64b --- /dev/null +++ b/deliverables/JAVADOC/index-files/index-9.html @@ -0,0 +1,334 @@ + + + + +I-Index + + + + + + + + + + + + + + +
+ +
+
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

I

+
+
IClient - Interface in it.polimi.ingsw.gc14.Network
+
+
Defines the operations that a client can request during the game.
+
+
IClientCallback - Interface in it.polimi.ingsw.gc14.Network.RMI.Common
+
+
Callback interface used by the server to notify an RMI client about +game updates and incoming network actions.
+
+
icon - Variable in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
Character type involved in the building effect.
+
+
icon - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Describes whether the Hunter Icon is present or not.
+
+
icon - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
The Icons's ID.
+
+
icon - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
The number of star Icons the card possesses.
+
+
iconViews - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Maps each player's username to their ordered list of card-type icon ImageViews.
+
+
id - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
 
+
id - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
idIMG - Variable in class it.polimi.ingsw.gc14.Model.PlayableCard
+
+
The image identifier of the playable card.
+
+
IGameServer - Interface in it.polimi.ingsw.gc14.Network.RMI.Common
+
+
Remote interface used by RMI clients to interact with the game server.
+
+
imageCache - Static variable in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Shared image cache to avoid reloading resources multiple times.
+
+
imageCache - Static variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
 
+
in - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
Input stream used to receive objects from the client
+
+
in - Variable in class it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
Input stream of HeartbeatHandler.socket used to receive PING bytes from the client.
+
+
infoText - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Label showing the current round number and game stage.
+
+
init() - Method in class it.polimi.ingsw.gc14.Model.Game
+
+
Initializes the game after all required players have been added.
+
+
initialize() - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Initializes the scene: loads fonts, sets up the background, and initializes the popup.
+
+
initialize() - Method in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
Initializes the scene: loads background, sets up animations, and binds input listeners.
+
+
initialize() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Initializes the scene: loads fonts, sets up the popup, and registers input listeners.
+
+
initialize() - Method in class it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
Initializes the scene: sets the background image to fill the screen.
+
+
initialize(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
Initializes the building effect by storing the number of complete +character sets already owned by the player at the moment of purchase.
+
+
initialize(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
Initializes the building effect by storing the number of pairs of identical +inventors already owned by the player at the moment of purchase.
+
+
initPopup() - Method in class it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
Creates and configures the auto-hiding player-detail popup.
+
+
initPopup() - Method in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
Creates and configures the shared card-preview popup container.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
Inserts this character card into the appropriate collection of the specified player.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
+
+
Inserts this Artist card into the specified player's Artist collection +and applies any building effects triggered by character set completion.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
+
+
Inserts this Builder card into the specified player's Builder collection +and applies any building effects triggered by character set completion.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
+
+
Inserts this Gatherer card into the specified player's Gatherer collection +and applies any building effects triggered by character set completion.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
+
+
Inserts this Hunter card into the specified player's Hunter collection.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Inserts this Inventor card into the specified player's Inventor collection.
+
+
insert(Player) - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
+
+
Inserts this Shaman card into the specified player's Shaman collection +and applies any building effects triggered by character set completion.
+
+
InterfaceResolver - Class in it.polimi.ingsw.gc14.Network
+
+
Utility class for resolving the local network interface to use when connecting to a server.
+
+
InterfaceResolver() - Constructor for class it.polimi.ingsw.gc14.Network.InterfaceResolver
+
 
+
INVALID_USERNAME - Enum constant in enum class it.polimi.ingsw.gc14.ErrorType
+
+
The chosen username is already taken by another connected player.
+
+
Inventor - Class in it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
Represents an Inventor character card.
+
+
Inventor(int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Creates an Inventor character card with the specified era and icon value.
+
+
Inventor(int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Creates an Inventor character card with the specified era, icon value, +and minimum number of players.
+
+
Inventor(String, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Creates an Inventor character card with the specified image id, era and icon value.
+
+
Inventor(String, int, int, int) - Constructor for class it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
+
+
Creates an Inventor character card with the specified image id, era, icon value, +and minimum number of players.
+
+
INVENTOR - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
Character card representing an Inventor.
+
+
INVENTOR_PAIR - Enum constant in enum class it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
Effect based on pairs of Inventor cards.
+
+
inventors - Variable in class it.polimi.ingsw.gc14.Model.Player
+
+
The current Inventor cards in the player's deck.
+
+
isDead(double, double) - Method in class it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
Returns true when this particle has left the scene bounds or, for sparks, its life reached zero.
+
+
isEmpty() - Method in class it.polimi.ingsw.gc14.LimitedMap
+
 
+
isError - Variable in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Flag indicating whether the event could not be applied successfully.
+
+
isError - Variable in class it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
true when the last received event was an error response.
+
+
isError() - Method in class it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
Returns whether the event represents an error.
+
+
isEvent - Variable in class it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
 
+
isEventCard - Variable in class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Indicates whether this tribe card is an event card.
+
+
isEventCard() - Method in class it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
Returns whether this tribe card is an event card.
+
+
isFading - Variable in class it.polimi.ingsw.gc14.View.GUI.GUI
+
+
Guards against overlapping fade transitions.
+
+
isGameActive() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Returns true when there is an ongoing game that has not yet ended.
+
+
isPlayed() - Method in class it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
Returns whether the player has already played in this order sequence.
+
+
isRMI - Variable in class it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
true when RMI is selected; false for TCP.
+
+
isSuspended() - Method in class it.polimi.ingsw.gc14.GameEventProcessor
+
+
Returns true when the forfeit timer is running, meaning only one +player is currently online and the game is waiting for a reconnection.
+
+
isWide(int) - Static method in class it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
Returns true when cp is a wide (2-column) character.
+
+
it.polimi.ingsw.gc14 - module it.polimi.ingsw.gc14
+
 
+
it.polimi.ingsw.gc14 - package it.polimi.ingsw.gc14
+
 
+
it.polimi.ingsw.gc14.Controller - package it.polimi.ingsw.gc14.Controller
+
 
+
it.polimi.ingsw.gc14.Model - package it.polimi.ingsw.gc14.Model
+
 
+
it.polimi.ingsw.gc14.Model.Cards - package it.polimi.ingsw.gc14.Model.Cards
+
 
+
it.polimi.ingsw.gc14.Model.Cards.Building - package it.polimi.ingsw.gc14.Model.Cards.Building
+
 
+
it.polimi.ingsw.gc14.Model.Cards.Building.Effects - package it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
 
+
it.polimi.ingsw.gc14.Model.Cards.TribeCards - package it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
 
+
it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters - package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
 
+
it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events - package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
 
+
it.polimi.ingsw.gc14.Model.GamePackage - package it.polimi.ingsw.gc14.Model.GamePackage
+
 
+
it.polimi.ingsw.gc14.Model.Orders - package it.polimi.ingsw.gc14.Model.Orders
+
 
+
it.polimi.ingsw.gc14.Network - package it.polimi.ingsw.gc14.Network
+
 
+
it.polimi.ingsw.gc14.Network.NetworkEvents - package it.polimi.ingsw.gc14.Network.NetworkEvents
+
 
+
it.polimi.ingsw.gc14.Network.RMI.Client - package it.polimi.ingsw.gc14.Network.RMI.Client
+
 
+
it.polimi.ingsw.gc14.Network.RMI.Common - package it.polimi.ingsw.gc14.Network.RMI.Common
+
 
+
it.polimi.ingsw.gc14.Network.RMI.Server - package it.polimi.ingsw.gc14.Network.RMI.Server
+
 
+
it.polimi.ingsw.gc14.Network.TCP.Client - package it.polimi.ingsw.gc14.Network.TCP.Client
+
 
+
it.polimi.ingsw.gc14.Network.TCP.Server - package it.polimi.ingsw.gc14.Network.TCP.Server
+
 
+
it.polimi.ingsw.gc14.View - package it.polimi.ingsw.gc14.View
+
 
+
it.polimi.ingsw.gc14.View.GUI - package it.polimi.ingsw.gc14.View.GUI
+
 
+
it.polimi.ingsw.gc14.View.TUI - package it.polimi.ingsw.gc14.View.TUI
+
 
+
IView - Interface in it.polimi.ingsw.gc14.View
+
+
View interface implemented by both the TUI and GUI.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+ + diff --git a/deliverables/JAVADOC/index.html b/deliverables/JAVADOC/index.html new file mode 100644 index 0000000..92d522b --- /dev/null +++ b/deliverables/JAVADOC/index.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

it.polimi.ingsw.gc14/module-summary.html

+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.GUIApp.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.GUIApp.html new file mode 100644 index 0000000..8f3208b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.GUIApp.html @@ -0,0 +1,205 @@ + + + + +ClientLauncherGUI.GUIApp + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientLauncherGUI.GUIApp

+
+
java.lang.Object +
javafx.application.Application +
it.polimi.ingsw.gc14.ClientLauncherGUI.GUIApp
+
+
+
+
+
Enclosing class:
+
ClientLauncherGUI
+
+
+
+
public static class ClientLauncherGUI.GUIApp +extends javafx.application.Application
+
Inner Application subclass that wires the GUI to the client controller +and hands off control to GUI.start(Stage).
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class javafx.application.Application

    +javafx.application.Application.Parameters
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from class javafx.application.Application

    +STYLESHEET_CASPIAN, STYLESHEET_MODENA
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    start(javafx.stage.Stage stage)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class javafx.application.Application

    +getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GUIApp

      +
      +
      public GUIApp()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      +
      public void start(javafx.stage.Stage stage) + throws Exception
      +
      +
      Specified by:
      +
      start in class javafx.application.Application
      +
      Throws:
      +
      Exception
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.html new file mode 100644 index 0000000..df39d0a --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherGUI.html @@ -0,0 +1,193 @@ + + + + +ClientLauncherGUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientLauncherGUI

+
+
java.lang.Object +
it.polimi.ingsw.gc14.ClientLauncherGUI
+
+
+
+
+
public class ClientLauncherGUI +extends Object
+
Entry point for launching the game client with the JavaFX GUI.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientLauncherGUI

      +
      +
      public ClientLauncherGUI()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      +
      static void main(String[] args)
      +
      Launches the GUI application.
      +
      +
      Parameters:
      +
      args - command-line arguments passed to the JavaFX runtime.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherTUI.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherTUI.html new file mode 100644 index 0000000..86aa313 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ClientLauncherTUI.html @@ -0,0 +1,523 @@ + + + + +ClientLauncherTUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientLauncherTUI

+
+
java.lang.Object +
it.polimi.ingsw.gc14.ClientLauncherTUI
+
+
+
+
+
public class ClientLauncherTUI +extends Object
+
Entry point for the TUI-based game client. +Handles login, connects to the server, and drives the JLine-powered command loop.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final String
    + +
     
    +
    private static final String
    + +
     
    +
    private String
    + +
    +
    Username of the currently logged-in player; empty string before login.
    +
    +
    private static final String
    + +
     
    +
    private org.jline.reader.LineReader
    + +
    +
    Line reader used during active gameplay, with tab-completion wired.
    +
    +
    private org.jline.terminal.Terminal
    + +
    +
    JLine terminal used for all input/output.
    +
    +
    private TUI
    + +
    +
    TUI view shared with the client controller.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private org.jline.reader.LineReader
    + +
    +
    Builds the JLine LineReader used during gameplay, with tab-completion +for all valid commands.
    +
    +
    private String
    + +
    +
    Returns the command-line prompt string showing the current username.
    +
    +
    private boolean
    + +
    +
    Prompts for username, player count, network type, and server IP, then connects.
    +
    +
    private boolean
    +
    doLoginInner(ClientController controller, + org.jline.reader.LineReader loginReader, + org.jline.reader.LineReader ipReader)
    +
    +
    Reads login fields from the terminal and connects to the server.
    +
    +
    private boolean
    +
    handleCommand(String line, + ClientController controller)
    +
    +
    Returns true when the caller should break out of the game loop (rematch requested).
    +
    +
    private void
    +
    handleDraw(String[] parts, + ClientController controller)
    +
    +
    Handles the draw command, dispatching to the appropriate controller draw method.
    +
    +
    private void
    + +
    +
    Handles the clear command by triggering a full board re-render.
    +
    +
    (package private) static void
    +
    main(String[] args)
    +
    +
    Launches the TUI client.
    +
    +
    private int
    +
    parsePos(String[] parts, + int idx)
    +
    +
    Parses an integer position argument at idx in parts.
    +
    +
    private void
    + +
    +
    Disconnects the client if one is currently connected; safe to call when already disconnected.
    +
    +
    private void
    + +
    +
    Starts the TUI client.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      view

      +
      +
      private TUI view
      +
      TUI view shared with the client controller.
      +
      +
      +
    • +
    • +
      +

      terminal

      +
      +
      private org.jline.terminal.Terminal terminal
      +
      JLine terminal used for all input/output.
      +
      +
      +
    • +
    • +
      +

      gameReader

      +
      +
      private org.jline.reader.LineReader gameReader
      +
      Line reader used during active gameplay, with tab-completion wired.
      +
      +
      +
    • +
    • +
      +

      currentUsername

      +
      +
      private String currentUsername
      +
      Username of the currently logged-in player; empty string before login.
      +
      +
      +
    • +
    • +
      +

      BUILDING_DETAILS

      +
      +
      private static final String BUILDING_DETAILS
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      EVENT_DETAILS

      +
      +
      private static final String EVENT_DETAILS
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      CHARACTER_DETAILS

      +
      +
      private static final String CHARACTER_DETAILS
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientLauncherTUI

      +
      +
      public ClientLauncherTUI()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      +
      static void main(String[] args) + throws InterruptedException
      +
      Launches the TUI client.
      +
      +
      Parameters:
      +
      args - command-line arguments (unused).
      +
      Throws:
      +
      InterruptedException - if the thread is interrupted during startup.
      +
      +
      +
      +
    • +
    • +
      +

      start

      +
      +
      private void start()
      +
      Starts the TUI client. Creates a JLine terminal, loops through login → game → rematch.
      +
      +
      +
    • +
    • +
      +

      doLogin

      +
      +
      private boolean doLogin(ClientController controller)
      +
      Prompts for username, player count, network type, and server IP, then connects.
      +
      +
      Parameters:
      +
      controller - the client controller to connect.
      +
      Returns:
      +
      true on successful connection; false if input is invalid or connection fails.
      +
      +
      +
      +
    • +
    • +
      +

      doLoginInner

      +
      +
      private boolean doLoginInner(ClientController controller, + org.jline.reader.LineReader loginReader, + org.jline.reader.LineReader ipReader)
      +
      Reads login fields from the terminal and connects to the server.
      +
      +
      Parameters:
      +
      controller - the client controller to connect.
      +
      loginReader - line reader used for username, player count, and network type.
      +
      ipReader - line reader with localhost auto-complete for the server IP.
      +
      Returns:
      +
      true on successful connection; false if input is invalid or connection fails.
      +
      +
      +
      +
    • +
    • +
      +

      buildGameReader

      +
      +
      private org.jline.reader.LineReader buildGameReader()
      +
      Builds the JLine LineReader used during gameplay, with tab-completion +for all valid commands.
      +
      +
      Returns:
      +
      the configured LineReader.
      +
      +
      +
      +
    • +
    • +
      +

      buildPrompt

      +
      +
      private String buildPrompt()
      +
      Returns the command-line prompt string showing the current username.
      +
      +
      Returns:
      +
      the prompt string.
      +
      +
      +
      +
    • +
    • +
      +

      handleCommand

      +
      +
      private boolean handleCommand(String line, + ClientController controller)
      +
      Returns true when the caller should break out of the game loop (rematch requested).
      +
      +
      +
    • +
    • +
      +

      handleDraw

      +
      +
      private void handleDraw(String[] parts, + ClientController controller)
      +
      Handles the draw command, dispatching to the appropriate controller draw method.
      +
      +
      Parameters:
      +
      parts - the tokenized command: [draw, upper|lower, tribe|building, pos].
      +
      controller - the client controller to invoke.
      +
      +
      +
      +
    • +
    • +
      +

      handleRender

      +
      +
      private void handleRender()
      +
      Handles the clear command by triggering a full board re-render.
      +
      +
      +
    • +
    • +
      +

      parsePos

      +
      +
      private int parsePos(String[] parts, + int idx)
      +
      Parses an integer position argument at idx in parts.
      +
      +
      Parameters:
      +
      parts - the tokenized command array.
      +
      idx - index of the position argument.
      +
      Returns:
      +
      the parsed integer, or -1 if missing or malformed.
      +
      +
      +
      +
    • +
    • +
      +

      safeQuit

      +
      +
      private void safeQuit(ClientController controller)
      +
      Disconnects the client if one is currently connected; safe to call when already disconnected.
      +
      +
      Parameters:
      +
      controller - the client controller to disconnect.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/ClientController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/ClientController.html new file mode 100644 index 0000000..2c70875 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/ClientController.html @@ -0,0 +1,549 @@ + + + + +ClientController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Controller.ClientController
+
+
+
+
+
public class ClientController +extends Object
+
Controller responsible for coordinating the client-side components, +including the view, the network client and the local mini model. + +

It receives user actions from the view, performs basic client-side +checks and forwards valid requests to the network client.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private IClient
    + +
    +
    Network client, either TCP or RMI.
    +
    +
    private MiniModel
    + +
    +
    Local mini model representing the client-side game state.
    +
    +
    private String
    + +
    +
    Username associated with this client.
    +
    +
    private final IView
    + +
    +
    View of the client.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructs a client controller with the specified view.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Notifies the server of a voluntary disconnection and closes the +network client connection.
    +
    +
    void
    + +
    +
    Requests to draw a building card from the lower list.
    +
    +
    void
    + +
    +
    Requests to draw a tribe card from the lower list.
    +
    +
    void
    + +
    +
    Requests to draw a building card from the upper list.
    +
    +
    void
    + +
    +
    Requests to draw a tribe card from the upper list.
    +
    + + +
    +
    Gets the network client.
    +
    + + +
    +
    Returns the local mini model.
    +
    + + +
    +
    Returns the username associated with this client.
    +
    + + +
    +
    Returns the client view.
    +
    +
    void
    + +
    +
    Sets the network client.
    +
    +
    void
    + +
    +
    Sets the local mini model and updates the view accordingly.
    +
    +
    void
    + +
    +
    Sets the username associated with this client.
    +
    +
    void
    + +
    +
    Requests to skip the current turn.
    +
    +
    void
    +
    slotChoice(int pos)
    +
    +
    Requests the selection of a slot by the specified player.
    +
    +
    void
    +
    totemChoice(int pos)
    +
    +
    Handles the selection of a totem by the specified player.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      miniModel

      +
      +
      private MiniModel miniModel
      +
      Local mini model representing the client-side game state.
      +
      +
      +
    • +
    • +
      +

      view

      +
      +
      private final IView view
      +
      View of the client.
      +
      +
      +
    • +
    • +
      +

      client

      +
      +
      private IClient client
      +
      Network client, either TCP or RMI.
      +
      +
      +
    • +
    • +
      +

      myUsername

      +
      +
      private String myUsername
      +
      Username associated with this client.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientController

      +
      +
      public ClientController(IView view)
      +
      Constructs a client controller with the specified view. + +

      The network client is initially unset and an empty local mini model +is created.

      +
      +
      Parameters:
      +
      view - the client view, either TUI or GUI.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMiniModel

      +
      +
      public MiniModel getMiniModel()
      +
      Returns the local mini model.
      +
      +
      Returns:
      +
      the local mini model.
      +
      +
      +
      +
    • +
    • +
      +

      getView

      +
      +
      public IView getView()
      +
      Returns the client view.
      +
      +
      Returns:
      +
      the client view.
      +
      +
      +
      +
    • +
    • +
      +

      getMyUsername

      +
      +
      public String getMyUsername()
      +
      Returns the username associated with this client.
      +
      +
      Returns:
      +
      the username.
      +
      +
      +
      +
    • +
    • +
      +

      setClient

      +
      +
      public void setClient(IClient client)
      +
      Sets the network client.
      +
      +
      Parameters:
      +
      client - the client to set, either TCP or RMI.
      +
      +
      +
      +
    • +
    • +
      +

      getClient

      +
      +
      public IClient getClient()
      +
      Gets the network client.
      +
      +
      Returns:
      +
      client return the client, either TCP or RMI.
      +
      +
      +
      +
    • +
    • +
      +

      setModel

      +
      +
      public void setModel(MiniModel model)
      +
      Sets the local mini model and updates the view accordingly.
      +
      +
      Parameters:
      +
      model - the mini model to set.
      +
      +
      +
      +
    • +
    • +
      +

      setMyUsername

      +
      +
      public void setMyUsername(String username)
      +
      Sets the username associated with this client.
      +
      +
      Parameters:
      +
      username - the username to set.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      public void drawUpperTribeCard(int pos)
      +
      Requests to draw a tribe card from the upper list. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      Parameters:
      +
      pos - the index of the card to draw.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      public void drawLowerTribeCard(int pos)
      +
      Requests to draw a tribe card from the lower list. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      Parameters:
      +
      pos - the index of the card to draw.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      public void drawUpperBuildingCard(int pos)
      +
      Requests to draw a building card from the upper list. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      Parameters:
      +
      pos - the index of the card to draw.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      public void drawLowerBuildingCard(int pos)
      +
      Requests to draw a building card from the lower list. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      Parameters:
      +
      pos - the index of the card to draw.
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public void skipTurn()
      +
      Requests to skip the current turn. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      public void slotChoice(int pos)
      +
      Requests the selection of a slot by the specified player. + +

      The request is forwarded to the network client; the server validates it.

      +
      +
      Parameters:
      +
      pos - the index of the selected slot.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public void totemChoice(int pos)
      +
      Handles the selection of a totem by the specified player. + +

      If the specified player is not the current player, an error message +is shown. Otherwise, the selected totem is retrieved from the available +totems list and the choice is forwarded to the network client.

      +
      +
      Parameters:
      +
      pos - the index of the selected totem in the available totems list.
      +
      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      public void disconnect()
      +
      Notifies the server of a voluntary disconnection and closes the +network client connection.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/GameController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/GameController.html new file mode 100644 index 0000000..20455b2 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/GameController.html @@ -0,0 +1,525 @@ + + + + +GameController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class GameController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Controller.GameController
+
+
+
+
+
public class GameController +extends Object
+
Controller responsible for managing interactions with the Game model. + +

It provides methods to update the game state by delegating player-related +actions and game actions to the underlying model.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private Game
    + +
    +
    The game model managed by this controller.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Creates a GameController without an associated game model.
    +
    + +
    +
    Creates a GameController associated with the specified game model.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    addPlayer(String username)
    +
    +
    Attempts to add a new player with the specified username to the game model.
    +
    +
    boolean
    + +
    +
    Marks the player associated with the specified username as disconnected.
    +
    +
    boolean
    +
    drawLowerBuildingCard(String playerUsername, + int pos)
    +
    +
    Attempts to draw a lower building card for the specified player +from the specified position.
    +
    +
    boolean
    +
    drawLowerTribeCard(String playerUsername, + int pos)
    +
    +
    Attempts to draw a lower tribe card for the specified player +from the specified position.
    +
    +
    boolean
    +
    drawUpperBuildingCard(String playerUsername, + int pos)
    +
    +
    Attempts to draw an upper building card for the specified player +from the specified position.
    +
    +
    boolean
    +
    drawUpperTribeCard(String playerUsername, + int pos)
    +
    +
    Attempts to draw an upper tribe card for the specified player +from the specified position.
    +
    +
    void
    + +
    +
    Ends the game due to forfeit: all remaining players are absent, +so the game is terminated and final scores are computed.
    +
    + + +
    +
    Returns the game model managed by this controller.
    +
    +
    boolean
    + +
    +
    Marks the player associated with the specified username as reconnected.
    +
    +
    void
    +
    setModel(Game model)
    +
    +
    Updates the game model managed by this controller.
    +
    +
    boolean
    +
    skipTurn(String playerUsername)
    +
    +
    Skips the card drawing action for the specified player.
    +
    +
    boolean
    +
    slotChoice(String playerUsername, + int pos)
    +
    +
    Attempts to perform the slot choice action for the specified player +at the specified position.
    +
    +
    boolean
    +
    totemChoice(String playerUsername, + String totem)
    +
    +
    Applies the totem choice made by the player associated with the specified username.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      model

      +
      +
      private Game model
      +
      The game model managed by this controller.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GameController

      +
      +
      public GameController(Game model)
      +
      Creates a GameController associated with the specified game model.
      +
      +
      Parameters:
      +
      model - the game model managed by this controller.
      +
      +
      +
      +
    • +
    • +
      +

      GameController

      +
      +
      public GameController()
      +
      Creates a GameController without an associated game model.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      disconnectedPlayer

      +
      +
      public boolean disconnectedPlayer(String username)
      +
      Marks the player associated with the specified username as disconnected.
      +
      +
      Parameters:
      +
      username - the username of the player who disconnected.
      +
      Returns:
      +
      true if the disconnection is handled successfully, + false if no player with the specified username exists + or if the operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      reconnectPlayer

      +
      +
      public boolean reconnectPlayer(String username)
      +
      Marks the player associated with the specified username as reconnected.
      +
      +
      Parameters:
      +
      username - the username of the player who reconnected.
      +
      Returns:
      +
      true if the reconnection is handled successfully, + false if no player with the specified username exists + or if the operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      getModel

      +
      +
      public Game getModel()
      +
      Returns the game model managed by this controller.
      +
      +
      Returns:
      +
      the game model managed by this controller.
      +
      +
      +
      +
    • +
    • +
      +

      setModel

      +
      +
      public void setModel(Game model)
      +
      Updates the game model managed by this controller.
      +
      +
      Parameters:
      +
      model - the new game model managed by this controller.
      +
      +
      +
      +
    • +
    • +
      +

      addPlayer

      +
      +
      public boolean addPlayer(String username)
      +
      Attempts to add a new player with the specified username to the game model.
      +
      +
      Parameters:
      +
      username - the username of the player to add.
      +
      Returns:
      +
      true if the player is successfully added, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      public boolean drawUpperTribeCard(String playerUsername, + int pos)
      +
      Attempts to draw an upper tribe card for the specified player +from the specified position.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the upper tribe card to draw.
      +
      Returns:
      +
      true if the action succeeds, + false if the player does not exist or if the draw operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      public boolean drawLowerTribeCard(String playerUsername, + int pos)
      +
      Attempts to draw a lower tribe card for the specified player +from the specified position.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the lower tribe card to draw.
      +
      Returns:
      +
      true if the action succeeds, + false if the player does not exist or if the draw operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      public boolean drawUpperBuildingCard(String playerUsername, + int pos)
      +
      Attempts to draw an upper building card for the specified player +from the specified position.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the upper building card to draw.
      +
      Returns:
      +
      true if the action succeeds, + false if the player does not exist or if the draw operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      public boolean drawLowerBuildingCard(String playerUsername, + int pos)
      +
      Attempts to draw a lower building card for the specified player +from the specified position.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the lower building card to draw.
      +
      Returns:
      +
      true if the action succeeds, + false if the player does not exist or if the draw operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public boolean skipTurn(String playerUsername)
      +
      Skips the card drawing action for the specified player.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      Returns:
      +
      true if the skip action is valid and successfully performed, + false if the player does not exist or if the action is not valid.
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      public boolean slotChoice(String playerUsername, + int pos)
      +
      Attempts to perform the slot choice action for the specified player +at the specified position.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the chosen slot.
      +
      Returns:
      +
      true if the action succeeds, + false if the player does not exist or if the slot choice operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public boolean totemChoice(String playerUsername, + String totem)
      +
      Applies the totem choice made by the player associated with the specified username.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player making the choice.
      +
      totem - the name of the selected totem.
      +
      Returns:
      +
      true if the choice is handled successfully, + false if no player with the specified username exists + or if the choice operation fails.
      +
      +
      +
      +
    • +
    • +
      +

      endGameForfeit

      +
      +
      public void endGameForfeit()
      +
      Ends the game due to forfeit: all remaining players are absent, +so the game is terminated and final scores are computed.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-summary.html new file mode 100644 index 0000000..cf50e87 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-summary.html @@ -0,0 +1,111 @@ + + + + +it.polimi.ingsw.gc14.Controller + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Controller

+
+
+
+
package it.polimi.ingsw.gc14.Controller
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-tree.html new file mode 100644 index 0000000..7e2a71c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Controller/package-tree.html @@ -0,0 +1,75 @@ + + + + +it.polimi.ingsw.gc14.Controller Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Controller

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ErrorType.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ErrorType.html new file mode 100644 index 0000000..557d1e3 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ErrorType.html @@ -0,0 +1,428 @@ + + + + +ErrorType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class ErrorType

+
+
java.lang.Object +
java.lang.Enum<ErrorType> +
it.polimi.ingsw.gc14.ErrorType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ErrorType>, Constable
+
+
+
+
public enum ErrorType +extends Enum<ErrorType>
+
Enumeration of error types that can be returned by server-side operations.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      INVALID_USERNAME

      +
      +
      public static final ErrorType INVALID_USERNAME
      +
      The chosen username is already taken by another connected player.
      +
      +
      +
    • +
    • +
      +

      USER_ALREADY_CONNECTED

      +
      +
      public static final ErrorType USER_ALREADY_CONNECTED
      +
      The user is already connected to the server.
      +
      +
      +
    • +
    • +
      +

      WRONG_PLAYER_NUMBER

      +
      +
      public static final ErrorType WRONG_PLAYER_NUMBER
      +
      The requested number of players is outside the allowed range.
      +
      +
      +
    • +
    • +
      +

      SERVER_CRASHED

      +
      +
      public static final ErrorType SERVER_CRASHED
      +
      The server has crashed or become unreachable.
      +
      +
      +
    • +
    • +
      +

      SERVER_UNREACHABLE

      +
      +
      public static final ErrorType SERVER_UNREACHABLE
      +
      The server is unreachable.
      +
      +
      +
    • +
    • +
      +

      GENERIC_ERROR

      +
      +
      public static final ErrorType GENERIC_ERROR
      +
      A generic, unclassified error occurred.
      +
      +
      +
    • +
    • +
      +

      GAME_ALREADY_STARTED

      +
      +
      public static final ErrorType GAME_ALREADY_STARTED
      +
      The game has already started and cannot accept new players.
      +
      +
      +
    • +
    • +
      +

      WRONG_ACTION

      +
      +
      public static final ErrorType WRONG_ACTION
      +
      The action attempted is not valid in the current game state.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      description

      +
      +
      private final String description
      +
      Human-readable description of this error, returned by toString().
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ErrorType

      +
      +
      private ErrorType(String description)
      +
      Creates an error type constant with the given human-readable description.
      +
      +
      Parameters:
      +
      description - the message returned by toString().
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static ErrorType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static ErrorType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns the human-readable description of this error.
      +
      +
      Overrides:
      +
      toString in class Enum<ErrorType>
      +
      Returns:
      +
      the error description string.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/GameEventProcessor.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/GameEventProcessor.html new file mode 100644 index 0000000..0aa1c4d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/GameEventProcessor.html @@ -0,0 +1,668 @@ + + + + +GameEventProcessor + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class GameEventProcessor

+
+
java.lang.Object +
it.polimi.ingsw.gc14.GameEventProcessor
+
+
+
+
+
public class GameEventProcessor +extends Object
+
Processes game events from the action queue and routes each one +based on the current game state. + +

The three top-level states that determine routing are: +

    +
  • Inactive – no game model is present, or the game has ended. + Only disconnection cleanup is performed.
  • +
  • Suspended – a forfeit timer is running because exactly one + player remains online. Only reconnection events are accepted.
  • +
  • Active – normal gameplay; every event is applied, saved, + and broadcast.
  • +
+ +

This class is not thread-safe by itself: it relies on the caller +(the game loop in ServerLauncher) to drive it from a single +thread via doFirstEvent().

+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      actionQueue

      +
      +
      private final BlockingQueue<NetworkEvent> actionQueue
      +
      Queue from which incoming client events are consumed one at a time.
      +
      +
      +
    • +
    • +
      +

      gameController

      +
      +
      private final GameController gameController
      +
      Server-side game controller; all model mutations go through this.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      private final LimitedMap<String,Boolean> playerList
      +
      Shared map tracking each player's online status (true = online).
      +
      +
      +
    • +
    • +
      +

      broadcaster

      +
      +
      private final CompositeClientBroadcaster broadcaster
      +
      Broadcaster used to push events and model snapshots to all connected clients.
      +
      +
      +
    • +
    • +
      +

      saveManager

      +
      +
      private final SaveManager saveManager
      +
      Persists and deletes game save files.
      +
      +
      +
    • +
    • +
      +

      timerExecutor

      +
      +
      private final ScheduledExecutorService timerExecutor
      +
      Single-thread executor used exclusively for the forfeit timer. Daemon so it does not block JVM shutdown.
      +
      +
      +
    • +
    • +
      +

      disconnectionTimer

      +
      +
      private ScheduledFuture<?> disconnectionTimer
      +
      Handle to the running forfeit timer, or null when no timer is active. +A non-null value signals that the game is in the suspended state.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GameEventProcessor

      +
      +
      public GameEventProcessor(BlockingQueue<NetworkEvent> actionQueue, + GameController gameController, + LimitedMap<String,Boolean> playerList, + CompositeClientBroadcaster broadcaster, + SaveManager saveManager)
      +
      Constructs a GameEventProcessor with all required dependencies.
      +
      +
      Parameters:
      +
      actionQueue - the queue from which incoming events are consumed.
      +
      gameController - the server-side game controller.
      +
      playerList - the shared map tracking each player's online status.
      +
      broadcaster - the broadcaster used to notify all connected clients.
      +
      saveManager - the save manager used to persist the game state.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      doFirstEvent

      +
      +
      public void doFirstEvent() + throws InterruptedException
      +
      Blocks until one event is available in the queue, then routes it to the +appropriate handler based on the current game state.
      +
      +
      Throws:
      +
      InterruptedException - if the thread is interrupted while waiting + for the next event.
      +
      +
      +
      +
    • +
    • +
      +

      isGameActive

      +
      +
      private boolean isGameActive()
      +
      Returns true when there is an ongoing game that has not yet ended.
      +
      +
      +
    • +
    • +
      +

      isSuspended

      +
      +
      private boolean isSuspended()
      +
      Returns true when the forfeit timer is running, meaning only one +player is currently online and the game is waiting for a reconnection.
      +
      +
      +
    • +
    • +
      +

      handleInactiveGame

      +
      +
      private void handleInactiveGame(NetworkEvent event)
      +
      Handles events that arrive when no active game exists (not yet started, +or already ended). Only disconnection cleanup is relevant here.
      +
      +
      Parameters:
      +
      event - the incoming event.
      +
      +
      +
      +
    • +
    • +
      +

      handleSuspendedGame

      +
      +
      private void handleSuspendedGame(NetworkEvent event)
      +
      Routes events while the game is suspended waiting for a reconnection. +
        +
      • A second disconnection while suspended means no player remains + online: the game is aborted entirely.
      • +
      • Any non-reconnection event is rejected with an error.
      • +
      • A reconnection event is allowed through to applyAndBroadcast(NetworkEvent).
      • +
      +
      +
      Parameters:
      +
      event - the incoming event.
      +
      +
      +
      +
    • +
    • +
      +

      abortGame

      +
      +
      private void abortGame()
      +
      Cancels the forfeit timer, clears the player list, and resets the model. +Called when the last remaining player disconnects while the game is suspended.
      +
      +
      +
    • +
    • +
      +

      rejectEvent

      +
      +
      private void rejectEvent(NetworkEvent event)
      +
      Marks the event as an error and broadcasts it back to the requesting +player. Used to reject actions that are not permitted in the current state.
      +
      +
      Parameters:
      +
      event - the event to reject.
      +
      +
      +
      +
    • +
    • +
      +

      applyAndBroadcast

      +
      +
      private void applyAndBroadcast(NetworkEvent event)
      +
      Applies the event to the game controller, saves the updated state, +and broadcasts the result to connected clients. + +

      The entire method body is synchronized on gameController to +prevent concurrent modification of the game model by the network threads.

      +
      +
      Parameters:
      +
      event - the event to apply.
      +
      +
      +
      +
    • +
    • +
      +

      cancelForfeitTimerIfReconnect

      +
      +
      private void cancelForfeitTimerIfReconnect(NetworkEvent event)
      +
      Cancels the forfeit timer if the event is a successful reconnection.
      +
      +
      Parameters:
      +
      event - the event that was just successfully applied.
      +
      +
      +
      +
    • +
    • +
      +

      enrichEvent

      +
      +
      private void enrichEvent(NetworkEvent event, + Game game)
      +
      Populates the event with the current game state so that clients can +update their mini-model after receiving it. + +

      Each event subclass overrides NetworkEvent.enrichWithGameState(Game, ArrayList) +to append any type-specific extra fields (available totems, etc.).

      +
      +
      Parameters:
      +
      event - the event to enrich.
      +
      game - the current game model.
      +
      +
      +
      +
    • +
    • +
      +

      startForfeitTimerIfNeeded

      +
      +
      private void startForfeitTimerIfNeeded(NetworkEvent event, + Game game)
      +
      Schedules the 60-second forfeit timer if a disconnection has left +exactly one player online. + +

      If a previous timer is still pending it is canceled first to avoid +duplicate timers.

      +
      +
      Parameters:
      +
      event - the event that was just applied.
      +
      game - the current game model.
      +
      +
      +
      +
    • +
    • +
      +

      endGameForfeit

      +
      +
      private void endGameForfeit(Game game)
      +
      Ends the game by forfeit when the timer expires without a reconnection. +Broadcasts an EndedGame event, deletes the save, and resets state.
      +
      +
      Parameters:
      +
      game - the game model captured when the timer was scheduled.
      +
      +
      +
      +
    • +
    • +
      +

      broadcastResult

      +
      +
      private void broadcastResult(NetworkEvent event, + Game game, + int roundBefore)
      +
      Determines what to broadcast after a successful event application: +
        +
      • If the round advanced, an ApplyNextRound event (with updated + card lists) replaces the original event.
      • +
      • If the game has ended, an EndedGame event is sent and the + save file is deleted.
      • +
      • Otherwise the original event is broadcast as-is.
      • +
      +
      +
      Parameters:
      +
      event - the event that was applied.
      +
      game - the current game model (post-apply).
      +
      roundBefore - the round number before the event was applied.
      +
      +
      +
      +
    • +
    • +
      +

      onlinePlayerCount

      +
      +
      private long onlinePlayerCount()
      +
      Returns the number of players currently marked as online in the player list.
      +
      +
      +
    • +
    • +
      +

      buildDisconnectedList

      +
      +
      private ArrayList<String> buildDisconnectedList(Game game)
      +
      Builds the list of usernames of players currently marked as disconnected +in the game model.
      +
      +
      Parameters:
      +
      game - the current game model.
      +
      Returns:
      +
      a new ArrayList of disconnected usernames.
      +
      +
      +
      +
    • +
    • +
      +

      removeOfflinePlayers

      +
      +
      private void removeOfflinePlayers()
      +
      Removes all offline entries (value false) from the player list. +Online players remain until they disconnect naturally.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/LimitedMap.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/LimitedMap.html new file mode 100644 index 0000000..f35d28c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/LimitedMap.html @@ -0,0 +1,501 @@ + + + + +LimitedMap + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class LimitedMap<K,V>

+
+
java.lang.Object +
it.polimi.ingsw.gc14.LimitedMap<K,V>
+
+
+
+
Type Parameters:
+
K - the type of keys maintained by this map.
+
V - the type of mapped values.
+
+
+
All Implemented Interfaces:
+
Map<K,V>
+
+
+
+
public class LimitedMap<K,V> +extends Object +implements Map<K,V>
+
A ConcurrentHashMap-backed map with a configurable size limit and an associated action. +When the number of elements reaches or exceeds the limit, the specified action is automatically triggered. +This implementation is thread-safe for put; callers that need compound operations must synchronize externally.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      map

      +
      +
      private final ConcurrentHashMap<K,V> map
      +
      The underlying thread-safe hash map storing all key-value pairs.
      +
      +
      +
    • +
    • +
      +

      limit

      +
      +
      private volatile int limit
      +
      The maximum number of elements allowed in the map before the action is triggered.
      +
      +
      +
    • +
    • +
      +

      action

      +
      +
      private volatile Runnable action
      +
      The action to execute when the map size reaches or exceeds the limit.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LimitedMap

      +
      +
      public LimitedMap(int limit, + Runnable action)
      +
      Creates a new LimitedMap with the specified limit and action.
      +
      +
      Parameters:
      +
      limit - the maximum number of elements before the action is triggered.
      +
      action - the action to execute when the limit is reached.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      put

      +
      +
      public V put(K key, + V value)
      +
      Associates the specified value with the specified key in this map. +If the map size reaches or exceeds the limit after the insertion, the configured action is triggered.
      +
      +
      Specified by:
      +
      put in interface Map<K,V>
      +
      Parameters:
      +
      key - the key with which the specified value is to be associated.
      +
      value - the value to be associated with the specified key.
      +
      Returns:
      +
      the previous value associated with the key, or null if there was no mapping.
      +
      +
      +
      +
    • +
    • +
      +

      remove

      +
      +
      public V remove(Object key)
      +
      +
      Specified by:
      +
      remove in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      get

      +
      +
      public V get(Object key)
      +
      +
      Specified by:
      +
      get in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      containsKey

      +
      +
      public boolean containsKey(Object key)
      +
      +
      Specified by:
      +
      containsKey in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      containsValue

      +
      +
      public boolean containsValue(Object value)
      +
      +
      Specified by:
      +
      containsValue in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      size

      +
      +
      public int size()
      +
      +
      Specified by:
      +
      size in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      +
      public boolean isEmpty()
      +
      +
      Specified by:
      +
      isEmpty in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      putAll

      +
      +
      public void putAll(Map<? extends K, ? extends V> m)
      +
      +
      Specified by:
      +
      putAll in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      clear

      +
      +
      public void clear()
      +
      +
      Specified by:
      +
      clear in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      keySet

      +
      +
      public Set<K> keySet()
      +
      +
      Specified by:
      +
      keySet in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      values

      +
      +
      public Collection<V> values()
      +
      +
      Specified by:
      +
      values in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      entrySet

      +
      +
      public Set<Map.Entry<K,V>> entrySet()
      +
      +
      Specified by:
      +
      entrySet in interface Map<K,V>
      +
      +
      +
      +
    • +
    • +
      +

      setLimit

      +
      +
      public void setLimit(int num)
      +
      Sets a new size limit for this map.
      +
      +
      Parameters:
      +
      num - the new limit.
      +
      +
      +
      +
    • +
    • +
      +

      setAction

      +
      +
      public void setAction(Runnable action)
      +
      Sets a new action to execute when the map size reaches or exceeds the limit.
      +
      +
      Parameters:
      +
      action - the new action to set; must not be null.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/BuildingEffect.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/BuildingEffect.html new file mode 100644 index 0000000..d68f250 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/BuildingEffect.html @@ -0,0 +1,83 @@ + + + + +BuildingEffect + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface BuildingEffect

+
+
+
+
All Known Implementing Classes:
+
Building0, Building1, Building10, Building11, Building13, Building4, Building8, BuildingCard
+
+
+
+
public interface BuildingEffect
+
Defines the effect behavior of a building card. + +

Classes implementing this interface provide the specific effect +applied to a player when the building card is activated.

+
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/EffectType.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/EffectType.html new file mode 100644 index 0000000..92f5e09 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/EffectType.html @@ -0,0 +1,332 @@ + + + + +EffectType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class EffectType

+
+
java.lang.Object +
java.lang.Enum<EffectType> +
it.polimi.ingsw.gc14.Model.Cards.Building.EffectType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EffectType>, Constable
+
+
+
+
public enum EffectType +extends Enum<EffectType>
+
Represents the possible effect types of building cards.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      FINAL

      +
      +
      public static final EffectType FINAL
      +
      Effect applied during the final scoring phase.
      +
      +
      +
    • +
    • +
      +

      CARD_SET

      +
      +
      public static final EffectType CARD_SET
      +
      Effect based on collecting a specific set of cards.
      +
      +
      +
    • +
    • +
      +

      INVENTOR_PAIR

      +
      +
      public static final EffectType INVENTOR_PAIR
      +
      Effect based on pairs of Inventor cards.
      +
      +
      +
    • +
    • +
      +

      ON_EVENT

      +
      +
      public static final EffectType ON_EVENT
      +
      Effect triggered when an event card is resolved.
      +
      +
      +
    • +
    • +
      +

      ON_END_TURN

      +
      +
      public static final EffectType ON_END_TURN
      +
      Effect triggered at the end of a player's turn.
      +
      +
      +
    • +
    • +
      +

      ON_ROUND_END

      +
      +
      public static final EffectType ON_ROUND_END
      +
      Effect triggered at the end of a round.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EffectType

      +
      +
      private EffectType()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static EffectType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static EffectType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.html new file mode 100644 index 0000000..2c5ea08 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.html @@ -0,0 +1,410 @@ + + + + +Building0 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building0

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building0
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building0 +extends BuildingCard
+
Building effect that grants 5 food for each new complete set of +6 different character types obtained after purchasing this building. + +

Character sets already completed before the building is purchased +are stored during initialization and do not provide food.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final int
    + +
    +
    Food units granted per newly completed character set.
    +
    +
    private int
    + +
    +
    Number of complete character sets already counted by this building effect.
    +
    +
    private boolean
    + +
    +
    Indicates whether the building effect has already been initialized +after purchase.
    +
    +
    +
    +

    Fields inherited from class BuildingCard

    +effectId, effectType
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Building0(int era, + int price, + int prestigeValue)
    +
    +
    Creates a building with the specified era, price and prestige value.
    +
    +
    Building0(String idImage, + int era, + int price, + int prestigeValue)
    +
    +
    Creates a building with the specified image identifier, era, price +and prestige value.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Applies the building effect to the specified player.
    +
    +
    boolean
    +
    buy(Player player)
    +
    +
    Attempts to purchase the building and initializes its effect if the +purchase succeeds.
    +
    + + +
    +
    Creates a new building instance with the same configuration values +as this card.
    +
    +
    void
    + +
    +
    Initializes the building effect by storing the number of complete +character sets already owned by the player at the moment of purchase.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      FOOD_PER_CHARACTER_SET

      +
      +
      private static final int FOOD_PER_CHARACTER_SET
      +
      Food units granted per newly completed character set.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      purchased

      +
      +
      private boolean purchased
      +
      Indicates whether the building effect has already been initialized +after purchase.
      +
      +
      +
    • +
    • +
      +

      numSet

      +
      +
      private int numSet
      +
      Number of complete character sets already counted by this building effect.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building0

      +
      +
      public Building0(String idImage, + int era, + int price, + int prestigeValue)
      +
      Creates a building with the specified image identifier, era, price +and prestige value.
      +
      +
      Parameters:
      +
      idImage - the image identifier of the building.
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points granted by this building + at the end of the game.
      +
      +
      +
      +
    • +
    • +
      +

      Building0

      +
      +
      public Building0(int era, + int price, + int prestigeValue)
      +
      Creates a building with the specified era, price and prestige value.
      +
      +
      Parameters:
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points granted by this building + at the end of the game.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      buy

      +
      +
      public boolean buy(Player player)
      +
      Attempts to purchase the building and initializes its effect if the +purchase succeeds.
      +
      +
      Overrides:
      +
      buy in class BuildingCard
      +
      Parameters:
      +
      player - the player who attempts to buy the building.
      +
      Returns:
      +
      true if the building is successfully purchased and initialized, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize(Player player)
      +
      Initializes the building effect by storing the number of complete +character sets already owned by the player at the moment of purchase. + +

      The initialization is performed only once.

      +
      +
      Parameters:
      +
      player - the player who owns the building.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates a new building instance with the same configuration values +as this card. + +

      The runtime state of the effect, such as initialization status and +counted character sets, is not copied.

      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a new building card with the same base properties.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the building effect to the specified player. + +

      The method counts the complete character sets currently owned by the player +and grants 5 food for each set completed since the last stored value.

      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - the player who owns the building.
      +
      Throws:
      +
      IllegalArgumentException - if the specified player does not own this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.html new file mode 100644 index 0000000..f2490c2 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.html @@ -0,0 +1,357 @@ + + + + +Building1 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building1

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building1
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building1 +extends BuildingCard
+
Building effect that grants a discount of 1 food during the Sustenance Event +for each character of the indicated type present in the player's tribe.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      icon

      +
      +
      private final CharacterType icon
      +
      Character type involved in the building effect.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building1

      +
      +
      public Building1(int era, + int price, + int prestigeValue, + CharacterType icon)
      +
      Creates a building with the specified era, price, prestige value +and character type involved in its effect.
      +
      +
      Parameters:
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points gained from this building at the end of the game.
      +
      icon - the character type used by the building effect.
      +
      +
      +
      +
    • +
    • +
      +

      Building1

      +
      +
      public Building1(String idIMG, + int era, + int price, + int prestigeValue, + CharacterType icon)
      +
      Creates a building with the specified image identifier, era, price, +prestige value and character type involved in its effect.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building.
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points gained from this building at the end of the game.
      +
      icon - the character type used by the building effect.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIcon

      +
      +
      public CharacterType getIcon()
      +
      Returns the character type associated with this building effect.
      +
      +
      Returns:
      +
      the character type associated with this building effect.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates a new building instance with the same configuration values +as this card.
      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a new building card with the same base properties and icon.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Overrides:
      +
      toStringBoard in class BuildingCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Overrides:
      +
      toStringPlayer in class BuildingCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.html new file mode 100644 index 0000000..ba37c3e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.html @@ -0,0 +1,320 @@ + + + + +Building10 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building10

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building10
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building10 +extends BuildingCard
+
At the end of the game, the player gains 6 Prestige Points +for each complete set of character types in their tribe. + +

A complete set contains one character card of each CharacterType.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      PRESTIGE_PER_CHARACTER_SET

      +
      +
      private static final int PRESTIGE_PER_CHARACTER_SET
      +
      Prestige points granted per complete character set at end of game.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building10

      +
      +
      public Building10(int era, + int price, + int prestigeValue)
      +
      Creates a Building10 card with the specified era, price, and prestige value.
      +
      +
      Parameters:
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      +
      +
      +
    • +
    • +
      +

      Building10

      +
      +
      public Building10(String idIMG, + int era, + int price, + int prestigeValue)
      +
      Creates a Building10 card with the specified image id, era, price, and prestige value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates and returns a copy of this Building10 card.
      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a clone of this Building10 card.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the effect of this building card to the specified player. + +

      The effect grants 6 Prestige Points for each complete set of character +cards owned by the player, where a complete set contains one card of each +CharacterType.

      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      Throws:
      +
      IllegalArgumentException - if the player does not own this building card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.html new file mode 100644 index 0000000..b840273 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.html @@ -0,0 +1,424 @@ + + + + +Building11 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building11

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building11
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building11 +extends BuildingCard
+
At the end of the game, the player gains Prestige Points based on the number +of cards of the indicated character type in their tribe. + +

The gained amount is equal to the number of matching character cards +multiplied by the building's prestige multiplier.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      characterType

      +
      +
      private final CharacterType characterType
      +
      The character type involved in this building effect.
      +
      +
      +
    • +
    • +
      +

      prestigeMul

      +
      +
      private final int prestigeMul
      +
      The prestige multiplier applied per matching character card at end of game.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building11

      +
      +
      public Building11(int era, + int price, + int prestigeValue, + CharacterType icon, + int prestigeMul)
      +
      Creates a Building11 card with the specified era, price, prestige value, +character type icon, and prestige multiplier.
      +
      +
      Parameters:
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      icon - the CharacterType associated with the building card effect.
      +
      prestigeMul - the prestige multiplier of the building card effect.
      +
      +
      +
      +
    • +
    • +
      +

      Building11

      +
      +
      public Building11(String idIMG, + int era, + int price, + int prestigeValue, + CharacterType icon, + int prestigeMul)
      +
      Creates a Building11 card with the specified image id, era, price, prestige value, +character type icon, and prestige multiplier.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      icon - the CharacterType associated with the building card effect.
      +
      prestigeMul - the prestige multiplier of the building card effect.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIcon

      +
      +
      public CharacterType getIcon()
      +
      Returns the CharacterType associated with this building card effect.
      +
      +
      Returns:
      +
      the CharacterType associated with this building card effect.
      +
      +
      +
      +
    • +
    • +
      +

      getPrestigeMul

      +
      +
      public int getPrestigeMul()
      +
      Returns the prestige multiplier associated with this building card effect.
      +
      +
      Returns:
      +
      the prestige multiplier associated with this building card effect.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates and returns a copy of this Building11 card.
      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a clone of this Building11 card.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the effect of this building card to the specified player. +The effect grants prestige points equal to the number of cards of the +associated CharacterType owned by the player, multiplied by the prestige multiplier.
      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      Throws:
      +
      IllegalArgumentException - if the player does not own this building card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Overrides:
      +
      toStringBoard in class BuildingCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Overrides:
      +
      toStringPlayer in class BuildingCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.html new file mode 100644 index 0000000..80e1003 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.html @@ -0,0 +1,316 @@ + + + + +Building13 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building13

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building13
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building13 +extends BuildingCard
+
At the end of the game, this building grants 25 Prestige Points +to the player who owns it.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      PRESTIGE_AWARD

      +
      +
      private static final int PRESTIGE_AWARD
      +
      Prestige points granted at end of game by this building.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building13

      +
      +
      public Building13(int era, + int price, + int prestigeValue)
      +
      Creates a Building13 card with the specified era, price, and prestige value.
      +
      +
      Parameters:
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      +
      +
      +
    • +
    • +
      +

      Building13

      +
      +
      public Building13(String idIMG, + int era, + int price, + int prestigeValue)
      +
      Creates a Building13 card with the specified image id, era, price, and prestige value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates and returns a copy of this Building13 card.
      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a clone of this Building13 card.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the effect of this building card to the specified player, +granting 25 Prestige Points.
      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      Throws:
      +
      IllegalArgumentException - if the player does not own this building card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.html new file mode 100644 index 0000000..ef63ce6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.html @@ -0,0 +1,408 @@ + + + + +Building4 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building4

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building4
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building4 +extends BuildingCard
+
Building effect that grants 3 food for each new pair of identical inventors +obtained after purchasing this building. + +

Pairs of identical inventors already owned at the moment of purchase +are stored during initialization and do not provide food.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final int
    + +
    +
    Food units granted per newly completed inventor pair.
    +
    +
    private int
    + +
    +
    Number of inventor pairs already counted by this building effect.
    +
    +
    private boolean
    + +
    +
    Indicates whether the building effect has already been initialized +after purchase.
    +
    +
    +
    +

    Fields inherited from class BuildingCard

    +effectId, effectType
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Building4(int era, + int price, + int prestigeValue)
    +
    +
    Creates a building with the specified era, price and prestige value.
    +
    +
    Building4(String idIMG, + int era, + int price, + int prestigeValue)
    +
    +
    Creates a building with the specified image identifier, era, price +and prestige value.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Applies the building effect to the specified player.
    +
    +
    boolean
    +
    buy(Player player)
    +
    +
    Attempts to purchase the building and initializes its effect if the +purchase succeeds.
    +
    + + +
    +
    Creates a new building instance with the same configuration values +as this card.
    +
    +
    void
    + +
    +
    Initializes the building effect by storing the number of pairs of identical +inventors already owned by the player at the moment of purchase.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      FOOD_PER_INVENTOR_PAIR

      +
      +
      private static final int FOOD_PER_INVENTOR_PAIR
      +
      Food units granted per newly completed inventor pair.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      purchased

      +
      +
      private boolean purchased
      +
      Indicates whether the building effect has already been initialized +after purchase.
      +
      +
      +
    • +
    • +
      +

      numPair

      +
      +
      private int numPair
      +
      Number of inventor pairs already counted by this building effect.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building4

      +
      +
      public Building4(int era, + int price, + int prestigeValue)
      +
      Creates a building with the specified era, price and prestige value.
      +
      +
      Parameters:
      +
      era - The game era of the building.
      +
      price - The price (in food) of the building.
      +
      prestigeValue - The number of Prestige Points gained from this building at the end of the game.
      +
      +
      +
      +
    • +
    • +
      +

      Building4

      +
      +
      public Building4(String idIMG, + int era, + int price, + int prestigeValue)
      +
      Creates a building with the specified image identifier, era, price +and prestige value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building.
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points gained from this building at the end of the game.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      initialize

      +
      +
      public void initialize(Player player)
      +
      Initializes the building effect by storing the number of pairs of identical +inventors already owned by the player at the moment of purchase. + +

      The initialization is performed only once.

      +
      +
      Parameters:
      +
      player - the player who owns the building.
      +
      +
      +
      +
    • +
    • +
      +

      buy

      +
      +
      public boolean buy(Player player)
      +
      Attempts to purchase the building and initializes its effect if the +purchase succeeds.
      +
      +
      Overrides:
      +
      buy in class BuildingCard
      +
      Parameters:
      +
      player - The player who buys the building.
      +
      Returns:
      +
      true if the building is successfully purchased and initialized, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates a new building instance with the same configuration values +as this card. + +

      The runtime state of the effect, such as initialization status and +counted inventor pairs, is not copied.

      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      a new building card with the same base properties.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the building effect to the specified player. + +

      The method counts the current number of pairs of identical inventors +and grants 3 food for each pair obtained since the last stored value.

      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - The player who owns the building.
      +
      Throws:
      +
      IllegalArgumentException - Thrown if the specified player does not own this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.html new file mode 100644 index 0000000..b29ee0f --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.html @@ -0,0 +1,276 @@ + + + + +Building8 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Building8

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard +
it.polimi.ingsw.gc14.Model.Cards.Building.Effects.Building8
+
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
+
public class Building8 +extends BuildingCard
+
At the end of the game, you gain double the Prestige Points indicated on the Builder cards in your tribe.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Building8

      +
      +
      public Building8(int era, + int price, + int prestigeValue)
      +
      Constructor of the building
      +
      +
      Parameters:
      +
      era - The game era of the building.
      +
      price - The price (in food) of the building.
      +
      prestigeValue - The number of Prestige Points gained from this building at the end of the game.
      +
      +
      +
      +
    • +
    • +
      +

      Building8

      +
      +
      public Building8(String idIMG, + int era, + int price, + int prestigeValue)
      +
      Constructor of the building.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building.
      +
      era - the game era of the building.
      +
      price - the price in food of the building.
      +
      prestigeValue - the number of Prestige Points gained from this building at the end of the game.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Method to clone the building: it creates an exact copy.
      +
      +
      Overrides:
      +
      clone in class BuildingCard
      +
      Returns:
      +
      The new copy of the building.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player) + throws IllegalArgumentException
      +
      Applies the building effect by granting additional Prestige Points equal to +the Prestige Value of each Builder card owned by the player. + +

      This effectively doubles the contribution of Builder cards to the final score.

      +
      +
      Overrides:
      +
      applyEffect in class BuildingCard
      +
      Parameters:
      +
      player - The player who owns the building.
      +
      Throws:
      +
      IllegalArgumentException - Thrown if the specified player does not own this building.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-summary.html new file mode 100644 index 0000000..f26f8a4 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-summary.html @@ -0,0 +1,130 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.Building.Effects + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards.Building.Effects

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards.Building.Effects
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Building effect that grants 5 food for each new complete set of +6 different character types obtained after purchasing this building.
    +
    + +
    +
    Building effect that grants a discount of 1 food during the Sustenance Event +for each character of the indicated type present in the player's tribe.
    +
    + +
    +
    At the end of the game, the player gains 6 Prestige Points +for each complete set of character types in their tribe.
    +
    + +
    +
    At the end of the game, the player gains Prestige Points based on the number +of cards of the indicated character type in their tribe.
    +
    + +
    +
    At the end of the game, this building grants 25 Prestige Points +to the player who owns it.
    +
    + +
    +
    Building effect that grants 3 food for each new pair of identical inventors +obtained after purchasing this building.
    +
    + +
    +
    At the end of the game, you gain double the Prestige Points indicated on the Builder cards in your tribe.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-tree.html new file mode 100644 index 0000000..a6cf86a --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/package-tree.html @@ -0,0 +1,88 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.Building.Effects Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards.Building.Effects

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-summary.html new file mode 100644 index 0000000..8be47fc --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-summary.html @@ -0,0 +1,110 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.Building + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards.Building

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards.Building
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-tree.html new file mode 100644 index 0000000..708297b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/Building/package-tree.html @@ -0,0 +1,84 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.Building Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards.Building

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.html new file mode 100644 index 0000000..da89542 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.html @@ -0,0 +1,620 @@ + + + + +BuildingCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class BuildingCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.BuildingCard
+
+
+
+
+
All Implemented Interfaces:
+
BuildingEffect, Serializable, Cloneable
+
+
+
Direct Known Subclasses:
+
Building0, Building1, Building10, Building11, Building13, Building4, Building8
+
+
+
+
public class BuildingCard +extends PlayableCard +implements Cloneable, BuildingEffect, Serializable
+
Represents a generic building card in the game. + +

A building card is a playable card with a price and a specific building +effect. Concrete building cards extend this class to define their own +behavior.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private boolean
    + +
    +
    Indicates whether this building card has already been bought.
    +
    +
    protected int
    + +
    +
    The identifier of the effect associated with this building card.
    +
    +
    protected EffectType
    + +
    +
    The type of effect associated with this building card.
    +
    +
    private final int
    + +
    +
    The prestige value of this building card.
    +
    +
    private final int
    + +
    +
    The price of this building card.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
    protected
    +
    BuildingCard(int era, + int price, + int prestigeValue)
    +
    +
    Creates a building card with the specified era, price, and prestige value.
    +
    +
     
    +
    BuildingCard(int effectId, + int era, + int price, + int prestigeValue)
    +
    +
    Creates a building card with the specified effect identifier, era, price, +and prestige value.
    +
    +
    protected
    +
    BuildingCard(String idIMG, + int era, + int price, + int prestigeValue)
    +
    +
    Creates a building card with the specified image identifier, era, price, +and prestige value.
    +
    +
     
    +
    BuildingCard(String idIMG, + int effectId, + int era, + int price, + int prestigeValue)
    +
    +
    Creates a building card with the specified image id, effect identifier, era, +price, and prestige value.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Default implementation of the building effect.
    +
    +
    boolean
    +
    buy(Player player)
    +
    +
    Attempts to buy this building card for the specified player.
    +
    + + +
    +
    Creates and returns a copy of this building card.
    +
    +
    private static EffectType
    +
    effectTypeFromId(int effectId)
    +
    +
    Maps a building effect identifier to its corresponding EffectType.
    +
    +
    int
    + +
    +
    Returns the identifier of the effect associated with this building card.
    +
    + + +
    +
    Returns the type of effect associated with this building card.
    +
    +
    int
    + +
    +
    Returns the prestige value of this building card.
    +
    +
    int
    + +
    +
    Returns the price of this building card.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      price

      +
      +
      private final int price
      +
      The price of this building card.
      +
      +
      +
    • +
    • +
      +

      bought

      +
      +
      private boolean bought
      +
      Indicates whether this building card has already been bought.
      +
      +
      +
    • +
    • +
      +

      effectType

      +
      +
      protected EffectType effectType
      +
      The type of effect associated with this building card.
      +
      +
      +
    • +
    • +
      +

      effectId

      +
      +
      protected int effectId
      +
      The identifier of the effect associated with this building card.
      +
      +
      +
    • +
    • +
      +

      prestigeValue

      +
      +
      private final int prestigeValue
      +
      The prestige value of this building card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuildingCard

      +
      +
      protected BuildingCard(int era, + int price, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a building card with the specified era, price, and prestige value.
      +
      +
      Parameters:
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      Throws:
      +
      IllegalArgumentException - if price <= 0 or prestigeValue < 0
      +
      +
      +
      +
    • +
    • +
      +

      BuildingCard

      +
      +
      protected BuildingCard(String idIMG, + int era, + int price, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a building card with the specified image identifier, era, price, +and prestige value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      Throws:
      +
      IllegalArgumentException - if price <= 0 or prestigeValue < 0
      +
      +
      +
      +
    • +
    • +
      +

      BuildingCard

      +
      +
      public BuildingCard(int effectId, + int era, + int price, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a building card with the specified effect identifier, era, price, +and prestige value. +The effect type is determined from the given effect identifier.
      +
      +
      Parameters:
      +
      effectId - the identifier of the effect associated with the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      Throws:
      +
      IllegalArgumentException - if the effect identifier is not valid, + if price <= 0, or if prestigeValue < 0
      +
      +
      +
      +
    • +
    • +
      +

      BuildingCard

      +
      +
      public BuildingCard(String idIMG, + int effectId, + int era, + int price, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a building card with the specified image id, effect identifier, era, +price, and prestige value. + +

      The effect type is determined from the given effect identifier.

      +
      +
      Parameters:
      +
      idIMG - the image identifier of the building card.
      +
      effectId - the identifier of the effect associated with the building card.
      +
      era - the era of the building card.
      +
      price - the price of the building card.
      +
      prestigeValue - the prestige value of the building card.
      +
      Throws:
      +
      IllegalArgumentException - if the effect identifier is not valid, + if price <= 0, or if prestigeValue < 0.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPrice

      +
      +
      public int getPrice()
      +
      Returns the price of this building card.
      +
      +
      Returns:
      +
      the price of this building card.
      +
      +
      +
      +
    • +
    • +
      +

      getPrestigeValue

      +
      +
      public int getPrestigeValue()
      +
      Returns the prestige value of this building card.
      +
      +
      Returns:
      +
      the prestige value of this building card.
      +
      +
      +
      +
    • +
    • +
      +

      getEffectId

      +
      +
      public int getEffectId()
      +
      Returns the identifier of the effect associated with this building card.
      +
      +
      Returns:
      +
      the effect identifier of this building card.
      +
      +
      +
      +
    • +
    • +
      +

      getEffectType

      +
      +
      public EffectType getEffectType()
      +
      Returns the type of effect associated with this building card.
      +
      +
      Returns:
      +
      the effect type of this building card.
      +
      +
      +
      +
    • +
    • +
      +

      effectTypeFromId

      +
      +
      private static EffectType effectTypeFromId(int effectId)
      +
      Maps a building effect identifier to its corresponding EffectType.
      +
      +
      Parameters:
      +
      effectId - the effect identifier to resolve.
      +
      Returns:
      +
      the EffectType for the given identifier.
      +
      Throws:
      +
      IllegalArgumentException - if effectId does not correspond to any known effect type.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public BuildingCard clone()
      +
      Creates and returns a copy of this building card.
      +
      +
      Overrides:
      +
      clone in class Object
      +
      Returns:
      +
      a clone of this building card.
      +
      +
      +
      +
    • +
    • +
      +

      buy

      +
      +
      public boolean buy(Player player)
      +
      Attempts to buy this building card for the specified player. + +

      The effective cost is reduced by the total reduction value provided +by the player's Builder cards, without dropping below zero. The purchase +succeeds only if the card has not already been bought and the player can +pay the resulting amount of Food. If successful, the card is added to +the player's building cards and marked as bought.

      +
      +
      Parameters:
      +
      player - the player attempting to buy the building card.
      +
      Returns:
      +
      true if the building card is successfully bought, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      applyEffect

      +
      +
      public void applyEffect(Player player)
      +
      Default implementation of the building effect. + +

      This method does not perform any operation and can be overridden +by specific building cards that define an active effect.

      +
      +
      Parameters:
      +
      player - the player to whom the effect may be applied.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCard.html new file mode 100644 index 0000000..2f39051 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCard.html @@ -0,0 +1,384 @@ + + + + +TribeCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TribeCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.TribeCard
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
Character, EventCard
+
+
+
+
public abstract class TribeCard +extends PlayableCard +implements Serializable
+
Abstract base class for all tribe cards. +A TribeCard is a PlayableCard that may either be an event card +or a non-event card, and may optionally specify a minimum number of players.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final boolean
    + +
    +
    Indicates whether this tribe card is an event card.
    +
    +
    private final int
    + +
    +
    The minimum number of players required for this tribe card.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    TribeCard(int Era, + boolean isEventCard)
    +
    +
    Creates a tribe card with the specified era and event-card flag.
    +
    +
    TribeCard(int Era, + boolean isEventCard, + int nMin)
    +
    +
    Creates a tribe card with the specified era, event-card flag, +and minimum number of players.
    +
    +
    TribeCard(String idIMG, + int Era, + boolean isEventCard)
    +
    +
    Creates a tribe card with the specified image id, era and event-card flag.
    +
    +
    TribeCard(String idIMG, + int Era, + boolean isEventCard, + int nMin)
    +
    +
    Creates a tribe card with the specified image id, era, event-card flag, +and minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    abstract TribeCard
    + +
    +
    Creates and returns a copy of this tribe card.
    +
    +
    int
    + +
    +
    Returns the minimum number of players required for this tribe card.
    +
    +
    boolean
    + +
    +
    Returns whether this tribe card is an event card.
    +
    +
    +
    +
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG, toStringBoard, toStringPlayer
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      isEventCard

      +
      +
      private final boolean isEventCard
      +
      Indicates whether this tribe card is an event card.
      +
      +
      +
    • +
    • +
      +

      nMin

      +
      +
      private final int nMin
      +
      The minimum number of players required for this tribe card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TribeCard

      +
      +
      public TribeCard(int Era, + boolean isEventCard)
      +
      Creates a tribe card with the specified era and event-card flag. +The minimum number of players is set to 0.
      +
      +
      Parameters:
      +
      Era - the era of the tribe card.
      +
      isEventCard - whether the card is an event card.
      +
      +
      +
      +
    • +
    • +
      +

      TribeCard

      +
      +
      public TribeCard(String idIMG, + int Era, + boolean isEventCard)
      +
      Creates a tribe card with the specified image id, era and event-card flag. +The minimum number of players is set to 0.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the tribe card.
      +
      Era - the era of the tribe card.
      +
      isEventCard - whether the card is an event card.
      +
      +
      +
      +
    • +
    • +
      +

      TribeCard

      +
      +
      public TribeCard(int Era, + boolean isEventCard, + int nMin)
      +
      Creates a tribe card with the specified era, event-card flag, +and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the tribe card.
      +
      isEventCard - whether the card is an event card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      TribeCard

      +
      +
      public TribeCard(String idIMG, + int Era, + boolean isEventCard, + int nMin)
      +
      Creates a tribe card with the specified image id, era, event-card flag, +and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the tribe card.
      +
      Era - the era of the tribe card.
      +
      isEventCard - whether the card is an event card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isEventCard

      +
      +
      public boolean isEventCard()
      +
      Returns whether this tribe card is an event card.
      +
      +
      Returns:
      +
      true if this card is an event card, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      getNMin

      +
      +
      public int getNMin()
      +
      Returns the minimum number of players required for this tribe card.
      +
      +
      Returns:
      +
      the minimum number of players required for this tribe card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public abstract TribeCard clone()
      +
      Creates and returns a copy of this tribe card.
      +
      +
      Overrides:
      +
      clone in class Object
      +
      Returns:
      +
      a clone of this tribe card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.html new file mode 100644 index 0000000..6d60b19 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.html @@ -0,0 +1,373 @@ + + + + +Character + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Character

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.TribeCard +
it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
Direct Known Subclasses:
+
Artist, Builder, Gatherer, Hunter, Inventor, Shaman
+
+
+
+
public abstract class Character +extends TribeCard +implements Cloneable
+
Abstract base class for all character cards. + +

A Character is a TribeCard that is not an event card and is associated +with a specific CharacterType.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      type

      +
      +
      private final CharacterType type
      +
      The specific type of this character card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Character

      +
      +
      public Character(int Era, + CharacterType type)
      +
      Creates a character card with the specified era and character type.
      +
      +
      Parameters:
      +
      Era - the era of the character card.
      +
      type - the type of the character card.
      +
      +
      +
      +
    • +
    • +
      +

      Character

      +
      +
      public Character(String idIMG, + int Era, + CharacterType type)
      +
      Creates a character card with the specified image id, era and character type.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the character card.
      +
      Era - the era of the character card.
      +
      type - the type of the character card.
      +
      +
      +
      +
    • +
    • +
      +

      Character

      +
      +
      public Character(int Era, + CharacterType type, + int nMin)
      +
      Creates a character card with the specified era, character type, +and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the character card.
      +
      type - the type of the character card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      Character

      +
      +
      public Character(String idIMG, + int Era, + CharacterType type, + int nMin)
      +
      Creates a character card with the specified image id, era, character type, +and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the character card.
      +
      Era - the era of the character card.
      +
      type - the type of the character card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getType

      +
      +
      public CharacterType getType()
      +
      Returns the type of this character card.
      +
      +
      Returns:
      +
      the type of this character card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public abstract Character clone()
      +
      Creates and returns a copy of this character card.
      +
      +
      Specified by:
      +
      clone in class TribeCard
      +
      Returns:
      +
      a clone of this character card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public abstract void insert(Player player)
      +
      Inserts this character card into the appropriate collection of the specified player.
      +
      +
      Parameters:
      +
      player - the player who receives the character card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/CharacterType.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/CharacterType.html new file mode 100644 index 0000000..b46aae1 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/CharacterType.html @@ -0,0 +1,332 @@ + + + + +CharacterType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class CharacterType

+
+
java.lang.Object +
java.lang.Enum<CharacterType> +
it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<CharacterType>, Constable
+
+
+
+
public enum CharacterType +extends Enum<CharacterType>
+
Represents the different types of character cards available in the game.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      INVENTOR

      +
      +
      public static final CharacterType INVENTOR
      +
      Character card representing an Inventor.
      +
      +
      +
    • +
    • +
      +

      BUILDER

      +
      +
      public static final CharacterType BUILDER
      +
      Character card representing a Builder.
      +
      +
      +
    • +
    • +
      +

      GATHERER

      +
      +
      public static final CharacterType GATHERER
      +
      Character card representing a Gatherer.
      +
      +
      +
    • +
    • +
      +

      ARTIST

      +
      +
      public static final CharacterType ARTIST
      +
      Character card representing an Artist.
      +
      +
      +
    • +
    • +
      +

      SHAMAN

      +
      +
      public static final CharacterType SHAMAN
      +
      Character card representing a Shaman.
      +
      +
      +
    • +
    • +
      +

      HUNTER

      +
      +
      public static final CharacterType HUNTER
      +
      Character card representing a Hunter.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CharacterType

      +
      +
      private CharacterType()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static CharacterType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static CharacterType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.html new file mode 100644 index 0000000..41a0d0d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.html @@ -0,0 +1,348 @@ + + + + +Artist + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Artist

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Artist +extends Character
+
Represents an Artist character card. + +

An Artist is a specific type of Character initialized with +CharacterType.ARTIST.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Artist(int Era)
    +
    +
    Creates an Artist character card with the specified era.
    +
    +
    Artist(int Era, + int nMin)
    +
    +
    Creates an Artist character card with the specified Era and minimum number of players required to play it.
    +
    +
    Artist(String idIMG, + int Era)
    +
    +
    Creates an Artist character card with the specified image id and era.
    +
    +
    Artist(String idIMG, + int Era, + int nMin)
    +
    +
    Creates an Artist character card with the specified image id, era and +minimum number of players required to play it.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Artist card.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Artist card into the specified player's Artist collection +and applies any building effects triggered by character set completion.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Artist

      +
      +
      public Artist(int Era)
      +
      Creates an Artist character card with the specified era.
      +
      +
      Parameters:
      +
      Era - the era of the Artist card.
      +
      +
      +
      +
    • +
    • +
      +

      Artist

      +
      +
      public Artist(int Era, + int nMin)
      +
      Creates an Artist character card with the specified Era and minimum number of players required to play it.
      +
      +
      Parameters:
      +
      Era - the era of the Artist card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      Artist

      +
      +
      public Artist(String idIMG, + int Era)
      +
      Creates an Artist character card with the specified image id and era.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Artist card.
      +
      Era - the era of the Artist card.
      +
      +
      +
      +
    • +
    • +
      +

      Artist

      +
      +
      public Artist(String idIMG, + int Era, + int nMin)
      +
      Creates an Artist character card with the specified image id, era and +minimum number of players required to play it.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Artist card.
      +
      Era - the era of the Artist card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Artist card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Artist card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Artist card into the specified player's Artist collection +and applies any building effects triggered by character set completion.
      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.html new file mode 100644 index 0000000..f42fda3 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.html @@ -0,0 +1,483 @@ + + + + +Builder + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Builder

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Builder +extends Character
+
Represents a Builder character card. + +

A Builder is a specific type of Character that provides +a reduction value when buying building cards.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The prestige value provided by this Builder card.
    +
    +
    private final int
    + +
    +
    The reduction value provided by this Builder card.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Builder(int Era, + int reductionValue, + int prestigeValue)
    +
    +
    Creates a Builder character card with the specified era, reduction value, +and prestige value.
    +
    +
    Builder(int Era, + int reductionValue, + int prestigeValue, + int nMin)
    +
    +
    Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
    +
    +
    Builder(String idIMG, + int Era, + int reductionValue, + int prestigeValue)
    +
    +
    Creates a Builder character card with the specified era, reduction value, +and prestige value.
    +
    +
    Builder(String idIMG, + int Era, + int reductionValue, + int prestigeValue, + int nMin)
    +
    +
    Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Builder card.
    +
    +
    int
    + +
    +
    Returns the prestige value of this Builder card.
    +
    +
    int
    + +
    +
    Returns the reduction value of this Builder card.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Builder card into the specified player's Builder collection +and applies any building effects triggered by character set completion.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      reductionValue

      +
      +
      private final int reductionValue
      +
      The reduction value provided by this Builder card.
      +
      +
      +
    • +
    • +
      +

      prestigeValue

      +
      +
      private final int prestigeValue
      +
      The prestige value provided by this Builder card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Builder

      +
      +
      public Builder(int Era, + int reductionValue, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a Builder character card with the specified era, reduction value, +and prestige value.
      +
      +
      Parameters:
      +
      Era - the era of the Builder card.
      +
      reductionValue - the reduction value of the Builder card.
      +
      prestigeValue - the prestige value of the Builder card.
      +
      Throws:
      +
      IllegalArgumentException - if reductionValue < 0 or prestigeValue < 0.
      +
      +
      +
      +
    • +
    • +
      +

      Builder

      +
      +
      public Builder(int Era, + int reductionValue, + int prestigeValue, + int nMin) + throws IllegalArgumentException
      +
      Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the Builder card.
      +
      reductionValue - the reduction value of the Builder card.
      +
      prestigeValue - the prestige value of the Builder card.
      +
      nMin - the minimum number of players required for the card.
      +
      Throws:
      +
      IllegalArgumentException - if reductionValue < 0 or prestigeValue < 0.
      +
      +
      +
      +
    • +
    • +
      +

      Builder

      +
      +
      public Builder(String idIMG, + int Era, + int reductionValue, + int prestigeValue) + throws IllegalArgumentException
      +
      Creates a Builder character card with the specified era, reduction value, +and prestige value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Builder card.
      +
      Era - the era of the Builder card.
      +
      reductionValue - the reduction value of the Builder card.
      +
      prestigeValue - the prestige value of the Builder card.
      +
      Throws:
      +
      IllegalArgumentException - if reductionValue < 0 or prestigeValue < 0.
      +
      +
      +
      +
    • +
    • +
      +

      Builder

      +
      +
      public Builder(String idIMG, + int Era, + int reductionValue, + int prestigeValue, + int nMin) + throws IllegalArgumentException
      +
      Creates a Builder character card with the specified era, reduction value, +prestige value, and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Builder card.
      +
      Era - the era of the Builder card.
      +
      reductionValue - the reduction value of the Builder card.
      +
      prestigeValue - the prestige value of the Builder card.
      +
      nMin - the minimum number of players required for the card.
      +
      Throws:
      +
      IllegalArgumentException - if reductionValue < 0 or prestigeValue < 0.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getReductionValue

      +
      +
      public int getReductionValue()
      +
      Returns the reduction value of this Builder card.
      +
      +
      Returns:
      +
      the reduction value of this Builder card.
      +
      +
      +
      +
    • +
    • +
      +

      getPrestigeValue

      +
      +
      public int getPrestigeValue()
      +
      Returns the prestige value of this Builder card.
      +
      +
      Returns:
      +
      the prestige value of this Builder card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Builder card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Builder card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Builder card into the specified player's Builder collection +and applies any building effects triggered by character set completion.
      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.html new file mode 100644 index 0000000..9180526 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.html @@ -0,0 +1,348 @@ + + + + +Gatherer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Gatherer

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Gatherer +extends Character
+
Represents a Gatherer character card. + +

A Gatherer is a specific type of Character initialized with +CharacterType.GATHERER.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Gatherer(int Era)
    +
    +
    Creates a Gatherer character card with the specified era.
    +
    +
    Gatherer(int Era, + int nMin)
    +
    +
    Creates a Gatherer character card with the specified era and minimum number of players.
    +
    +
    Gatherer(String idIMG, + int Era)
    +
    +
    Creates a Gatherer character card with the specified image id and era.
    +
    +
    Gatherer(String idIMG, + int Era, + int nMin)
    +
    +
    Creates a Gatherer character card with the specified image id, era and +minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Gatherer card.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Gatherer card into the specified player's Gatherer collection +and applies any building effects triggered by character set completion.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Gatherer

      +
      +
      public Gatherer(int Era)
      +
      Creates a Gatherer character card with the specified era.
      +
      +
      Parameters:
      +
      Era - the era of the Gatherer card.
      +
      +
      +
      +
    • +
    • +
      +

      Gatherer

      +
      +
      public Gatherer(int Era, + int nMin)
      +
      Creates a Gatherer character card with the specified era and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the Gatherer card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      Gatherer

      +
      +
      public Gatherer(String idIMG, + int Era)
      +
      Creates a Gatherer character card with the specified image id and era.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Gatherer card.
      +
      Era - the era of the Gatherer card.
      +
      +
      +
      +
    • +
    • +
      +

      Gatherer

      +
      +
      public Gatherer(String idIMG, + int Era, + int nMin)
      +
      Creates a Gatherer character card with the specified image id, era and +minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Gatherer card.
      +
      Era - the era of the Gatherer card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Gatherer card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Gatherer card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Gatherer card into the specified player's Gatherer collection +and applies any building effects triggered by character set completion.
      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.html new file mode 100644 index 0000000..14d923c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.html @@ -0,0 +1,425 @@ + + + + +Hunter + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Hunter

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Hunter +extends Character
+
Represents a Hunter character card. + +

A Hunter is a specific type of Character initialized with +CharacterType.HUNTER.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final boolean
    + +
    +
    Describes whether the Hunter Icon is present or not.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Hunter(int Era, + boolean icon)
    +
    +
    Creates a Hunter character card with the specified era and icon value.
    +
    +
    Hunter(int Era, + boolean icon, + int nMin)
    +
    +
    Creates a Hunter character card with the specified era, icon value, +and minimum number of players.
    +
    +
    Hunter(String idIMG, + int Era, + boolean icon)
    +
    +
    Creates a Hunter character card with the specified image id, era and icon value.
    +
    +
    Hunter(String idIMG, + int Era, + boolean icon, + int nMin)
    +
    +
    Creates a Hunter character card with the specified image id, era, icon value, +and minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Hunter card.
    +
    +
    boolean
    + +
    +
    Returns whether this Hunter card has the icon.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Hunter card into the specified player's Hunter collection.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      icon

      +
      +
      private final boolean icon
      +
      Describes whether the Hunter Icon is present or not. Whenever an +Hunter with an Hunter Icon is added to the tribe, 1 Food token is awarded for each Hunter in the tribe +(with or without an icon).
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Hunter

      +
      +
      public Hunter(int Era, + boolean icon)
      +
      Creates a Hunter character card with the specified era and icon value.
      +
      +
      Parameters:
      +
      Era - the era of the Hunter card.
      +
      icon - the icon value of the Hunter card.
      +
      +
      +
      +
    • +
    • +
      +

      Hunter

      +
      +
      public Hunter(int Era, + boolean icon, + int nMin)
      +
      Creates a Hunter character card with the specified era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the Hunter card.
      +
      icon - the icon value of the Hunter card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      Hunter

      +
      +
      public Hunter(String idIMG, + int Era, + boolean icon)
      +
      Creates a Hunter character card with the specified image id, era and icon value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Hunter card.
      +
      Era - the era of the Hunter card.
      +
      icon - the icon value of the Hunter card.
      +
      +
      +
      +
    • +
    • +
      +

      Hunter

      +
      +
      public Hunter(String idIMG, + int Era, + boolean icon, + int nMin)
      +
      Creates a Hunter character card with the specified image id, era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Hunter card.
      +
      Era - the era of the Hunter card.
      +
      icon - the icon value of the Hunter card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIcon

      +
      +
      public boolean getIcon()
      +
      Returns whether this Hunter card has the icon.
      +
      +
      Returns:
      +
      true if this Hunter card has the icon, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Hunter card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Hunter card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Hunter card into the specified player's Hunter collection. + +

      If this card has the Hunter icon, the player gains 1 food for each +Hunter currently in their tribe. The method also applies any building +effects triggered by character set completion.

      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.html new file mode 100644 index 0000000..30f53a0 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.html @@ -0,0 +1,434 @@ + + + + +Inventor + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Inventor

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Inventor +extends Character
+
Represents an Inventor character card. + +

An Inventor is a specific type of Character initialized with +CharacterType.INVENTOR.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The Icons's ID.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Inventor(int Era, + int icon)
    +
    +
    Creates an Inventor character card with the specified era and icon value.
    +
    +
    Inventor(int Era, + int icon, + int nMin)
    +
    +
    Creates an Inventor character card with the specified era, icon value, +and minimum number of players.
    +
    +
    Inventor(String idIMG, + int Era, + int icon)
    +
    +
    Creates an Inventor character card with the specified image id, era and icon value.
    +
    +
    Inventor(String idIMG, + int Era, + int icon, + int nMin)
    +
    +
    Creates an Inventor character card with the specified image id, era, icon value, +and minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Inventor card.
    +
    +
    int
    + +
    +
    Returns the icon value of this Inventor card.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Inventor card into the specified player's Inventor collection.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      icon

      +
      +
      private final int icon
      +
      The Icons's ID. There are a total of 10 different Icons.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Inventor

      +
      +
      public Inventor(int Era, + int icon) + throws IllegalArgumentException
      +
      Creates an Inventor character card with the specified era and icon value.
      +
      +
      Parameters:
      +
      Era - the era of the Inventor card.
      +
      icon - the icon value of the Inventor card.
      +
      Throws:
      +
      IllegalArgumentException - if icon < 0 or icon > 9.
      +
      +
      +
      +
    • +
    • +
      +

      Inventor

      +
      +
      public Inventor(int Era, + int icon, + int nMin) + throws IllegalArgumentException
      +
      Creates an Inventor character card with the specified era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the Inventor card.
      +
      icon - the icon value of the Inventor card.
      +
      nMin - the minimum number of players required for the card.
      +
      Throws:
      +
      IllegalArgumentException - if icon < 0 or icon > 9.
      +
      +
      +
      +
    • +
    • +
      +

      Inventor

      +
      +
      public Inventor(String idIMG, + int Era, + int icon) + throws IllegalArgumentException
      +
      Creates an Inventor character card with the specified image id, era and icon value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Inventor card.
      +
      Era - the era of the Inventor card.
      +
      icon - the icon value of the Inventor card.
      +
      Throws:
      +
      IllegalArgumentException - if icon < 0 or icon > 9.
      +
      +
      +
      +
    • +
    • +
      +

      Inventor

      +
      +
      public Inventor(String idIMG, + int Era, + int icon, + int nMin) + throws IllegalArgumentException
      +
      Creates an Inventor character card with the specified image id, era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Inventor card.
      +
      Era - the era of the Inventor card.
      +
      icon - the icon value of the Inventor card.
      +
      nMin - the minimum number of players required for the card.
      +
      Throws:
      +
      IllegalArgumentException - if icon < 0 or icon > 9.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIcon

      +
      +
      public int getIcon()
      +
      Returns the icon value of this Inventor card.
      +
      +
      Returns:
      +
      the icon value of this Inventor card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Inventor card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Inventor card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Inventor card into the specified player's Inventor collection. + +

      The method also applies the building effects related to inventor pairs +and any building effects triggered by character set completion.

      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.html new file mode 100644 index 0000000..70bb071 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.html @@ -0,0 +1,425 @@ + + + + +Shaman + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Shaman

+
+ +
+
+
All Implemented Interfaces:
+
Serializable, Cloneable
+
+
+
+
public class Shaman +extends Character
+
Represents a Shaman character card. + +

A Shaman is a specific type of Character initialized with +CharacterType.SHAMAN.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The number of star Icons the card possesses.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Shaman(int Era, + int icon)
    +
    +
    Creates a Shaman character card with the specified era and icon value.
    +
    +
    Shaman(int Era, + int icon, + int nMin)
    +
    +
    Creates a Shaman character card with the specified era, icon value, +and minimum number of players.
    +
    +
    Shaman(String idIMG, + int Era, + int icon)
    +
    +
    Creates a Shaman character card with the specified image id, era and icon value.
    +
    +
    Shaman(String idIMG, + int Era, + int icon, + int nMin)
    +
    +
    Creates a Shaman character card with the specified image id, era, icon value, +and minimum number of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Creates and returns a copy of this Shaman card.
    +
    +
    int
    + +
    +
    Returns the icon value of this Shaman card.
    +
    +
    void
    +
    insert(Player player)
    +
    +
    Inserts this Shaman card into the specified player's Shaman collection +and applies any building effects triggered by character set completion.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Character

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      icon

      +
      +
      private final int icon
      +
      The number of star Icons the card possesses. +During the Shamanic Ritual Event, having the +majority of these icons provides Prestige Points; +having the minority, on the other hand, results in +losing Prestige Points.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Shaman

      +
      +
      public Shaman(int Era, + int icon)
      +
      Creates a Shaman character card with the specified era and icon value.
      +
      +
      Parameters:
      +
      Era - the era of the Shaman card.
      +
      icon - the icon value of the Shaman card.
      +
      +
      +
      +
    • +
    • +
      +

      Shaman

      +
      +
      public Shaman(int Era, + int icon, + int nMin)
      +
      Creates a Shaman character card with the specified era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      Era - the era of the Shaman card.
      +
      icon - the icon value of the Shaman card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    • +
      +

      Shaman

      +
      +
      public Shaman(String idIMG, + int Era, + int icon)
      +
      Creates a Shaman character card with the specified image id, era and icon value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Shaman card.
      +
      Era - the era of the Shaman card.
      +
      icon - the icon value of the Shaman card.
      +
      +
      +
      +
    • +
    • +
      +

      Shaman

      +
      +
      public Shaman(String idIMG, + int Era, + int icon, + int nMin)
      +
      Creates a Shaman character card with the specified image id, era, icon value, +and minimum number of players.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Shaman card.
      +
      Era - the era of the Shaman card.
      +
      icon - the icon value of the Shaman card.
      +
      nMin - the minimum number of players required for the card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIcon

      +
      +
      public int getIcon()
      +
      Returns the icon value of this Shaman card.
      +
      +
      Returns:
      +
      the icon value of this Shaman card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public Character clone()
      +
      Creates and returns a copy of this Shaman card.
      +
      +
      Specified by:
      +
      clone in class Character
      +
      Returns:
      +
      a clone of this Shaman card.
      +
      +
      +
      +
    • +
    • +
      +

      insert

      +
      +
      public void insert(Player player)
      +
      Inserts this Shaman card into the specified player's Shaman collection +and applies any building effects triggered by character set completion.
      +
      +
      Specified by:
      +
      insert in class Character
      +
      Parameters:
      +
      player - the player who receives the card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-summary.html new file mode 100644 index 0000000..f2a592e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-summary.html @@ -0,0 +1,122 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-tree.html new file mode 100644 index 0000000..8d41e3f --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/package-tree.html @@ -0,0 +1,91 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • it.polimi.ingsw.gc14.Model.PlayableCard (implements java.io.Serializable) +
        +
      • it.polimi.ingsw.gc14.Model.Cards.TribeCard (implements java.io.Serializable) +
          +
        • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character (implements java.lang.Cloneable) +
            +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Gatherer
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Shaman
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.html new file mode 100644 index 0000000..163e7aa --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.html @@ -0,0 +1,316 @@ + + + + +EventCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class EventCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard +
it.polimi.ingsw.gc14.Model.Cards.TribeCard +
it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
CavePaintings, Hunt, ShamanicRitual, Sustenance
+
+
+
+
public abstract class EventCard +extends TribeCard
+
Abstract base class for all event cards. +An EventCard is a TribeCard marked as an event card and associated +with a specific EventType.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      type

      +
      +
      private final EventType type
      +
      The specific type of this event card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EventCard

      +
      +
      public EventCard(int era, + EventType type)
      +
      Creates an event card with the specified era and event type.
      +
      +
      Parameters:
      +
      era - the era of the event card.
      +
      type - the type of the event card.
      +
      +
      +
      +
    • +
    • +
      +

      EventCard

      +
      +
      public EventCard(String idIMG, + int era, + EventType type)
      +
      Creates an event card with the specified image id, era and event type.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the event card.
      +
      era - the era of the event card.
      +
      type - the type of the event card.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getType

      +
      +
      public EventType getType()
      +
      Returns the type of this event card.
      +
      +
      Returns:
      +
      the type of this event card.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public abstract TribeCard clone()
      +
      Creates and returns a copy of this event card.
      +
      +
      Specified by:
      +
      clone in class TribeCard
      +
      Returns:
      +
      a clone of this event card.
      +
      +
      +
      +
    • +
    • +
      +

      activateEvent

      +
      +
      public abstract void activateEvent(ArrayList<Player> playerList)
      +
      Activates the effect of this event card on the specified list of players.
      +
      +
      Parameters:
      +
      playerList - the list of players affected by the event.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.html new file mode 100644 index 0000000..9f41663 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.html @@ -0,0 +1,304 @@ + + + + +EventType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class EventType

+
+
java.lang.Object +
java.lang.Enum<EventType> +
it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EventType>, Constable
+
+
+
+
public enum EventType +extends Enum<EventType>
+
Represents the different types of event cards available in the game.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      SUSTENANCE

      +
      +
      public static final EventType SUSTENANCE
      +
      Event card representing Sustenance.
      +
      +
      +
    • +
    • +
      +

      SHAMANIC_RITUAL

      +
      +
      public static final EventType SHAMANIC_RITUAL
      +
      Event card representing the Shamanic Ritual.
      +
      +
      +
    • +
    • +
      +

      CAVE_PAINTINGS

      +
      +
      public static final EventType CAVE_PAINTINGS
      +
      Event card representing Cave Paintings.
      +
      +
      +
    • +
    • +
      +

      HUNT

      +
      +
      public static final EventType HUNT
      +
      Event card representing the Hunt.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EventType

      +
      +
      private EventType()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static EventType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static EventType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.html new file mode 100644 index 0000000..cc324bc --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.html @@ -0,0 +1,410 @@ + + + + +CavePaintings + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class CavePaintings

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class CavePaintings +extends EventCard
+
Represents a Cave Paintings event card. + +

This class defines the specific behavior of the Cave Paintings event.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The minimum number of Artist cards required to avoid the prestige penalty.
    +
    +
    private final int
    + +
    +
    The Prestige multiplier applied if the player has at least nLower Artist cards.
    +
    +
    private final int
    + +
    +
    The amount of Prestige removed if the player has fewer Artist cards than nLower.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    CavePaintings(int Era, + int nLower, + int nPrestigeRem, + int nPrestigeMul)
    +
    +
    Creates a CavePaintings event card with the specified era and effect parameters.
    +
    +
    CavePaintings(String idIMG, + int Era, + int nLower, + int nPrestigeRem, + int nPrestigeMul)
    +
    +
    Creates a CavePaintings event card with the specified image id, era and effect parameters.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Activates the CavePaintings event for the specified list of players.
    +
    + + +
    +
    Creates and returns a copy of this CavePaintings event card.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Prints a string representation of this TribeCard.
    +
    +
    +
    +
    +
    +

    Methods inherited from class EventCard

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      nLower

      +
      +
      private final int nLower
      +
      The minimum number of Artist cards required to avoid the prestige penalty. +Also, the bottom number on the card.
      +
      +
      +
    • +
    • +
      +

      nPrestigeRem

      +
      +
      private final int nPrestigeRem
      +
      The amount of Prestige removed if the player has fewer Artist cards than nLower.
      +
      +
      +
    • +
    • +
      +

      nPrestigeMul

      +
      +
      private final int nPrestigeMul
      +
      The Prestige multiplier applied if the player has at least nLower Artist cards.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CavePaintings

      +
      +
      public CavePaintings(int Era, + int nLower, + int nPrestigeRem, + int nPrestigeMul)
      +
      Creates a CavePaintings event card with the specified era and effect parameters.
      +
      +
      Parameters:
      +
      Era - the era of the event card.
      +
      nLower - the minimum number of Artist cards required to avoid the prestige penalty.
      +
      nPrestigeRem - the amount of Prestige removed if the player has fewer Artist cards than nLower.
      +
      nPrestigeMul - the Prestige multiplier applied if the player has at least nLower Artist cards.
      +
      +
      +
      +
    • +
    • +
      +

      CavePaintings

      +
      +
      public CavePaintings(String idIMG, + int Era, + int nLower, + int nPrestigeRem, + int nPrestigeMul)
      +
      Creates a CavePaintings event card with the specified image id, era and effect parameters.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the CavePaintings event card.
      +
      Era - the era of the event card.
      +
      nLower - the minimum number of Artist cards required to avoid the prestige penalty.
      +
      nPrestigeRem - the amount of Prestige removed if the player has fewer Artist cards than nLower.
      +
      nPrestigeMul - the Prestige multiplier applied if the player has at least nLower Artist cards.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      activateEvent

      +
      +
      public void activateEvent(ArrayList<Player> playerList)
      +
      Activates the CavePaintings event for the specified list of players. +For each player, the number of Artist cards is computed together with the number +of owned building cards having effect id equal to 9. +The player gains Food equal to the number of such buildings multiplied by the number of Artist cards. +If the player has fewer Artist cards than nLower, the player loses nPrestigeRem Prestige. +Otherwise, the player gains Prestige equal to nPrestigeMul multiplied by the number of Artist cards.
      +
      +
      Specified by:
      +
      activateEvent in class EventCard
      +
      Parameters:
      +
      playerList - the list of players affected by the event.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public EventCard clone()
      +
      Creates and returns a copy of this CavePaintings event card.
      +
      +
      Specified by:
      +
      clone in class EventCard
      +
      Returns:
      +
      a clone of this CavePaintings event card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Prints a string representation of this TribeCard. This specific variation is used in the Game's +toString to print a more detailed version. +

      NOTE: NUpper is not a real attribute used in calculations (only nLower is needed), +however it's a parameter on the cards' design. +

      +Includes: +
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      String - a string representation of this TribeCard.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.html new file mode 100644 index 0000000..de14db5 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.html @@ -0,0 +1,389 @@ + + + + +Hunt + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Hunt

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Hunt +extends EventCard
+
When activated, gives Food and Prestige Points to every player.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      BASE_FOOD_PER_HUNTER

      +
      +
      private static final int BASE_FOOD_PER_HUNTER
      +
      Base food units granted per Hunter. Always 1; increased by Building 7.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      prestigeMultiplier

      +
      +
      private final int prestigeMultiplier
      +
      Prestige Points multiplier used during the event.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Hunt

      +
      +
      public Hunt(int Era, + int prestigeMultiplier)
      +
      Creates a new Hunt event card.
      +
      +
      Parameters:
      +
      Era - the era of the card
      +
      prestigeMultiplier - prestige points multiplicator used during the event
      +
      +
      +
      +
    • +
    • +
      +

      Hunt

      +
      +
      public Hunt(String idIMG, + int Era, + int prestigeMultiplier)
      +
      Creates a new Hunt event card.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Hunt event card.
      +
      Era - the era of the card.
      +
      prestigeMultiplier - the prestige points multiplier used during the event.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPrestigeMultiplier

      +
      +
      int getPrestigeMultiplier()
      +
      Gets Prestige Points multiplier used during the event.
      +
      +
      Returns:
      +
      int PrestigeMultiplier
      +
      +
      +
      +
    • +
    • +
      +

      activateEvent

      +
      +
      public void activateEvent(ArrayList<Player> playerList)
      +
      Activates the event card "Hunt". +Each player gains Food and Prestige Points for each Hunter in their tribe, +multiplied by the respective multipliers (base food per hunter is 1). +Buildings influence: + Building 7: adds 1 to both the food and prestige multiplier for each copy owned.
      +
      +
      Specified by:
      +
      activateEvent in class EventCard
      +
      Parameters:
      +
      playerList - the list of all players in the game.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public EventCard clone()
      +
      Creates and returns a copy of this Hunt card.
      +
      +
      Specified by:
      +
      clone in class EventCard
      +
      Returns:
      +
      a new Hunt card with the same era and prestige multiplier
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Description copied from class: PlayableCard
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.html new file mode 100644 index 0000000..21982f0 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.html @@ -0,0 +1,446 @@ + + + + +ShamanicRitual + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ShamanicRitual

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class ShamanicRitual +extends EventCard
+
When activated, rewards the player with the most shaman icons and penalizes the one with the fewest.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final int
    + +
    +
    Bonus shaman icons granted per Building 5 owned during this event.
    +
    +
    private final int
    + +
    +
    Prestige points awarded to the player with the most shaman icons.
    +
    +
    private final int
    + +
    +
    Prestige points removed from the player with the fewest shaman icons.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ShamanicRitual(int Era, + int prestigeToAdd, + int prestigeToRemove)
    +
    +
    Creates a new ShamanicRitual event card.
    +
    +
    ShamanicRitual(String idIMG, + int Era, + int prestigeToAdd, + int prestigeToRemove)
    +
    +
    Creates a new ShamanicRitual event card.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Activates the event card "Shamanic Ritual".
    +
    + + +
    +
    Creates and returns a copy of this ShamanicRitual card.
    +
    +
    (package private) int
    + +
    +
    Returns the prestige points awarded to the player with the most shaman icons.
    +
    +
    (package private) int
    + +
    +
    Returns the prestige points removed from the player with the fewest shaman icons.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Prints a string representation of this TribeCard.
    +
    +
    +
    +
    +
    +

    Methods inherited from class EventCard

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      BUILDING5_BONUS_ICONS

      +
      +
      private static final int BUILDING5_BONUS_ICONS
      +
      Bonus shaman icons granted per Building 5 owned during this event.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      prestigeToAdd

      +
      +
      private final int prestigeToAdd
      +
      Prestige points awarded to the player with the most shaman icons.
      +
      +
      +
    • +
    • +
      +

      prestigeToRemove

      +
      +
      private final int prestigeToRemove
      +
      Prestige points removed from the player with the fewest shaman icons.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ShamanicRitual

      +
      +
      public ShamanicRitual(int Era, + int prestigeToAdd, + int prestigeToRemove)
      +
      Creates a new ShamanicRitual event card.
      +
      +
      Parameters:
      +
      Era - the era of the card
      +
      prestigeToAdd - prestige points awarded to the player with the most icons
      +
      prestigeToRemove - prestige points removed from the player with the fewest icons
      +
      +
      +
      +
    • +
    • +
      +

      ShamanicRitual

      +
      +
      public ShamanicRitual(String idIMG, + int Era, + int prestigeToAdd, + int prestigeToRemove)
      +
      Creates a new ShamanicRitual event card.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the ShamanicRitual event card.
      +
      Era - the era of the card.
      +
      prestigeToAdd - prestige points awarded to the player with the most icons.
      +
      prestigeToRemove - prestige points removed from the player with the fewest icons.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPrestigeToAdd

      +
      +
      int getPrestigeToAdd()
      +
      Returns the prestige points awarded to the player with the most shaman icons.
      +
      +
      Returns:
      +
      prestige points to award.
      +
      +
      +
      +
    • +
    • +
      +

      getPrestigeToRemove

      +
      +
      int getPrestigeToRemove()
      +
      Returns the prestige points removed from the player with the fewest shaman icons.
      +
      +
      Returns:
      +
      prestige points to remove.
      +
      +
      +
      +
    • +
    • +
      +

      activateEvent

      +
      +
      public void activateEvent(ArrayList<Player> playerList)
      +
      Activates the event card "Shamanic Ritual". +The player with the most icons gains the Prestige Points indicated. +The player with the fewest icons loses the Prestige Points indicated. +In case of a tie, all players gain or lose the Prestige Points indicated. +If all players have the same amount of icons, they all gain and lose Prestige Points. +Buildings influence: + Building 2: if you have the lowest number of icons, you don't lose Prestige Points + Building 5: during the Shamanic Ritual, you gain 3 icons + Building 6: if you have more icons than any other player, you gain double of Prestige Points
      +
      +
      Specified by:
      +
      activateEvent in class EventCard
      +
      Parameters:
      +
      playerList - contains all the players in the game
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public EventCard clone()
      +
      Creates and returns a copy of this ShamanicRitual card.
      +
      +
      Specified by:
      +
      clone in class EventCard
      +
      Returns:
      +
      a new ShamanicRitual card with the same era and prestige values
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Prints a string representation of this TribeCard. This specific variation is used in the Game's +toString to print a more detailed version. +Includes: +
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      String - a string representation of this TribeCard.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.html new file mode 100644 index 0000000..a1be7b1 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.html @@ -0,0 +1,405 @@ + + + + +Sustenance + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Sustenance

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Sustenance +extends EventCard
+
Represents a Sustenance event card. + +

This class defines the specific behavior of the Sustenance event.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final int
    + +
    +
    Food units covered by each Gatherer during the Sustenance event.
    +
    +
    private final int
    + +
    +
    The prestige penalty multiplier applied for each unpaid Food unit.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Sustenance(int Era, + int prestigeDebt)
    +
    +
    Creates a Sustenance event card with the specified era and prestige debt value.
    +
    +
    Sustenance(String idIMG, + int Era, + int prestigeDebt)
    +
    +
    Creates a Sustenance event card with the specified image id, era and prestige debt value.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Activates the Sustenance event for the specified list of players.
    +
    + + +
    +
    Creates and returns a copy of this Sustenance event card.
    +
    +
    int
    + +
    +
    Returns the prestige penalty multiplier associated with this Sustenance event.
    +
    + + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    + + +
    +
    Prints a string representation of this TribeCard.
    +
    +
    +
    +
    +
    +

    Methods inherited from class EventCard

    +getType
    +
    +

    Methods inherited from class TribeCard

    +getNMin, isEventCard
    +
    +

    Methods inherited from class PlayableCard

    +getEra, getIdIMG
    +
    +

    Methods inherited from class Object

    +equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      FOOD_PER_GATHERER

      +
      +
      private static final int FOOD_PER_GATHERER
      +
      Food units covered by each Gatherer during the Sustenance event.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      prestigeDebt

      +
      +
      private final int prestigeDebt
      +
      The prestige penalty multiplier applied for each unpaid Food unit.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Sustenance

      +
      +
      public Sustenance(int Era, + int prestigeDebt)
      +
      Creates a Sustenance event card with the specified era and prestige debt value.
      +
      +
      Parameters:
      +
      Era - the era of the event card.
      +
      prestigeDebt - the prestige penalty multiplier for unpaid Food units.
      +
      +
      +
      +
    • +
    • +
      +

      Sustenance

      +
      +
      public Sustenance(String idIMG, + int Era, + int prestigeDebt)
      +
      Creates a Sustenance event card with the specified image id, era and prestige debt value.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the Sustenance event card.
      +
      Era - the era of the event card.
      +
      prestigeDebt - the prestige penalty multiplier for unpaid Food units.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPrestigeDebt

      +
      +
      public int getPrestigeDebt()
      +
      Returns the prestige penalty multiplier associated with this Sustenance event.
      +
      +
      Returns:
      +
      the prestige penalty multiplier associated with this Sustenance event.
      +
      +
      +
      +
    • +
    • +
      +

      activateEvent

      +
      +
      public void activateEvent(ArrayList<Player> playerList)
      +
      Activates the Sustenance event for the specified list of players. +For each player, the required Food is computed from the total number of characters, +reduced by the contribution of Gatherers and by any applicable character discounts +granted by owned building cards with effect id equal to 1. +If the resulting Food debt is positive, the player must pay it with available Food. +If the player does not have enough Food, all remaining Food is removed and the player +loses Prestige equal to the unpaid Food debt multiplied by prestigeDebt. +This event is intended to be executed last among event effects.
      +
      +
      Specified by:
      +
      activateEvent in class EventCard
      +
      Parameters:
      +
      playerList - the list of players affected by the event.
      +
      +
      +
      +
    • +
    • +
      +

      clone

      +
      +
      public EventCard clone()
      +
      Creates and returns a copy of this Sustenance event card.
      +
      +
      Specified by:
      +
      clone in class EventCard
      +
      Returns:
      +
      a clone of this Sustenance event card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public String toStringPlayer()
      +
      Prints a string representation of this TribeCard. This specific variation is used in the Game's +toString to print a more detailed version. +Includes: +
      +
      +
      Specified by:
      +
      toStringPlayer in class PlayableCard
      +
      Returns:
      +
      String - a string representation of this TribeCard.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public String toStringBoard()
      +
      Description copied from class: PlayableCard
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Specified by:
      +
      toStringBoard in class PlayableCard
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-summary.html new file mode 100644 index 0000000..1811c2e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-summary.html @@ -0,0 +1,114 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-tree.html new file mode 100644 index 0000000..bccf1f4 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/package-tree.html @@ -0,0 +1,89 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • it.polimi.ingsw.gc14.Model.PlayableCard (implements java.io.Serializable) +
        +
      • it.polimi.ingsw.gc14.Model.Cards.TribeCard (implements java.io.Serializable) +
          +
        • it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard +
            +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.CavePaintings
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Hunt
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual
          • +
          • it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.Sustenance
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-summary.html new file mode 100644 index 0000000..080e4d8 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-summary.html @@ -0,0 +1,120 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards.TribeCards

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards.TribeCards
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-tree.html new file mode 100644 index 0000000..5f36934 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/TribeCards/package-tree.html @@ -0,0 +1,98 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards.TribeCards Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards.TribeCards

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-summary.html new file mode 100644 index 0000000..0b284d9 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-summary.html @@ -0,0 +1,112 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Cards

+
+
+
+
package it.polimi.ingsw.gc14.Model.Cards
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-tree.html new file mode 100644 index 0000000..37cedec --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Cards/package-tree.html @@ -0,0 +1,79 @@ + + + + +it.polimi.ingsw.gc14.Model.Cards Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Cards

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.BuildingCardDefinition.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.BuildingCardDefinition.html new file mode 100644 index 0000000..d8ecfd6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.BuildingCardDefinition.html @@ -0,0 +1,238 @@ + + + + +DecksCreator.BuildingCardDefinition + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DecksCreator.BuildingCardDefinition

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition
+
+
+
+
Enclosing class:
+
DecksCreator
+
+
+
+
private static class DecksCreator.BuildingCardDefinition +extends Object
+
Internal data class representing the raw definition of a building card as loaded from a JSON file. +Contains the card identifier, effect ID, era, price, prestige value, and a list of additional parameters.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      id

      +
      +
      String id
      +
      +
      +
    • +
    • +
      +

      effectId

      +
      +
      int effectId
      +
      +
      +
    • +
    • +
      +

      era

      +
      +
      int era
      +
      +
      +
    • +
    • +
      +

      price

      +
      +
      int price
      +
      +
      +
    • +
    • +
      +

      prestigeValue

      +
      +
      int prestigeValue
      +
      +
      +
    • +
    • +
      +

      params

      +
      +
      List<Object> params
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BuildingCardDefinition

      +
      +
      private BuildingCardDefinition()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.TribeCardDefinition.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.TribeCardDefinition.html new file mode 100644 index 0000000..d9e8446 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.TribeCardDefinition.html @@ -0,0 +1,239 @@ + + + + +DecksCreator.TribeCardDefinition + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DecksCreator.TribeCardDefinition

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition
+
+
+
+
Enclosing class:
+
DecksCreator
+
+
+
+
private static class DecksCreator.TribeCardDefinition +extends Object
+
Internal data class representing the raw definition of a tribe card as loaded from a JSON file. +Contains the card identifier, type, era, whether it is armed, whether it is an event card, +and a list of additional parameters.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      id

      +
      +
      String id
      +
      +
      +
    • +
    • +
      +

      type

      +
      +
      String type
      +
      +
      +
    • +
    • +
      +

      era

      +
      +
      int era
      +
      +
      +
    • +
    • +
      +

      armed

      +
      +
      boolean armed
      +
      +
      +
    • +
    • +
      +

      isEvent

      +
      +
      boolean isEvent
      +
      +
      +
    • +
    • +
      +

      params

      +
      +
      List<Object> params
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TribeCardDefinition

      +
      +
      private TribeCardDefinition()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.html new file mode 100644 index 0000000..4656b9c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/DecksCreator.html @@ -0,0 +1,341 @@ + + + + +DecksCreator + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DecksCreator

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.DecksCreator
+
+
+
+
+
public class DecksCreator +extends Object
+
Utility class responsible for loading and creating decks of cards and slots for the game. +Cards are loaded from JSON resource files and instantiated according to their type and parameters.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DecksCreator

      +
      +
      public DecksCreator()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      loadTribeDeckByEra

      +
      +
      public static List<TribeCard> loadTribeDeckByEra(int era) + throws IllegalArgumentException
      +
      Loads the tribe card deck for the specified era from the corresponding JSON resource file.
      +
      +
      Parameters:
      +
      era - the era number (1, 2, or 3).
      +
      Returns:
      +
      a list of TribeCard objects for the specified era.
      +
      Throws:
      +
      IllegalArgumentException - if era is not 1, 2, or 3.
      +
      +
      +
      +
    • +
    • +
      +

      loadTribeDeck

      +
      +
      public static List<TribeCard> loadTribeDeck(String resourcePath)
      +
      Loads a tribe card deck from the specified JSON resource file path.
      +
      +
      Parameters:
      +
      resourcePath - the path to the JSON resource file.
      +
      Returns:
      +
      a list of TribeCard objects defined in the resource file.
      +
      Throws:
      +
      RuntimeException - if the resource file is not found or an error occurs while reading it.
      +
      +
      +
      +
    • +
    • +
      +

      loadBuildingDeckByEra

      +
      +
      public static List<BuildingCard> loadBuildingDeckByEra(int era) + throws IllegalArgumentException
      +
      Loads the building card deck for the specified era, filtering cards from the global building deck.
      +
      +
      Parameters:
      +
      era - the era number (1, 2, or 3).
      +
      Returns:
      +
      a list of BuildingCard objects belonging to the specified era.
      +
      Throws:
      +
      IllegalArgumentException - if era is not 1, 2, or 3.
      +
      +
      +
      +
    • +
    • +
      +

      loadBuildingDeck

      +
      +
      public static List<BuildingCard> loadBuildingDeck(String resourcePath)
      +
      Loads the full building card deck from the specified JSON resource file path.
      +
      +
      Parameters:
      +
      resourcePath - the path to the JSON resource file.
      +
      Returns:
      +
      a list of BuildingCard objects defined in the resource file.
      +
      Throws:
      +
      RuntimeException - if the resource file is not found or an error occurs while reading it.
      +
      +
      +
      +
    • +
    • +
      +

      loadSlotDeck

      +
      +
      public static List<Slot> loadSlotDeck()
      +
      Creates and returns the list of slots used as the game board. +Slots are labeled with the letters A through G.
      +
      +
      Returns:
      +
      a list of Slot objects representing the game board.
      +
      +
      +
      +
    • +
    • +
      +

      createCard

      +
      +
      private static TribeCard createCard(DecksCreator.TribeCardDefinition def)
      +
      Instantiates a TribeCard from the given definition. +Depending on whether the card is an event or a character, the appropriate subclass is created +using the type and parameters specified in the definition.
      +
      +
      Parameters:
      +
      def - the DecksCreator.TribeCardDefinition containing the card's type, era, and parameters.
      +
      Returns:
      +
      the instantiated TribeCard.
      +
      Throws:
      +
      IllegalArgumentException - if the card type is unknown or the parameters are invalid.
      +
      +
      +
      +
    • +
    • +
      +

      createCard

      +
      +
      private static BuildingCard createCard(DecksCreator.BuildingCardDefinition def)
      +
      Instantiates a BuildingCard from the given definition. +The appropriate subclass is selected based on the effect ID specified in the definition. +If no specific subclass matches the effect ID, a base BuildingCard is created.
      +
      +
      Parameters:
      +
      def - the DecksCreator.BuildingCardDefinition containing the card's effect ID, era, price, prestige value, and parameters.
      +
      Returns:
      +
      the instantiated BuildingCard.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Game.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Game.html new file mode 100644 index 0000000..6dca6bb --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Game.html @@ -0,0 +1,1154 @@ + + + + +Game + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Game

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.Game
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Game +extends Object +implements Serializable
+
Represents the main game model. +A Game object stores the players, the current state of the match, +the slot assignments, the board, and the logic required to manage the game flow.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      playerStanding

      +
      +
      private ArrayList<Player> playerStanding
      +
      The final ranking of players at the end of the game.
      +
      +
      +
    • +
    • +
      +

      totemChoiceQueue

      +
      +
      private final Queue<Player> totemChoiceQueue
      +
      Queue containing the players who still have to choose their totem.
      +
      +
      +
    • +
    • +
      +

      disconnectedPlayers

      +
      +
      private final Map<Player,Boolean> disconnectedPlayers
      +
      Map tracking the players who are currently disconnected. +Key: player; value: true if currently disconnected, false if reconnected.
      +
      +
      +
    • +
    • +
      +

      playersList

      +
      +
      private ArrayList<Player> playersList
      +
      The list of players participating in the game.
      +
      +
      +
    • +
    • +
      +

      currentState

      +
      +
      private CurrentState currentState
      +
      The current state of the game.
      +
      +
      +
    • +
    • +
      +

      slotMap

      +
      +
      private HashMap<Slot,Player> slotMap
      +
      The mapping between slots and the players assigned to them.
      +
      +
      +
    • +
    • +
      +

      nPlayers

      +
      +
      private int nPlayers
      +
      The configured number of players for this game.
      +
      +
      +
    • +
    • +
      +

      optionalCardQueue

      +
      +
      private Queue<Player> optionalCardQueue
      +
      The queue of players involved in optional card resolution.
      +
      +
      +
    • +
    • +
      +

      orderLogicCard

      +
      +
      private OrderLogicCard orderLogicCard
      +
      The order logic card associated with this game.
      +
      +
      +
    • +
    • +
      +

      board

      +
      +
      private Board board
      +
      The board associated with this game.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Game

      +
      +
      public Game(int nPlayers) + throws IllegalArgumentException
      +
      Creates a game with the specified number of players.
      +
      +
      Parameters:
      +
      nPlayers - the configured number of players for the game.
      +
      Throws:
      +
      IllegalArgumentException - if nPlayers < 0 or nPlayers > 5.
      +
      +
      +
      +
    • +
    • +
      +

      Game

      +
      +
      public Game()
      +
      Creates a game with 0 configured players.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayerStanding

      +
      +
      public ArrayList<Player> getPlayerStanding()
      +
      Returns the final ranking of players.
      +
      +
      Returns:
      +
      the list of players ordered according to their final standing.
      +
      +
      +
      +
    • +
    • +
      +

      getPlayers

      +
      +
      public List<Player> getPlayers()
      +
      Returns the list of players participating in the game.
      +
      +
      Returns:
      +
      a copy of the list of players currently participating in the game.
      +
      +
      +
      +
    • +
    • +
      +

      getAvailableTotems

      +
      +
      public List<Totems> getAvailableTotems()
      +
      Returns the list of totems that have not yet been assigned to any player.
      +
      +
      Returns:
      +
      the list of currently available totems.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public boolean totemChoice(Player player, + Totems totem)
      +
      Assigns the selected totem to the specified player during the totem choice phase. + +

      The choice is accepted only if the game is currently in the +GameStages.TOTEM_CHOICE stage, the player is the current one, +and the selected totem is still available. + +

      After a valid choice, the method advances to the next player in the queue. +If all players have completed the selection, the game moves to the slot choice phase. +Disconnected players are automatically assigned a random available totem.

      +
      +
      Parameters:
      +
      player - the player making the totem choice.
      +
      totem - the selected totem.
      +
      Returns:
      +
      true if the choice is applied successfully, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      getDisconnectedPlayers

      +
      +
      public Map<Player,Boolean> getDisconnectedPlayers()
      +
      Returns an unmodifiable view of the disconnected-players map.
      +
      +
      Returns:
      +
      map from player to disconnection status.
      +
      +
      +
      +
    • +
    • +
      +

      disconnectedPlayer

      +
      +
      public boolean disconnectedPlayer(Player player)
      +
      Marks the specified player as disconnected and updates the game flow accordingly. + +

      If the player disconnects during the waiting phase, they are removed from +the player list and from the totem choice queue. If the disconnected player is +the current one, the game advances to the next suitable player or, during the +totem choice phase, handles the remaining selection flow automatically.

      +
      +
      Parameters:
      +
      player - the player who disconnected.
      +
      Returns:
      +
      true if the disconnection is handled successfully, + false if the player was already marked as disconnected.
      +
      +
      +
      +
    • +
    • +
      +

      reconnectPlayer

      +
      +
      public boolean reconnectPlayer(Player player)
      +
      Marks the specified player as reconnected. + +

      If the player reconnects during the slot choice phase, they are removed +from the disconnected players map and reinserted into the order logic card +when necessary.

      +
      +
      Parameters:
      +
      player - the player who reconnected.
      +
      Returns:
      +
      true if the reconnection is handled successfully, + false if the player was not previously marked as disconnected.
      +
      +
      +
      +
    • +
    • +
      +

      clearDisconnected

      +
      +
      public void clearDisconnected()
      +
      Clears the collection of disconnected players.
      +
      +
      +
    • +
    • +
      +

      getCurrentPlayerNumber

      +
      +
      public int getCurrentPlayerNumber()
      +
      Returns the current number of players participating in the game.
      +
      +
      Returns:
      +
      the current number of players.
      +
      +
      +
      +
    • +
    • +
      +

      getSlotMap

      +
      +
      public HashMap<Slot,Player> getSlotMap()
      +
      Returns the map of slots assigned to players.
      +
      +
      Returns:
      +
      the map that associates each slot with the corresponding player.
      +
      +
      +
      +
    • +
    • +
      +

      getOrderLogicCard

      +
      +
      public OrderLogicCard getOrderLogicCard()
      +
      Returns the order logic card associated with this game.
      +
      +
      Returns:
      +
      the order logic card.
      +
      +
      +
      +
    • +
    • +
      +

      getBoard

      +
      +
      public Board getBoard()
      +
      Returns the game board.
      +
      +
      Returns:
      +
      the board associated with the game.
      +
      +
      +
      +
    • +
    • +
      +

      getUpperListTribeCards

      +
      +
      public ArrayList<TribeCard> getUpperListTribeCards()
      +
      Returns a copy of the upper tribe cards currently available on the board.
      +
      +
      Returns:
      +
      a new list containing the upper tribe cards currently on the board.
      +
      +
      +
      +
    • +
    • +
      +

      getLowerListTribeCards

      +
      +
      public ArrayList<TribeCard> getLowerListTribeCards()
      +
      Returns a copy of the lower tribe cards currently available on the board.
      +
      +
      Returns:
      +
      a new list containing the lower tribe cards currently on the board.
      +
      +
      +
      +
    • +
    • +
      +

      getUpperListBuilding

      +
      +
      public ArrayList<BuildingCard> getUpperListBuilding()
      +
      Returns a copy of the upper building cards currently available on the board.
      +
      +
      Returns:
      +
      a new list containing the upper building cards currently on the board.
      +
      +
      +
      +
    • +
    • +
      +

      getLowerListBuilding

      +
      +
      public ArrayList<BuildingCard> getLowerListBuilding()
      +
      Returns a copy of the lower building cards currently available on the board.
      +
      +
      Returns:
      +
      a new list containing the lower building cards currently on the board.
      +
      +
      +
      +
    • +
    • +
      +

      getCurrentState

      +
      +
      public CurrentState getCurrentState()
      +
      Returns the current state of the game.
      +
      +
      Returns:
      +
      the current state of the game.
      +
      +
      +
      +
    • +
    • +
      +

      getPlayerByUsername

      +
      +
      public Player getPlayerByUsername(String username) + throws IndexOutOfBoundsException
      +
      Returns the player with the specified username, if present.
      +
      +
      Parameters:
      +
      username - the username of the player to search for.
      +
      Returns:
      +
      the player with the specified username, or null if no such player exists.
      +
      Throws:
      +
      IndexOutOfBoundsException - if an index access error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      getNPlayers

      +
      +
      public int getNPlayers()
      +
      Returns the configured number of players for this game.
      +
      +
      Returns:
      +
      the configured number of players for this game.
      +
      +
      +
      +
    • +
    • +
      +

      addPlayer

      +
      +
      public boolean addPlayer(Player player)
      +
      Attempts to add the specified player to the game. +The operation succeeds only if the configured number of players is not 0, +the current game stage is WAITING, and the player is not already present. +If the number of players reaches the configured maximum, the game is initialized.
      +
      +
      Parameters:
      +
      player - the player to add to the game.
      +
      Returns:
      +
      true if the player is successfully added, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      init

      +
      +
      public void init()
      +
      Initializes the game after all required players have been added. +The method creates the appropriate order logic card according to the number of players, +selects the first current player, and updates the game stage to SLOT_CHOICE.
      +
      +
      +
    • +
    • +
      +

      slotChoiceByIndex

      +
      +
      public boolean slotChoiceByIndex(Player player, + int slotIndex)
      +
      Attempts to assign the slot at the specified index to the specified player. +The operation succeeds only if the index is valid, the current game stage is SLOT_CHOICE, +the specified player is the current player, and the selected slot is not already assigned. +If the slot is successfully assigned, the next player setup is triggered.
      +
      +
      Parameters:
      +
      player - the player performing the slot choice.
      +
      slotIndex - the index of the selected slot.
      +
      Returns:
      +
      true if the slot choice succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCardByIndex

      +
      +
      public boolean drawUpperTribeCardByIndex(Player player, + int cardIndex)
      +
      Attempts to draw the upper tribe card at the specified index for the specified player. +The operation succeeds only if the index is valid, the game stage is RESOLVING_ACTIONS, +the specified player is the current player, at least one upper card draw is still available, +and the selected tribe card is not an event card. +If successful, the card is inserted into the player's collection, removed from the board, +and the number of remaining upper draws is decremented. +If both upper and lower draws become zero, the next player setup is triggered.
      +
      +
      Parameters:
      +
      player - the player performing the draw.
      +
      cardIndex - the index of the upper tribe card to draw.
      +
      Returns:
      +
      true if the draw succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public boolean skipTurn(Player player)
      +
      Skips the turn for the specified player when no drawable cards are available. +The operation succeeds only if the current game stage is RESOLVING_ACTIONS, +the specified player is the current player, +and the player can't draw tribe card (i.e. all remaining lower tribe cards are event cards).
      +
      +
      Parameters:
      +
      player - the player skipping the turn .
      +
      Returns:
      +
      true if the skip succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCardByIndex

      +
      +
      public boolean drawLowerTribeCardByIndex(Player player, + int cardIndex)
      +
      Attempts to draw the lower tribe card at the specified index for the specified player. +The operation succeeds only if the index is valid, the game stage is RESOLVING_ACTIONS, +the specified player is the current player, at least one lower card draw is still available, +and the selected tribe card is not an event card. +If successful, the card is inserted into the player's collection, removed from the board, +and the number of remaining lower draws is decremented. +If both lower and upper draws become zero, the next player setup is triggered.
      +
      +
      Parameters:
      +
      player - the player performing the draw.
      +
      cardIndex - the index of the lower tribe card to draw.
      +
      Returns:
      +
      true if the draw succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCardByIndex

      +
      +
      public boolean drawUpperBuildingCardByIndex(Player player, + int cardIndex)
      +
      Attempts to draw the upper building card at the specified index for the specified player. +The operation succeeds only if the index is valid, the game stage is RESOLVING_ACTIONS, +the specified player is the current player, at least one upper card draw is still available, +and the selected building card can be bought by the player. +If successful, the building card is removed from the board and the number of remaining upper draws is decremented. +If both upper and lower draws become zero, the next player setup is triggered.
      +
      +
      Parameters:
      +
      player - the player performing the draw.
      +
      cardIndex - the index of the upper building card to draw.
      +
      Returns:
      +
      true if the draw succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCardByIndex

      +
      +
      public boolean drawLowerBuildingCardByIndex(Player player, + int cardIndex)
      +
      Attempts to draw the lower building card at the specified index for the specified player. +The operation succeeds only if the index is valid, the game stage is RESOLVING_ACTIONS, +the specified player is the current player, at least one lower card draw is still available, +and the selected building card can be bought by the player. +If successful, the building card is removed from the board and the number of remaining lower draws is decremented. +If both lower and upper draws become zero, the next player setup is triggered.
      +
      +
      Parameters:
      +
      player - the player performing the draw.
      +
      cardIndex - the index of the lower building card to draw.
      +
      Returns:
      +
      true if the draw succeeds, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      nextPlayerSetup

      +
      +
      private void nextPlayerSetup()
      +
      Prepares the next player and updates the game state according to the current game stage. +If the current stage is SLOT_CHOICE, the next player is taken from the order logic card. +If no player is available, the game stage is updated to RESOLVING_ACTIONS +and the first assigned slot is selected. +If the current stage is RESOLVING_ACTIONS, the current player is pushed back +into the order logic card, the current slot is freed, and the next assigned slot is selected. +If no assigned slots remain, the game stage is updated to OPTIONAL_CARD_EFFECT, +the optional card queue is built from players owning building cards with effect id equal to 12, +and the first player in that queue is selected. +If no player is available for optional card resolution, the game stage is updated to +RESOLVING_EVENT; then, if the round number is less than 10, the next round is prepared, +otherwise event resolution is performed, the game stage is updated to ENDING, +and the game is ended. +If the current stage is OPTIONAL_CARD_EFFECT, the next player is taken from the optional card queue. +If no player is available, the game stage is updated to RESOLVING_EVENT.
      +
      +
      +
    • +
    • +
      +

      transitionToOptionalOrNextRound

      +
      +
      private void transitionToOptionalOrNextRound()
      +
      Transitions the game to the optional card phase or directly to the next round. + +

      Builds a queue of non-disconnected players who own Building 12 (optional card effect). +If such players exist, the first one is set as the current player for their optional action. +Otherwise, if the round counter is below 10, the next round begins and the game stage +is set to GameStages.SLOT_CHOICE; if round 10 has been completed, the game ends.

      +
      +
      +
    • +
    • +
      +

      hasDrawableUp

      +
      +
      private boolean hasDrawableUp()
      +
      Checks whether there are any drawable upper tribe cards on the board, +i.e. upper tribe cards that are not event cards.
      +
      +
      Returns:
      +
      true if at least one non-event upper tribe card is available, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      hasDrawableDown

      +
      +
      private boolean hasDrawableDown()
      +
      Checks whether there are any drawable lower tribe cards on the board, +i.e. lower tribe cards that are not event cards.
      +
      +
      Returns:
      +
      true if at least one non-event lower tribe card is available, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      eventResolution

      +
      +
      private void eventResolution()
      +
      Resolves all pending event cards if the current game stage is RESOLVING_EVENT. +All pending events are activated on the player list. +Event cards of type SUSTENANCE are resolved after all other pending events.
      +
      +
      +
    • +
    • +
      +

      nextRound

      +
      +
      private void nextRound()
      +
      Advances the game to the next round. +The method first resolves pending events. +If the current round is 10, the game stage is updated to ENDING and the game is ended. +Otherwise, the era is updated if the board changes era, and the round number is incremented.
      +
      +
      +
    • +
    • +
      +

      endGame

      +
      +
      private void endGame()
      +
      Ends the game by applying all final building effects owned by each player +and updating the game stage to ENDED.
      +
      +
      +
    • +
    • +
      +

      setNPlayer

      +
      +
      public boolean setNPlayer(int nPlayers)
      +
      Sets the configured number of players for this game. +The operation succeeds only if the current configured number of players is 0.
      +
      +
      Parameters:
      +
      nPlayers - the new configured number of players.
      +
      Returns:
      +
      true if the number of players is updated, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      endGameForfeit

      +
      +
      public void endGameForfeit()
      +
      Ends the game by forfeit and determines the final player standing. + +

      The player who is still connected is declared the winner and placed +in the first position of the final ranking. The remaining players are +ordered by prestige value and, in case of a tie, by food value.

      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/Board.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/Board.html new file mode 100644 index 0000000..d2909b2 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/Board.html @@ -0,0 +1,639 @@ + + + + +Board + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Board

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.GamePackage.Board
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Board +extends Object +implements Serializable
+
Board manages all the elements during the game such as decks, upper and lower rows, totems, tiles...
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      slotList

      +
      +
      private final List<Slot> slotList
      +
      slotList contains the ordered list of slots (tiles). The slots changes based on the number of players. +Each slot (tile) has special action as drawing from the upper/lower row or taking food.
      +
      +
      +
    • +
    • +
      +

      tribeDeck

      +
      +
      private final Queue<TribeCard> tribeDeck
      +
      tribeDeck is the deck from where you draw tribe cards as characters and events.
      +
      +
      +
    • +
    • +
      +

      upperListTribe

      +
      +
      private final List<TribeCard> upperListTribe
      +
      The upper row of tribe cards. It contains a total of +nTotem + 4 tribe cards, which may include both character and event cards.
      +
      +
      +
    • +
    • +
      +

      lowerListTribe

      +
      +
      private final List<TribeCard> lowerListTribe
      +
      The lower row of the tribe card. During the first round, there will be (num. of players + 1) character cards. +During the following rounds, lower row will be emptied and populated with upper row's cards. +When an Event card gets in the lower row, the event effect will be activated at the end of the round.
      +
      +
      +
    • +
    • +
      +

      upperListBuilding

      +
      +
      private final List<BuildingCard> upperListBuilding
      +
      Contains all the building cards of the upper list. When a new era starts, all its building cards are placed here.
      +
      +
      +
    • +
    • +
      +

      lowerListBuilding

      +
      +
      private final List<BuildingCard> lowerListBuilding
      +
      Contains all the building cards of the lower list. When a new era starts, the old era's buildings are moved from the upper to the lower list.
      +
      +
      +
    • +
    • +
      +

      buildingCardsAllEras

      +
      +
      private final ArrayList<List<BuildingCard>> buildingCardsAllEras
      +
      All building card lists grouped by era; index 0 = era 1, index 1 = era 2, etc.
      +
      +
      +
    • +
    • +
      +

      nTotem

      +
      +
      private final int nTotem
      +
      Number of players
      +
      +
      +
    • +
    • +
      +

      era

      +
      +
      private int era
      +
      Current era of the game
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Board

      +
      +
      public Board(int nTotem)
      +
      Creates and initializes a new board: + - Generate the slotList using a method of DecksCreator. + - Generate the tribeDeck. + - Populate the lower list (if there is an event card, it's added to the upper list). + - Populate the upper list. + - Generate the buildingDeck using a method of DecksCreator.
      +
      +
      Parameters:
      +
      nTotem - the number of players.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUpperListTribe

      +
      +
      public List<TribeCard> getUpperListTribe()
      +
      Returns the upper row of tribe cards.
      +
      +
      Returns:
      +
      the live upper tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      getLowerListTribe

      +
      +
      public List<TribeCard> getLowerListTribe()
      +
      Returns the lower row of tribe cards.
      +
      +
      Returns:
      +
      the live lower tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      getUpperListBuilding

      +
      +
      public List<BuildingCard> getUpperListBuilding()
      +
      Returns the upper row of building cards.
      +
      +
      Returns:
      +
      the live upper building card list.
      +
      +
      +
      +
    • +
    • +
      +

      getLowerListBuilding

      +
      +
      public List<BuildingCard> getLowerListBuilding()
      +
      Returns the lower row of building cards.
      +
      +
      Returns:
      +
      the live lower building card list.
      +
      +
      +
      +
    • +
    • +
      +

      getSlotList

      +
      +
      public List<Slot> getSlotList()
      +
      Creates and returns a new list containing the slots (tiles) of the game.
      +
      +
      Returns:
      +
      a copy of the slot list.
      +
      +
      +
      +
    • +
    • +
      +

      getTribeDeckSize

      +
      +
      public int getTribeDeckSize()
      +
      +
      Returns:
      +
      the size of the TribeDeck
      +
      +
      +
      +
    • +
    • +
      +

      getEra

      +
      +
      public int getEra()
      +
      +
      Returns:
      +
      the game era
      +
      +
      +
      +
    • +
    • +
      +

      generateTribeDeck

      +
      +
      private Queue<TribeCard> generateTribeDeck(int nPlayers)
      +
      Creates the tribeDeck. Loads the cards from each era, shuffle them, and then combine them in the final deck. +In the end, two special events (Sustenance and ShamanicRitual) are added.
      +
      +
      Parameters:
      +
      nPlayers - the number of players.
      +
      Returns:
      +
      a queue containing the cards in this order: + - Era 1. + - Era 2. + - Era 3. + - Special events.
      +
      +
      +
      +
    • +
    • +
      +

      getPendingEvents

      +
      +
      public Queue<EventCard> getPendingEvents()
      +
      +
      Returns:
      +
      the queue of events cards from the lower list that need to be activated
      +
      +
      +
      +
    • +
    • +
      +

      removeUpperTribeCard

      +
      +
      public boolean removeUpperTribeCard(TribeCard tribeCard)
      +
      Take the selected card from the upper tribe list of the board.
      +
      +
      Parameters:
      +
      tribeCard - is the card to remove.
      +
      Returns:
      +
      true if the card is successfully removed.
      +
      +
      +
      +
    • +
    • +
      +

      removeLowerTribeCard

      +
      +
      public boolean removeLowerTribeCard(TribeCard tribeCard)
      +
      Take the selected card from the lower tribe list of the board.
      +
      +
      Parameters:
      +
      tribeCard - is the card to remove.
      +
      Returns:
      +
      true if succeed in removing the card.
      +
      +
      +
      +
    • +
    • +
      +

      removeUpperBuildingCard

      +
      +
      public boolean removeUpperBuildingCard(BuildingCard buildingCard)
      +
      Take the selected card from the upper building list of the board.
      +
      +
      Parameters:
      +
      buildingCard - is the card to remove.
      +
      Returns:
      +
      true if succeed in removing the card.
      +
      +
      +
      +
    • +
    • +
      +

      removeLowerBuildingCard

      +
      +
      public boolean removeLowerBuildingCard(BuildingCard buildingCard)
      +
      Take the selected card from the lower building list of the board.
      +
      +
      Parameters:
      +
      buildingCard - is the card to remove.
      +
      Returns:
      +
      true if succeed in removing the card.
      +
      +
      +
      +
    • +
    • +
      +

      nextRound

      +
      +
      public int nextRound()
      +
      Goes to the next round. + - Clear the lower tribe row. + - Moves the upper tribe row to the lower one. + - Populate the upper tribe row.
      +
      +
      Returns:
      +
      the current era after moving to the next round.
      +
      +
      +
      +
    • +
    • +
      +

      nextEra

      +
      +
      private void nextEra()
      +
      Changes the era of the game: + - Increase the era attribute. + - Clear the lower building list and replace it with the upper building list. + - Repopulate the upper building list.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/CurrentState.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/CurrentState.html new file mode 100644 index 0000000..3566cb1 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/CurrentState.html @@ -0,0 +1,563 @@ + + + + +CurrentState + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class CurrentState

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.GamePackage.CurrentState
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class CurrentState +extends Object +implements Serializable
+
Represents the current state of the game. +A CurrentState object stores the current player, slot, era, round, +remaining upper and lower cards, and the current game stage.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private int
    + +
    +
    The current era of the game.
    +
    +
    private GameStages
    + +
    +
    The current stage of the game.
    +
    +
    private int
    + +
    +
    The number of lower cards currently available.
    +
    +
    private int
    + +
    +
    The number of upper cards currently available.
    +
    +
    private Player
    + +
    +
    The current player associated with the game state.
    +
    +
    private int
    + +
    +
    The current round of the game.
    +
    +
    private Slot
    + +
    +
    The current slot associated with the game state.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Creates a new CurrentState object with default initial values.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Increments the current era by 1.
    +
    +
    void
    + +
    +
    Updates the current game stage.
    +
    + + +
    +
    Returns the current player.
    +
    +
    int
    + +
    +
    Returns the current era of the game.
    +
    + + +
    +
    Returns the current stage of the game.
    +
    +
    int
    + +
    +
    Returns the number of lower cards currently available.
    +
    +
    int
    + +
    +
    Returns the number of upper cards currently available.
    +
    +
    int
    + +
    +
    Returns the current round of the game.
    +
    + + +
    +
    Returns the current slot.
    +
    +
    void
    + +
    +
    Decrements the number of lower cards by 1.
    +
    +
    void
    +
    playerUpdate(Player player, + Slot slot)
    +
    +
    Updates the current player, slot, and available draws.
    +
    +
    void
    + +
    +
    Increments the current round by 1.
    +
    + + +
    +
    Returns a formatted ASCII table representation of the current game state.
    +
    +
    void
    + +
    +
    Decrements the number of upper cards by 1.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      player

      +
      +
      private Player player
      +
      The current player associated with the game state.
      +
      +
      +
    • +
    • +
      +

      slot

      +
      +
      private Slot slot
      +
      The current slot associated with the game state.
      +
      +
      +
    • +
    • +
      +

      era

      +
      +
      private int era
      +
      The current era of the game.
      +
      +
      +
    • +
    • +
      +

      round

      +
      +
      private int round
      +
      The current round of the game.
      +
      +
      +
    • +
    • +
      +

      nUpper

      +
      +
      private int nUpper
      +
      The number of upper cards currently available.
      +
      +
      +
    • +
    • +
      +

      nLower

      +
      +
      private int nLower
      +
      The number of lower cards currently available.
      +
      +
      +
    • +
    • +
      +

      gameStage

      +
      +
      private GameStages gameStage
      +
      The current stage of the game.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CurrentState

      +
      +
      public CurrentState()
      +
      Creates a new CurrentState object with default initial values. +The initial player and slot are null, the era and round are set to 1, +the number of upper and lower cards is set to 0, and the game stage is set to WAITING.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCurrentPlayer

      +
      +
      public Player getCurrentPlayer()
      +
      Returns the current player.
      +
      +
      Returns:
      +
      the current player.
      +
      +
      +
      +
    • +
    • +
      +

      getSlot

      +
      +
      public Slot getSlot()
      +
      Returns the current slot.
      +
      +
      Returns:
      +
      the current slot.
      +
      +
      +
      +
    • +
    • +
      +

      getEra

      +
      +
      public int getEra()
      +
      Returns the current era of the game.
      +
      +
      Returns:
      +
      the current era of the game.
      +
      +
      +
      +
    • +
    • +
      +

      getRound

      +
      +
      public int getRound()
      +
      Returns the current round of the game.
      +
      +
      Returns:
      +
      the current round of the game.
      +
      +
      +
      +
    • +
    • +
      +

      getNUpper

      +
      +
      public int getNUpper()
      +
      Returns the number of upper cards currently available.
      +
      +
      Returns:
      +
      the number of upper cards currently available.
      +
      +
      +
      +
    • +
    • +
      +

      getNLower

      +
      +
      public int getNLower()
      +
      Returns the number of lower cards currently available.
      +
      +
      Returns:
      +
      the number of lower cards currently available.
      +
      +
      +
      +
    • +
    • +
      +

      getGameStage

      +
      +
      public GameStages getGameStage()
      +
      Returns the current stage of the game.
      +
      +
      Returns:
      +
      the current stage of the game.
      +
      +
      +
      +
    • +
    • +
      +

      eraUpdate

      +
      +
      public void eraUpdate()
      +
      Increments the current era by 1.
      +
      +
      +
    • +
    • +
      +

      roundUpdate

      +
      +
      public void roundUpdate()
      +
      Increments the current round by 1.
      +
      +
      +
    • +
    • +
      +

      upperDrawn

      +
      +
      public void upperDrawn()
      +
      Decrements the number of upper cards by 1.
      +
      +
      +
    • +
    • +
      +

      lowerDrawn

      +
      +
      public void lowerDrawn()
      +
      Decrements the number of lower cards by 1.
      +
      +
      +
    • +
    • +
      +

      gameStageUpdate

      +
      +
      public void gameStageUpdate(GameStages stage)
      +
      Updates the current game stage.
      +
      +
      Parameters:
      +
      stage - the new game stage.
      +
      +
      +
      +
    • +
    • +
      +

      playerUpdate

      +
      +
      public void playerUpdate(Player player, + Slot slot)
      +
      Updates the current player, slot, and available draws. +If slot is null, both nUpper and nLower are reset to 0. +Otherwise, they are set from the slot's values.
      +
      +
      Parameters:
      +
      player - the new current player.
      +
      slot - the new current slot, or null when no slot is active.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns a formatted ASCII table representation of the current game state. +Columns: Player, Round, Era, GameStage.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a String containing the ASCII table.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/GameStages.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/GameStages.html new file mode 100644 index 0000000..4a4dd5e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/GameStages.html @@ -0,0 +1,428 @@ + + + + +GameStages + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class GameStages

+
+
java.lang.Object +
java.lang.Enum<GameStages> +
it.polimi.ingsw.gc14.Model.GamePackage.GameStages
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<GameStages>, Constable
+
+
+
+
public enum GameStages +extends Enum<GameStages>
+
Represents the possible stages of a game.
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class Enum

    +Enum.EnumDesc<E>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Stage indicating that the game has ended.
    +
    + +
    +
    Stage in which end-of-game scoring and ranking are computed.
    +
    + +
    +
    Stage in which an optional card effect can be resolved.
    +
    + +
    +
    Stage in which the mandatory actions associated with the chosen slots are resolved.
    +
    + +
    +
    Stage in which an event card is being resolved.
    +
    + +
    +
    Stage in which players select their action slots.
    +
    + +
    +
    Stage in which players choose their totems.
    +
    + +
    +
    Stage in which the game is waiting for players to join.
    +
    +
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final String
    + +
    +
    The human-readable name of this stage, used in toString().
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
    private
    +
    GameStages(String displayName)
    +
    +
    Constructs a GameStages value with the given display name.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the human-readable name of this stage.
    +
    +
    static GameStages
    + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static GameStages[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      WAITING

      +
      +
      public static final GameStages WAITING
      +
      Stage in which the game is waiting for players to join.
      +
      +
      +
    • +
    • +
      +

      TOTEM_CHOICE

      +
      +
      public static final GameStages TOTEM_CHOICE
      +
      Stage in which players choose their totems.
      +
      +
      +
    • +
    • +
      +

      SLOT_CHOICE

      +
      +
      public static final GameStages SLOT_CHOICE
      +
      Stage in which players select their action slots.
      +
      +
      +
    • +
    • +
      +

      RES_ACTIONS

      +
      +
      public static final GameStages RES_ACTIONS
      +
      Stage in which the mandatory actions associated with the chosen slots are resolved.
      +
      +
      +
    • +
    • +
      +

      OPT_CARD_E

      +
      +
      public static final GameStages OPT_CARD_E
      +
      Stage in which an optional card effect can be resolved.
      +
      +
      +
    • +
    • +
      +

      RES_EVENT

      +
      +
      public static final GameStages RES_EVENT
      +
      Stage in which an event card is being resolved.
      +
      +
      +
    • +
    • +
      +

      ENDING

      +
      +
      public static final GameStages ENDING
      +
      Stage in which end-of-game scoring and ranking are computed.
      +
      +
      +
    • +
    • +
      +

      ENDED

      +
      +
      public static final GameStages ENDED
      +
      Stage indicating that the game has ended.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      displayName

      +
      +
      private final String displayName
      +
      The human-readable name of this stage, used in toString().
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GameStages

      +
      +
      private GameStages(String displayName)
      +
      Constructs a GameStages value with the given display name.
      +
      +
      Parameters:
      +
      displayName - the human-readable label for this stage
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static GameStages[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static GameStages valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns the human-readable name of this stage.
      +
      +
      Overrides:
      +
      toString in class Enum<GameStages>
      +
      Returns:
      +
      the display name (e.g. "Slot" for SLOT_CHOICE)
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-summary.html new file mode 100644 index 0000000..40678c8 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-summary.html @@ -0,0 +1,114 @@ + + + + +it.polimi.ingsw.gc14.Model.GamePackage + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.GamePackage

+
+
+
+
package it.polimi.ingsw.gc14.Model.GamePackage
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-tree.html new file mode 100644 index 0000000..2aa2bb0 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/GamePackage/package-tree.html @@ -0,0 +1,89 @@ + + + + +it.polimi.ingsw.gc14.Model.GamePackage Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.GamePackage

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/MiniModel.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/MiniModel.html new file mode 100644 index 0000000..cb3c33d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/MiniModel.html @@ -0,0 +1,741 @@ + + + + +MiniModel + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class MiniModel

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.MiniModel
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class MiniModel +extends Object +implements Serializable
+
Lightweight representation of the game model shared with clients. + +

The mini model contains only the information required by the client-side +view and controllers to render the current match state and process incoming +network updates.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      upperListTribeCards

      +
      +
      public ArrayList<TribeCard> upperListTribeCards
      +
      Upper row of tribe cards currently on the board.
      +
      +
      +
    • +
    • +
      +

      lowerListTribeCards

      +
      +
      public ArrayList<TribeCard> lowerListTribeCards
      +
      Lower row of tribe cards currently on the board.
      +
      +
      +
    • +
    • +
      +

      upperListBuildingCards

      +
      +
      public ArrayList<BuildingCard> upperListBuildingCards
      +
      Upper row of building cards currently on the board.
      +
      +
      +
    • +
    • +
      +

      lowerListBuildingCards

      +
      +
      public ArrayList<BuildingCard> lowerListBuildingCards
      +
      Lower row of building cards currently on the board.
      +
      +
      +
    • +
    • +
      +

      disconnectedPlayers

      +
      +
      public ArrayList<String> disconnectedPlayers
      +
      Usernames of players currently disconnected from the game.
      +
      +
      +
    • +
    • +
      +

      lastEvent

      +
      +
      public NetworkEvent lastEvent
      +
      The most recent network event applied to this model.
      +
      +
      +
    • +
    • +
      +

      slotPlayerMap

      +
      +
      public Map<Slot,Player> slotPlayerMap
      +
      Map associating each occupied slot with the corresponding player.
      +
      +
      +
    • +
    • +
      +

      orderLogicCard

      +
      +
      public OrderLogicCard orderLogicCard
      +
      Card used to manage the player turn order.
      +
      +
      +
    • +
    • +
      +

      currentState

      +
      +
      public CurrentState currentState
      +
      Current state of the game.
      +
      +
      +
    • +
    • +
      +

      players

      +
      +
      public final Map<String,Player> players
      +
      Map of players indexed by username.
      +
      +
      +
    • +
    • +
      +

      availableTotems

      +
      +
      public List<Totems> availableTotems
      +
      List of totems still available for selection.
      +
      +
      +
    • +
    • +
      +

      standingPlayers

      +
      +
      public List<Player> standingPlayers
      +
      Final standing of the players at the end of the game.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MiniModel

      +
      +
      public MiniModel(Map<Slot,Player> slotPlayerMap, + OrderLogicCard orderLogicCard, + CurrentState currentState, + List<Player> players, + List<Totems> availableTotems, + ArrayList<TribeCard> upperListTribeCards, + ArrayList<TribeCard> lowerListTribeCards, + ArrayList<BuildingCard> upperListBuildingCards, + ArrayList<BuildingCard> lowerListBuildingCards, + ArrayList<String> disconnectedPlayers)
      +
      Constructs a complete mini model from the current server-side game data.
      +
      +
      Parameters:
      +
      slotPlayerMap - the map associating occupied slots with players.
      +
      orderLogicCard - the card managing player turn order.
      +
      currentState - the current state of the game.
      +
      players - the list of players in the match.
      +
      availableTotems - the list of totems still available for selection.
      +
      upperListTribeCards - the upper row of tribe cards on the board.
      +
      lowerListTribeCards - the lower row of tribe cards on the board.
      +
      upperListBuildingCards - the upper row of building cards on the board.
      +
      lowerListBuildingCards - the lower row of building cards on the board.
      +
      disconnectedPlayers - the list of usernames of currently disconnected players.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setLastEvent

      +
      +
      public void setLastEvent(NetworkEvent lastEvent)
      +
      Sets the last network event applied to the game state.
      +
      +
      Parameters:
      +
      lastEvent - the most recent event received from the server.
      +
      +
      +
      +
    • +
    • +
      +

      setAvailableTotems

      +
      +
      public void setAvailableTotems(List<Totems> availableTotems)
      +
      Sets the list of totems still available for selection.
      +
      +
      Parameters:
      +
      availableTotems - the available totems.
      +
      +
      +
      +
    • +
    • +
      +

      setSlotPlayerMap

      +
      +
      public void setSlotPlayerMap(Map<Slot,Player> slotPlayerMap)
      +
      Sets the map associating occupied slots with players.
      +
      +
      Parameters:
      +
      slotPlayerMap - the slot-player map to assign.
      +
      +
      +
      +
    • +
    • +
      +

      setOrderLogicCard

      +
      +
      public void setOrderLogicCard(OrderLogicCard orderLogicCard)
      +
      Sets the card used to manage the player turn order.
      +
      +
      Parameters:
      +
      orderLogicCard - the order logic card to assign.
      +
      +
      +
      +
    • +
    • +
      +

      setCurrentState

      +
      +
      public void setCurrentState(CurrentState currentState)
      +
      Sets the current state of the game.
      +
      +
      Parameters:
      +
      currentState - the current game state.
      +
      +
      +
      +
    • +
    • +
      +

      setPlayers

      +
      +
      public void setPlayers(List<Player> players)
      +
      Replaces or updates the players stored in the mini model. + +

      Each player is indexed by username.

      +
      +
      Parameters:
      +
      players - the list of players to store.
      +
      +
      +
      +
    • +
    • +
      +

      setStandingPlayers

      +
      +
      public void setStandingPlayers(List<Player> standingPlayers)
      +
      Sets the final standing of the players.
      +
      +
      Parameters:
      +
      standingPlayers - the final ordered list of players.
      +
      +
      +
      +
    • +
    • +
      +

      setUpperListTribeCards

      +
      +
      public void setUpperListTribeCards(ArrayList<TribeCard> cards)
      +
      Replaces the upper row of tribe cards on the board.
      +
      +
      Parameters:
      +
      cards - the new upper tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      setLowerListTribeCards

      +
      +
      public void setLowerListTribeCards(ArrayList<TribeCard> cards)
      +
      Replaces the lower row of tribe cards on the board.
      +
      +
      Parameters:
      +
      cards - the new lower tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      setUpperListBuildingCards

      +
      +
      public void setUpperListBuildingCards(ArrayList<BuildingCard> cards)
      +
      Replaces the upper row of building cards on the board.
      +
      +
      Parameters:
      +
      cards - the new upper building card list.
      +
      +
      +
      +
    • +
    • +
      +

      setLowerListBuildingCards

      +
      +
      public void setLowerListBuildingCards(ArrayList<BuildingCard> cards)
      +
      Replaces the lower row of building cards on the board.
      +
      +
      Parameters:
      +
      cards - the new lower building card list.
      +
      +
      +
      +
    • +
    • +
      +

      removeUpperTribeCard

      +
      +
      public void removeUpperTribeCard(int pos)
      +
      Removes the card at the given position from the upper tribe card list.
      +
      +
      Parameters:
      +
      pos - the zero-based index of the card to remove.
      +
      +
      +
      +
    • +
    • +
      +

      removeLowerTribeCard

      +
      +
      public void removeLowerTribeCard(int pos)
      +
      Removes the card at the given position from the lower tribe card list.
      +
      +
      Parameters:
      +
      pos - the zero-based index of the card to remove.
      +
      +
      +
      +
    • +
    • +
      +

      removeUpperBuildingCard

      +
      +
      public void removeUpperBuildingCard(int pos)
      +
      Removes the card at the given position from the upper building card list.
      +
      +
      Parameters:
      +
      pos - the zero-based index of the card to remove.
      +
      +
      +
      +
    • +
    • +
      +

      removeLowerBuildingCard

      +
      +
      public void removeLowerBuildingCard(int pos)
      +
      Removes the card at the given position from the lower building card list.
      +
      +
      Parameters:
      +
      pos - the zero-based index of the card to remove.
      +
      +
      +
      +
    • +
    • +
      +

      getPositionByUsername

      +
      +
      public int getPositionByUsername(String username)
      +
      Returns the position of the player with the specified username +within the player collection.
      +
      +
      Parameters:
      +
      username - the username of the player to search for.
      +
      Returns:
      +
      the zero-based position of the player, or -1 + if no matching username is found.
      +
      +
      +
      +
    • +
    • +
      +

      setDisconnectedPlayers

      +
      +
      public void setDisconnectedPlayers(ArrayList<String> disconnectedPlayers)
      +
      Sets the list of usernames of currently disconnected players.
      +
      +
      Parameters:
      +
      disconnectedPlayers - the list of disconnected player usernames.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/OrderLogicCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/OrderLogicCard.html new file mode 100644 index 0000000..a6be679 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/OrderLogicCard.html @@ -0,0 +1,463 @@ + + + + +OrderLogicCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class OrderLogicCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.OrderLogicCard
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
Order2, Order3, Order4, Order5
+
+
+
+
public abstract class OrderLogicCard +extends Object +implements Serializable
+
Abstract base class for all order logic cards. + +

An order logic card manages the turn order of the players and defines +the behavior used to update the order during the game.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    protected final List<OrderPlayer>
    + +
    +
    The list of OrderPlayer entries tracking turn order and played status.
    +
    +
    private final Queue<Player>
    + +
    +
    The queue of Players associated with this order logic card.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Creates an order logic card with the specified list of players.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    protected void
    + +
    +
    Applies the building-related effect to the specified player.
    +
    +
    boolean
    + +
    +
    Returns whether the given player is currently present in the turn queue.
    +
    +
    protected abstract void
    +
    effect(Player player, + int index)
    +
    +
    Applies the effect associated with the specified player and queue position.
    +
    + + +
    +
    Returns the first player in the queue without removing it.
    +
    + + +
    +
    Returns an unmodifiable view of the player order list.
    +
    +
    int
    +
    getPosition(String username)
    +
    +
    Returns the position of the player associated with the specified username +within the current order list.
    +
    + + +
    +
    Removes and returns the first player in the queue.
    +
    +
    void
    +
    push(Player player)
    +
    +
    Applies the effect associated with the current queue position of the player +and then adds the player to the end of the queue.
    +
    +
    void
    + +
    +
    Moves the specified player to the end of the queue without applying effects.
    +
    +
    void
    + +
    +
    Removes the given player from both the turn queue and the order list.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      players

      +
      +
      private final Queue<Player> players
      +
      The queue of Players associated with this order logic card.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      protected final List<OrderPlayer> playerList
      +
      The list of OrderPlayer entries tracking turn order and played status. +Protected so subclasses can read it for display purposes (e.g., Object.toString()).
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OrderLogicCard

      +
      +
      public OrderLogicCard(ArrayList<Player> players)
      +
      Creates an order logic card with the specified list of players. + +

      The input list is shuffled in place to establish a random initial turn order. +This is intentional: the caller's list (typically Game.playersList) is +reordered so that the game's canonical player sequence reflects the randomized order.

      +
      +
      Parameters:
      +
      players - the list of players associated with this order logic card. + The list is mutated (shuffled) by this constructor.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayerList

      +
      +
      public List<OrderPlayer> getPlayerList()
      +
      Returns an unmodifiable view of the player order list.
      +
      +
      Returns:
      +
      the list of OrderPlayer entries in turn order.
      +
      +
      +
      +
    • +
    • +
      +

      push

      +
      +
      public void push(Player player)
      +
      Applies the effect associated with the current queue position of the player +and then adds the player to the end of the queue.
      +
      +
      Parameters:
      +
      player - the player to be pushed into the queue.
      +
      +
      +
      +
    • +
    • +
      +

      pushNoEffect

      +
      +
      public void pushNoEffect(Player player)
      +
      Moves the specified player to the end of the queue without applying effects. + +

      Any previous occurrence of the player is removed from both the queue +and the order list before the player is added again.

      +
      +
      Parameters:
      +
      player - the player to be pushed into the queue.
      +
      +
      +
      +
    • +
    • +
      +

      pull

      +
      +
      public Player pull()
      +
      Removes and returns the first player in the queue. + +

      The first order entry that has not yet been marked as played +is marked as played before removing the player from the queue.

      +
      +
      Returns:
      +
      the first player in the queue, or null if the queue is empty.
      +
      +
      +
      +
    • +
    • +
      +

      getFirst

      +
      +
      public Player getFirst()
      +
      Returns the first player in the queue without removing it.
      +
      +
      Returns:
      +
      the first player in the queue, or null if the queue is empty.
      +
      +
      +
      +
    • +
    • +
      +

      effect

      +
      +
      protected abstract void effect(Player player, + int index) + throws IndexOutOfBoundsException
      +
      Applies the effect associated with the specified player and queue position.
      +
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      index - the queue position index associated with the effect.
      +
      Throws:
      +
      IndexOutOfBoundsException - if the specified index is not valid.
      +
      +
      +
      +
    • +
    • +
      +

      buildingEffect

      +
      +
      protected void buildingEffect(Player player)
      +
      Applies the building-related effect to the specified player. +For each building card owned by the player with effect id equal to 3, +the player gains 1 Food.
      +
      +
      Parameters:
      +
      player - the player to whom the building effect is applied.
      +
      +
      +
      +
    • +
    • +
      +

      containsInQueue

      +
      +
      public boolean containsInQueue(Player player)
      +
      Returns whether the given player is currently present in the turn queue.
      +
      +
      Parameters:
      +
      player - the player to look up.
      +
      Returns:
      +
      true if the player is in the queue; false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      removeFromQueue

      +
      +
      public void removeFromQueue(Player player)
      +
      Removes the given player from both the turn queue and the order list. +No-op if the player is not present.
      +
      +
      Parameters:
      +
      player - the player to remove.
      +
      +
      +
      +
    • +
    • +
      +

      getPosition

      +
      +
      public int getPosition(String username)
      +
      Returns the position of the player associated with the specified username +within the current order list.
      +
      +
      Parameters:
      +
      username - the username of the player whose position is requested.
      +
      Returns:
      +
      the player's position, or -1 if no player with the specified + username is present in the order list.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order2.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order2.html new file mode 100644 index 0000000..e946d57 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order2.html @@ -0,0 +1,246 @@ + + + + +Order2 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Order2

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.OrderLogicCard +
it.polimi.ingsw.gc14.Model.Orders.Order2
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Order2 +extends OrderLogicCard
+
Represents the order logic card used in a two-player game. + +

This class defines the specific turn-order behavior for games with +two players.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Order2

      +
      +
      public Order2(ArrayList<Player> players) + throws NoSuchElementException
      +
      Creates an Order2 logic card for a two-player game.
      +
      +
      Parameters:
      +
      players - the list of players associated with this order card.
      +
      Throws:
      +
      NoSuchElementException - if the number of players is not equal to 2.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      effect

      +
      +
      protected void effect(Player player, + int index) + throws IndexOutOfBoundsException
      +
      Applies the effect associated with the specified position index for the given player. +

      If index == 0, the player gains 1 Food and the building effect is applied. +

      If index == 1, the player tries to remove 1 Food; if the player cannot pay it, +the player loses 2 Prestige.

      +
      +
      Specified by:
      +
      effect in class OrderLogicCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      index - the position index of the effect to apply.
      +
      Throws:
      +
      IndexOutOfBoundsException - if index < 0 or index >= 2.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Creates the TURN ORDER box of the TUI.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string containing the box
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order3.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order3.html new file mode 100644 index 0000000..2e874a6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order3.html @@ -0,0 +1,247 @@ + + + + +Order3 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Order3

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.OrderLogicCard +
it.polimi.ingsw.gc14.Model.Orders.Order3
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Order3 +extends OrderLogicCard
+
Represents the order logic card used in a three-player game. + +

This class defines the specific turn-order behavior for games with +three players.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Order3

      +
      +
      public Order3(ArrayList<Player> players) + throws NoSuchElementException
      +
      Creates an Order3 logic card for a three-player game.
      +
      +
      Parameters:
      +
      players - the list of players associated with this order card.
      +
      Throws:
      +
      NoSuchElementException - if the number of players is not equal to 3.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      effect

      +
      +
      protected void effect(Player player, + int index) + throws IndexOutOfBoundsException
      +
      Applies the effect associated with the specified position index for the given player. +

      If index == 0, the player gains 2 Food and the building effect is applied. +

      If index == 1, no effect is applied. +

      If index == 2, the player tries to remove 1 Food; if the player cannot pay it, +the player loses 2 Prestige.

      +
      +
      Specified by:
      +
      effect in class OrderLogicCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      index - the position index of the effect to apply.
      +
      Throws:
      +
      IndexOutOfBoundsException - if index < 0 or index >= 3.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Creates the TURN ORDER box of the TUI.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string containing the box
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order4.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order4.html new file mode 100644 index 0000000..d793696 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order4.html @@ -0,0 +1,248 @@ + + + + +Order4 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Order4

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.OrderLogicCard +
it.polimi.ingsw.gc14.Model.Orders.Order4
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Order4 +extends OrderLogicCard
+
Represents the order logic card used in a four-player game. + +

This class defines the specific turn-order behavior for games with +four players.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Order4

      +
      +
      public Order4(ArrayList<Player> players) + throws NoSuchElementException
      +
      Creates an Order4 logic card for a four-player game.
      +
      +
      Parameters:
      +
      players - the list of players associated with this order card.
      +
      Throws:
      +
      NoSuchElementException - if the number of players is not equal to 4.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      effect

      +
      +
      protected void effect(Player player, + int index) + throws IndexOutOfBoundsException
      +
      Applies the effect associated with the specified position index for the given player. +

      If index == 0, the player gains 2 Food and the building effect is applied. +

      If index == 1, the player gains 1 Food and the building effect is applied. +

      If index == 2, no effect is applied. +

      If index == 3, the player tries to remove 1 Food; if the player cannot pay it, +the player loses 2 Prestige.

      +
      +
      Specified by:
      +
      effect in class OrderLogicCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      index - the position index of the effect to apply.
      +
      Throws:
      +
      IndexOutOfBoundsException - if index < 0 or index >= 4.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Creates the TURN ORDER box of the TUI.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string containing the box
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order5.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order5.html new file mode 100644 index 0000000..7a15d6b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/Order5.html @@ -0,0 +1,249 @@ + + + + +Order5 + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Order5

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.OrderLogicCard +
it.polimi.ingsw.gc14.Model.Orders.Order5
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Order5 +extends OrderLogicCard
+
Represents the order logic card used in a five-player game. + +

This class defines the specific turn-order behavior for games with +five players.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Order5

      +
      +
      public Order5(ArrayList<Player> players) + throws NoSuchElementException
      +
      Creates an Order5 logic card for a five-player game.
      +
      +
      Parameters:
      +
      players - the list of players associated with this order card.
      +
      Throws:
      +
      NoSuchElementException - if the number of players is not equal to 5.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      effect

      +
      +
      protected void effect(Player player, + int index) + throws IndexOutOfBoundsException
      +
      Applies the effect associated with the specified position index for the given player. +

      If index == 0, the player gains 3 Food and the building effect is applied. +

      If index == 1, the player gains 1 Food and the building effect is applied. +

      If index == 2, no effect is applied. +

      If index == 3, no effect is applied. +

      If index == 4, the player tries to remove 1 Food; if the player cannot pay it, +the player loses 2 Prestige.

      +
      +
      Specified by:
      +
      effect in class OrderLogicCard
      +
      Parameters:
      +
      player - the player to whom the effect is applied.
      +
      index - the position index of the effect to apply.
      +
      Throws:
      +
      IndexOutOfBoundsException - if index < 0 or index >= 5.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Creates the TURN ORDER box of the TUI.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string containing the box
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.html new file mode 100644 index 0000000..3cde59e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.html @@ -0,0 +1,313 @@ + + + + +OrderPlayer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class OrderPlayer

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.Orders.OrderPlayer
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class OrderPlayer +extends Object +implements Serializable
+
Represents a player entry in an order logic card. + +

Each entry stores the player and whether that player has already +performed an action in the current order sequence.

+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private boolean
    + +
    +
    Indicates whether the player has already played.
    +
    +
    private final Player
    + +
    +
    The player associated with this order entry.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    OrderPlayer(Player player, + boolean played)
    +
    +
    Creates an order entry for the specified player.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the player associated with this order entry.
    +
    +
    boolean
    + +
    +
    Returns whether the player has already played in this order sequence.
    +
    +
    void
    + +
    +
    Marks this player as having played in the current order sequence.
    +
    + + +
    +
    Returns a string containing the player's username and whether the player +has already played.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      player

      +
      +
      private final Player player
      +
      The player associated with this order entry.
      +
      +
      +
    • +
    • +
      +

      played

      +
      +
      private boolean played
      +
      Indicates whether the player has already played.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OrderPlayer

      +
      +
      public OrderPlayer(Player player, + boolean played)
      +
      Creates an order entry for the specified player.
      +
      +
      Parameters:
      +
      player - the player associated with this order entry.
      +
      played - true if the player has already played; + false otherwise.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPlayer

      +
      +
      public Player getPlayer()
      +
      Returns the player associated with this order entry.
      +
      +
      Returns:
      +
      the player.
      +
      +
      +
      +
    • +
    • +
      +

      isPlayed

      +
      +
      public boolean isPlayed()
      +
      Returns whether the player has already played in this order sequence.
      +
      +
      Returns:
      +
      true if the player has played; false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      markAsPlayed

      +
      +
      public void markAsPlayed()
      +
      Marks this player as having played in the current order sequence.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns a string containing the player's username and whether the player +has already played.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string containing the username and whether the player has played.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-summary.html new file mode 100644 index 0000000..9a004c4 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-summary.html @@ -0,0 +1,120 @@ + + + + +it.polimi.ingsw.gc14.Model.Orders + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model.Orders

+
+
+
+
package it.polimi.ingsw.gc14.Model.Orders
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-tree.html new file mode 100644 index 0000000..8ce4ed9 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Orders/package-tree.html @@ -0,0 +1,82 @@ + + + + +it.polimi.ingsw.gc14.Model.Orders Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model.Orders

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/PlayableCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/PlayableCard.html new file mode 100644 index 0000000..115babe --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/PlayableCard.html @@ -0,0 +1,338 @@ + + + + +PlayableCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class PlayableCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.PlayableCard
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
BuildingCard, TribeCard
+
+
+
+
public abstract class PlayableCard +extends Object +implements Serializable
+
Abstract base class for all playable cards. +A PlayableCard is characterized by an era value.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The era associated with this playable card.
    +
    +
    private final String
    + +
    +
    The image identifier of the playable card.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    PlayableCard(int era)
    +
    +
    Creates a playable card with the specified era.
    +
    +
    PlayableCard(String idIMG, + int era)
    +
    +
    Creates a playable card with the specified image id and era.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the era of this playable card.
    +
    + + +
    +
    Returns the image identifier of this playable card.
    +
    +
    abstract String
    + +
    +
    Returns the representation shown on the board (offer track cards).
    +
    +
    abstract String
    + +
    +
    Returns the compact representation shown in the player hand panel.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      idIMG

      +
      +
      private final String idIMG
      +
      The image identifier of the playable card.
      +
      +
      +
    • +
    • +
      +

      era

      +
      +
      private final int era
      +
      The era associated with this playable card.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PlayableCard

      +
      +
      public PlayableCard(int era) + throws IllegalArgumentException
      +
      Creates a playable card with the specified era.
      +
      +
      Parameters:
      +
      era - the era of the playable card.
      +
      Throws:
      +
      IllegalArgumentException - if era <= 0 or era >= 4.
      +
      +
      +
      +
    • +
    • +
      +

      PlayableCard

      +
      +
      public PlayableCard(String idIMG, + int era) + throws IllegalArgumentException
      +
      Creates a playable card with the specified image id and era.
      +
      +
      Parameters:
      +
      idIMG - the image identifier of the playable card.
      +
      era - the era of the playable card.
      +
      Throws:
      +
      IllegalArgumentException - if era <= 0 or era >= 4.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getIdIMG

      +
      +
      public String getIdIMG()
      +
      Returns the image identifier of this playable card.
      +
      +
      Returns:
      +
      the image identifier of this playable card.
      +
      +
      +
      +
    • +
    • +
      +

      getEra

      +
      +
      public int getEra()
      +
      Returns the era of this playable card.
      +
      +
      Returns:
      +
      the era of this playable card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringPlayer

      +
      +
      public abstract String toStringPlayer()
      +
      Returns the compact representation shown in the player hand panel.
      +
      +
      Returns:
      +
      the player-hand string representation of this card.
      +
      +
      +
      +
    • +
    • +
      +

      toStringBoard

      +
      +
      public abstract String toStringBoard()
      +
      Returns the representation shown on the board (offer track cards).
      +
      +
      Returns:
      +
      the board string representation of this card.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Player.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Player.html new file mode 100644 index 0000000..5d5574b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Player.html @@ -0,0 +1,847 @@ + + + + +Player + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Player

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.Player
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Player +extends Object +implements Serializable
+
Default Player class; contains all identifiers and methods needed.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MAX_USERNAME_LENGTH

      +
      +
      private static final int MAX_USERNAME_LENGTH
      +
      The maximum length allowed for the username string.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      totem

      +
      +
      private Totems totem
      +
      Identifier for the Player when displaying the game through the GUI.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      userName

      +
      +
      private final String userName
      +
      Unique string identifier for players; must not be null and must not +exceed MAX_USERNAME_LENGTH otherwise an IllegalArgumentException will be thrown +when the constructor is called.
      +
      +
      +
    • +
    • +
      +

      buildingCards

      +
      +
      private final ArrayList<BuildingCard> buildingCards
      +
      The current Building Cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      artists

      +
      +
      private final ArrayList<Artist> artists
      +
      The current Artist cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      builders

      +
      +
      private final ArrayList<Builder> builders
      +
      The current Builder cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      inventors

      +
      +
      private final ArrayList<Inventor> inventors
      +
      The current Inventor cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      gatherers

      +
      +
      private final ArrayList<Gatherer> gatherers
      +
      The current Gatherer cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      shamans

      +
      +
      private final ArrayList<Shaman> shamans
      +
      The current Shaman cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      hunters

      +
      +
      private final ArrayList<Hunter> hunters
      +
      The current Hunter cards in the player's deck.
      +
      +
      +
    • +
    • +
      +

      foodValue

      +
      +
      private int foodValue
      +
      The current amount of Food the Player possesses. +Cannot be negative.
      +
      +
      +
    • +
    • +
      +

      prestigeValue

      +
      +
      private int prestigeValue
      +
      The current amount of Prestige the Player possesses.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUserName

      +
      +
      public String getUserName()
      +
      Getter for the private attribute userName.
      +
      +
      Returns:
      +
      String - The UserName
      +
      +
      +
      +
    • +
    • +
      +

      getTotem

      +
      +
      public Totems getTotem()
      +
      Returns the totem assigned to this player.
      +
      +
      Returns:
      +
      this player's totem.
      +
      +
      +
      +
    • +
    • +
      +

      getTotCharacters

      +
      +
      public int getTotCharacters()
      +
      Counts the total Character Cards +the player currently possesses.
      +
      +
      Returns:
      +
      int - Total Character Cards.
      +
      +
      +
      +
    • +
    • +
      +

      getNType

      +
      +
      public int getNType(CharacterType type)
      +
      Counts the total number of cards of the specified Character Type. +Character Type must not be null
      +
      +
      Parameters:
      +
      type - the Character Type to be Counted.
      +
      Returns:
      +
      int - Total number of cards of given type.
      +
      +
      +
      +
    • +
    • +
      +

      getBuildingCards

      +
      +
      public ArrayList<BuildingCard> getBuildingCards()
      +
      +
      Returns:
      +
      this player's building cards.
      +
      +
      +
      +
    • +
    • +
      +

      getArtists

      +
      +
      public ArrayList<Artist> getArtists()
      +
      +
      Returns:
      +
      this player's Artist character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getBuilders

      +
      +
      public ArrayList<Builder> getBuilders()
      +
      +
      Returns:
      +
      this player's Builder character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getInventors

      +
      +
      public ArrayList<Inventor> getInventors()
      +
      +
      Returns:
      +
      this player's Inventor character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getGatherers

      +
      +
      public ArrayList<Gatherer> getGatherers()
      +
      +
      Returns:
      +
      this player's Gatherer character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getShamans

      +
      +
      public ArrayList<Shaman> getShamans()
      +
      +
      Returns:
      +
      this player's Shaman character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getHunters

      +
      +
      public ArrayList<Hunter> getHunters()
      +
      +
      Returns:
      +
      this player's Hunter character cards.
      +
      +
      +
      +
    • +
    • +
      +

      getFoodValue

      +
      +
      public int getFoodValue()
      +
      Getter for the private attribute foodValue.
      +
      +
      Returns:
      +
      int - The amount of Food the player possesses.
      +
      +
      +
      +
    • +
    • +
      +

      getPrestigeValue

      +
      +
      public int getPrestigeValue()
      +
      Getter for the private attribute prestigeValue.
      +
      +
      Returns:
      +
      int - The amount of Prestige the Player possesses.
      +
      +
      +
      +
    • +
    • +
      +

      addFood

      +
      +
      public void addFood(int value)
      +
      Adds value amount of Food to the Player.
      +
      +
      Parameters:
      +
      value - The amount of Food to be added. Should be non-negative.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      setTotem

      +
      +
      public void setTotem(Totems totem)
      +
      Sets the totem for this player.
      +
      +
      Parameters:
      +
      totem - the totem to assign.
      +
      +
      +
      +
    • +
    • +
      +

      removeFood

      +
      +
      public boolean removeFood(int value)
      +
      Removes value amount of Food from the Player. +foodValue cannot go negative: returns false if +value exceeds the current food and leaves the value unchanged.
      +
      +
      Parameters:
      +
      value - The amount of Food to be removed. Should be non-negative.
      +
      Returns:
      +
      true if the Food is successfully removed, false otherwise.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      addPrestige

      +
      +
      public void addPrestige(int value)
      +
      Adds value amount of Prestige to the Player.
      +
      +
      Parameters:
      +
      value - The amount of Prestige to be added. Should be non-negative.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      removePrestige

      +
      +
      public void removePrestige(int value)
      +
      Removes value amount of Prestige from the Player.
      +
      +
      Parameters:
      +
      value - The amount of Prestige to be removed. Should be non-negative.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object obj)
      +
      Checks equality between this Player and another object. +Two players are equal if and only if they share the same userName.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      obj - the object to compare with.
      +
      Returns:
      +
      true if obj is a Player with the same username; false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Prints the Player's attributes for the Board's representation. +Uses the UNICODE border style. +Includes: +
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      String - A string representation of the Player's attributes.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Slot.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Slot.html new file mode 100644 index 0000000..5422529 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Slot.html @@ -0,0 +1,478 @@ + + + + +Slot + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class Slot

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Model.Slot
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class Slot +extends Object +implements Serializable
+
Represents a slot with a specific identifier and associated values +for upper cards, lower cards, food, and minimum number of players. +The slot configuration depends on the specified slot identifier.
+
+
See Also:
+
+ +
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    The amount of Food associated with this slot.
    +
    +
    private final int
    + +
    +
    The number of lower cards associated with this slot.
    +
    +
    private int
    + +
    +
    The minimum number of players required for this slot.
    +
    +
    private final int
    + +
    +
    The number of upper cards associated with this slot.
    +
    +
    private final char
    + +
    +
    The identifier of this slot.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Slot(char slotId)
    +
    +
    Creates a slot with the specified identifier.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    + +
    +
    Checks equality between this Slot and another object.
    +
    +
    int
    + +
    +
    Returns the amount of Food associated with this slot.
    +
    +
    int
    + +
    +
    Returns the number of lower cards associated with this slot.
    +
    +
    int
    + +
    +
    Returns the minimum number of players required for this slot.
    +
    +
    int
    + +
    +
    Returns the number of upper cards associated with this slot.
    +
    +
    char
    + +
    +
    Returns the identifier of this slot.
    +
    +
    int
    + +
    +
    Returns the hash code for this Slot, derived from slotId.
    +
    + + +
    +
    Returns the string representation of this slot.
    +
    + + +
    +
    Returns a compact string representation of this Slot for the TUI.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      slotId

      +
      +
      private final char slotId
      +
      The identifier of this slot.
      +
      +
      +
    • +
    • +
      +

      nUpper

      +
      +
      private final int nUpper
      +
      The number of upper cards associated with this slot.
      +
      +
      +
    • +
    • +
      +

      nMinPlayer

      +
      +
      private int nMinPlayer
      +
      The minimum number of players required for this slot.
      +
      +
      +
    • +
    • +
      +

      nLower

      +
      +
      private final int nLower
      +
      The number of lower cards associated with this slot.
      +
      +
      +
    • +
    • +
      +

      food

      +
      +
      private final int food
      +
      The amount of Food associated with this slot.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Slot

      +
      +
      public Slot(char slotId) + throws IllegalArgumentException
      +
      Creates a slot with the specified identifier. +The slot values for Food, NLower, NUpper, and minimum number of players +are determined by the given slot identifier.
      +
      +
      Parameters:
      +
      slotId - the identifier of the slot.
      +
      Throws:
      +
      IllegalArgumentException - if the specified slot identifier is not valid.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSlotId

      +
      +
      public char getSlotId()
      +
      Returns the identifier of this slot.
      +
      +
      Returns:
      +
      the identifier of this slot.
      +
      +
      +
      +
    • +
    • +
      +

      getNUpper

      +
      +
      public int getNUpper()
      +
      Returns the number of upper cards associated with this slot.
      +
      +
      Returns:
      +
      the number of upper cards associated with this slot.
      +
      +
      +
      +
    • +
    • +
      +

      getNMinPlayer

      +
      +
      public int getNMinPlayer()
      +
      Returns the minimum number of players required for this slot.
      +
      +
      Returns:
      +
      the minimum number of players required for this slot.
      +
      +
      +
      +
    • +
    • +
      +

      getNLower

      +
      +
      public int getNLower()
      +
      Returns the number of lower cards associated with this slot.
      +
      +
      Returns:
      +
      the number of lower cards associated with this slot.
      +
      +
      +
      +
    • +
    • +
      +

      getFood

      +
      +
      public int getFood()
      +
      Returns the amount of Food associated with this slot.
      +
      +
      Returns:
      +
      the amount of Food associated with this slot.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns the string representation of this slot. +The returned string includes the slot identifier, number of upper cards, +number of lower cards, food value, and minimum number of players.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string representation of this slot.
      +
      +
      +
      +
    • +
    • +
      +

      toStringTUI

      +
      +
      public String toStringTUI()
      +
      Returns a compact string representation of this Slot for the TUI. +

      Includes: +

      +
      +
      Returns:
      +
      a compact TUI string representation of this Slot.
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      equals

      +
      +
      public boolean equals(Object obj)
      +
      Checks equality between this Slot and another object. +Two slots are equal if and only if they share the same slotId.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      obj - the object to compare with.
      +
      Returns:
      +
      true if obj is a Slot with the same identifier; false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      +
      public int hashCode()
      +
      Returns the hash code for this Slot, derived from slotId.
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      Returns:
      +
      the hash code of the slot identifier.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Totems.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Totems.html new file mode 100644 index 0000000..39f27b9 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/Totems.html @@ -0,0 +1,318 @@ + + + + +Totems + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class Totems

+
+
java.lang.Object +
java.lang.Enum<Totems> +
it.polimi.ingsw.gc14.Model.Totems
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Totems>, Constable
+
+
+
+
public enum Totems +extends Enum<Totems>
+
Represents the different totem colors available in the game.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      YELLOW

      +
      +
      public static final Totems YELLOW
      +
      Yellow totem.
      +
      +
      +
    • +
    • +
      +

      BLUE

      +
      +
      public static final Totems BLUE
      +
      Blue totem.
      +
      +
      +
    • +
    • +
      +

      ORANGE

      +
      +
      public static final Totems ORANGE
      +
      Orange totem.
      +
      +
      +
    • +
    • +
      +

      WHITE

      +
      +
      public static final Totems WHITE
      +
      White totem.
      +
      +
      +
    • +
    • +
      +

      PURPLE

      +
      +
      public static final Totems PURPLE
      +
      Purple totem.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Totems

      +
      +
      private Totems()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static Totems[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static Totems valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-summary.html new file mode 100644 index 0000000..86ba765 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-summary.html @@ -0,0 +1,143 @@ + + + + +it.polimi.ingsw.gc14.Model + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Model

+
+
+
+
package it.polimi.ingsw.gc14.Model
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-tree.html new file mode 100644 index 0000000..267898b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Model/package-tree.html @@ -0,0 +1,96 @@ + + + + +it.polimi.ingsw.gc14.Model Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Model

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/CompositeClientBroadcaster.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/CompositeClientBroadcaster.html new file mode 100644 index 0000000..d1d301f --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/CompositeClientBroadcaster.html @@ -0,0 +1,263 @@ + + + + +CompositeClientBroadcaster + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class CompositeClientBroadcaster

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster
+
+
+
+
+
public class CompositeClientBroadcaster +extends Object
+
Forwards every notification to both the RMI and the TCP transport layers. + +

This follows the Composite pattern: the caller interacts with a single +broadcaster without knowing which protocols are active underneath.

+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      rmiServer

      +
      +
      private final RMIServer rmiServer
      +
      RMI transport used to reach RMI-connected clients.
      +
      +
      +
    • +
    • +
      +

      tcpServer

      +
      +
      private final TCPServer tcpServer
      +
      TCP transport used to reach TCP-connected clients.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CompositeClientBroadcaster

      +
      +
      public CompositeClientBroadcaster(RMIServer rmiServer, + TCPServer tcpServer)
      +
      Constructs a composite broadcaster backed by the given RMI and TCP servers.
      +
      +
      Parameters:
      +
      rmiServer - the RMI server used to reach RMI clients.
      +
      tcpServer - the TCP server used to reach TCP clients.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(NetworkEvent event)
      +
      Forwards the event to both the RMI and the TCP server. +Each server is responsible for filtering error events to the +requesting player only.
      +
      +
      Parameters:
      +
      event - the network event to broadcast.
      +
      +
      +
      +
    • +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(MiniModel model)
      +
      Forwards the model snapshot to every client on both transports.
      +
      +
      Parameters:
      +
      model - the mini model snapshot to broadcast.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/EventType.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/EventType.html new file mode 100644 index 0000000..7cf04f6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/EventType.html @@ -0,0 +1,473 @@ + + + + +EventType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class EventType

+
+
java.lang.Object +
java.lang.Enum<EventType> +
it.polimi.ingsw.gc14.Network.EventType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<EventType>, Constable
+
+
+
+
public enum EventType +extends Enum<EventType>
+
Represents the different types of network events that can be sent between +client and server.
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ADD_PLAYER

      +
      +
      public static final EventType ADD_PLAYER
      +
      Event used to add a player to the game.
      +
      +
      +
    • +
    • +
      +

      TOTEM_CHOICE

      +
      +
      public static final EventType TOTEM_CHOICE
      +
      Event used to submit a player's totem choice.
      +
      +
      +
    • +
    • +
      +

      SLOT_CHOICE

      +
      +
      public static final EventType SLOT_CHOICE
      +
      Event used to submit a player's slot choice.
      +
      +
      +
    • +
    • +
      +

      DRAW_UPPER_TRIBE

      +
      +
      public static final EventType DRAW_UPPER_TRIBE
      +
      Event used to draw a tribe card from the upper card list.
      +
      +
      +
    • +
    • +
      +

      DRAW_LOWER_TRIBE

      +
      +
      public static final EventType DRAW_LOWER_TRIBE
      +
      Event used to draw a tribe card from the lower card list.
      +
      +
      +
    • +
    • +
      +

      DRAW_UPPER_BUILD

      +
      +
      public static final EventType DRAW_UPPER_BUILD
      +
      Event used to draw a building card from the upper card list.
      +
      +
      +
    • +
    • +
      +

      DRAW_LOWER_BUILD

      +
      +
      public static final EventType DRAW_LOWER_BUILD
      +
      Event used to draw a building card from the lower card list.
      +
      +
      +
    • +
    • +
      +

      SKIP_TURN

      +
      +
      public static final EventType SKIP_TURN
      +
      Event used to skip the current turn or optional action.
      +
      +
      +
    • +
    • +
      +

      DISCONNECTED_PLAYER

      +
      +
      public static final EventType DISCONNECTED_PLAYER
      +
      Event used to notify that a player has disconnected.
      +
      +
      +
    • +
    • +
      +

      RECONNECT_PLAYER

      +
      +
      public static final EventType RECONNECT_PLAYER
      +
      Event used to notify that a player has reconnected.
      +
      +
      +
    • +
    • +
      +

      NEXT_ROUND

      +
      +
      public static final EventType NEXT_ROUND
      +
      Event used to apply the transition to the next round.
      +
      +
      +
    • +
    • +
      +

      ENDED_GAME

      +
      +
      public static final EventType ENDED_GAME
      +
      Event used to notify that the game has ended.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      description

      +
      +
      private final String description
      +
      Human-readable label for this event type, returned by toString().
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EventType

      +
      +
      private EventType(String description)
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static EventType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static EventType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Enum<EventType>
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/IClient.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/IClient.html new file mode 100644 index 0000000..72cf0b6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/IClient.html @@ -0,0 +1,310 @@ + + + + +IClient + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IClient

+
+
+
+
All Known Implementing Classes:
+
RMIClient, TCPClient
+
+
+
+
public interface IClient
+
Defines the operations that a client can request during the game.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    connect(String username, + int proposedNPlayers)
    +
    +
    Connects the client to the server using the specified username +and preferred connection type.
    +
    +
    void
    +
    drawLowerBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the lower building card list.
    +
    +
    void
    +
    drawLowerTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the lower tribe card list.
    +
    +
    void
    +
    drawUpperBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the upper building card list.
    +
    +
    void
    +
    drawUpperTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the upper tribe card list.
    +
    +
    void
    + +
    +
    Notifies the server of a voluntary disconnection and closes the connection.
    +
    +
    void
    +
    skipTurn(String playerUsername)
    +
    +
    Requests to skip the current player's optional action.
    +
    +
    void
    +
    slotChoice(String playerUsername, + int pos)
    +
    +
    Requests to assign the specified player to a slot.
    +
    +
    void
    +
    totemChoice(String playerUsername, + String totem)
    +
    +
    Requests to assign the selected totem to the specified player.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connect

      +
      +
      ErrorType connect(String username, + int proposedNPlayers)
      +
      Connects the client to the server using the specified username +and preferred connection type.
      +
      +
      Parameters:
      +
      username - the username chosen by the player.
      +
      proposedNPlayers - the desired number of players proposed by this client.
      +
      Returns:
      +
      true if the connection is established successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      void drawUpperTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the upper tribe card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card in the upper tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      void drawLowerTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the lower tribe card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card in the lower tribe card list.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      void drawUpperBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the upper building card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card in the upper building card list.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      void drawLowerBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the lower building card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card in the lower building card list.
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      void skipTurn(String playerUsername)
      +
      Requests to skip the current player's optional action.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player skipping the action.
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      void slotChoice(String playerUsername, + int pos)
      +
      Requests to assign the specified player to a slot.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player making the slot choice.
      +
      pos - the position of the selected slot.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      void totemChoice(String playerUsername, + String totem)
      +
      Requests to assign the selected totem to the specified player.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player making the totem choice.
      +
      totem - the name of the selected totem.
      +
      +
      +
      +
    • +
    • +
      +

      notifyDisconnection

      +
      +
      void notifyDisconnection()
      +
      Notifies the server of a voluntary disconnection and closes the connection.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/InterfaceResolver.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/InterfaceResolver.html new file mode 100644 index 0000000..0313582 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/InterfaceResolver.html @@ -0,0 +1,233 @@ + + + + +InterfaceResolver + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class InterfaceResolver

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.InterfaceResolver
+
+
+
+
+
public class InterfaceResolver +extends Object
+
Utility class for resolving the local network interface to use when connecting to a server.
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      InterfaceResolver

      +
      +
      private InterfaceResolver()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      resolveLocalInterface

      +
      +
      public static String resolveLocalInterface(String serverIp) + throws Exception
      +
      Returns the local IPv4 address that can reach the given server IP. + +

      If the server is localhost, returns "127.0.0.1". +Otherwise, iterates active non-loopback interfaces to find one on the same subnet; +falls back to a UDP connect trick if no matching subnet is found.

      +
      +
      Parameters:
      +
      serverIp - the server IP address or hostname.
      +
      Returns:
      +
      the local IP address string to use for outbound connections.
      +
      Throws:
      +
      Exception - if no suitable interface can be determined.
      +
      +
      +
      +
    • +
    • +
      +

      sameSubnet

      +
      +
      private static boolean sameSubnet(InetAddress a, + InetAddress b, + int prefix)
      +
      Returns true if a and b share the same subnet given a CIDR prefix length.
      +
      +
      Parameters:
      +
      a - first IPv4 address.
      +
      b - second IPv4 address.
      +
      prefix - CIDR prefix length (0–32).
      +
      Returns:
      +
      true if both addresses belong to the same subnet.
      +
      +
      +
      +
    • +
    • +
      +

      toInt

      +
      +
      private static int toInt(byte[] bytes)
      +
      Converts a 4-byte big-endian IPv4 address array to a signed 32-bit integer.
      +
      +
      Parameters:
      +
      bytes - the 4-byte address array.
      +
      Returns:
      +
      the corresponding signed integer.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkConfig.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkConfig.html new file mode 100644 index 0000000..75facb5 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkConfig.html @@ -0,0 +1,321 @@ + + + + +NetworkConfig + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class NetworkConfig

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkConfig
+
+
+
+
+
public final class NetworkConfig +extends Object
+
Shared network constants used by both server and client components.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    Port on which the TCP heartbeat server listens.
    +
    +
    static final long
    + +
    +
    Milliseconds between keep-alive pings sent by the client.
    +
    +
    static final int
    + +
    +
    Maximum number of players allowed in a game.
    +
    +
    static final int
    + +
    +
    Minimum number of players required to start a game.
    +
    +
    static final int
    + +
    +
    Port on which the RMI registry listens.
    +
    +
    static final long
    + +
    +
    Milliseconds of silence before a client is considered disconnected.
    +
    +
    static final int
    + +
    +
    Port on which the TCP game server listens.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
    private
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      RMI_PORT

      +
      +
      public static final int RMI_PORT
      +
      Port on which the RMI registry listens.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      TCP_PORT

      +
      +
      public static final int TCP_PORT
      +
      Port on which the TCP game server listens.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      HEARTBEAT_PORT

      +
      +
      public static final int HEARTBEAT_PORT
      +
      Port on which the TCP heartbeat server listens.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      SILENCE_THRESHOLD_MS

      +
      +
      public static final long SILENCE_THRESHOLD_MS
      +
      Milliseconds of silence before a client is considered disconnected.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      KEEPALIVE_INTERVAL_MS

      +
      +
      public static final long KEEPALIVE_INTERVAL_MS
      +
      Milliseconds between keep-alive pings sent by the client.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      MIN_PLAYERS

      +
      +
      public static final int MIN_PLAYERS
      +
      Minimum number of players required to start a game.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      MAX_PLAYERS

      +
      +
      public static final int MAX_PLAYERS
      +
      Maximum number of players allowed in a game.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NetworkConfig

      +
      +
      private NetworkConfig()
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvent.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvent.html new file mode 100644 index 0000000..dbc94fd --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvent.html @@ -0,0 +1,588 @@ + + + + +NetworkEvent + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class NetworkEvent

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
AddPlayer, ApplyNextRound, DisconnectedPlayer, DrawLowerBuildingCard, DrawLowerTribeCard, DrawUpperBuildingCard, DrawUpperTribeCard, EndedGame, ReconnectPlayer, SkipTurn, SlotChoice, TotemChoice
+
+
+
+
public abstract class NetworkEvent +extends Object +implements Serializable
+
Represents an event sent over the network. + +

A network event contains the information required to identify +the requested action, determine whether it produced an error, +and apply it either to the server-side GameController +or to the client-side MiniModel.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      errorType

      +
      +
      protected ErrorType errorType
      +
      The error type associated with this event; set when the event failed to apply.
      +
      +
      +
    • +
    • +
      +

      username

      +
      +
      protected final String username
      +
      Username of the player requesting the event.
      +
      +
      +
    • +
    • +
      +

      eventType

      +
      +
      protected final EventType eventType
      +
      Type of the network event.
      +
      +
      +
    • +
    • +
      +

      slotPlayerMap

      +
      +
      protected Map<Slot,Player> slotPlayerMap
      +
      Map associating each occupied slot with the corresponding player.
      +
      +
      +
    • +
    • +
      +

      orderLogicCard

      +
      +
      protected OrderLogicCard orderLogicCard
      +
      Order logic card used to manage the player turn order.
      +
      +
      +
    • +
    • +
      +

      currentState

      +
      +
      protected CurrentState currentState
      +
      Current state of the game associated with the event.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      protected List<Player> playerList
      +
      List of all players.
      +
      +
      +
    • +
    • +
      +

      disconnectedPlayers

      +
      +
      protected ArrayList<String> disconnectedPlayers
      +
      Usernames of players currently disconnected from the game. +Sent with every event so clients always have an up-to-date list.
      +
      +
      +
    • +
    • +
      +

      isError

      +
      +
      protected boolean isError
      +
      Flag indicating whether the event could not be applied successfully.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      NetworkEvent

      +
      +
      protected NetworkEvent(String username, + EventType eventType, + boolean isError, + ErrorType errorType)
      +
      Constructs a network event.
      +
      +
      Parameters:
      +
      username - the username of the player requesting the event.
      +
      eventType - the type of the event.
      +
      isError - true if the event represents an error, + false otherwise.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getErrorType

      +
      +
      public ErrorType getErrorType()
      +
      Returns the error type associated with this event.
      +
      +
      Returns:
      +
      the error type, or null if no error occurred.
      +
      +
      +
      +
    • +
    • +
      +

      getUsername

      +
      +
      public String getUsername()
      +
      Returns the username of the player requesting the event.
      +
      +
      Returns:
      +
      the username associated with the event.
      +
      +
      +
      +
    • +
    • +
      +

      enrichWithGameState

      +
      +
      public void enrichWithGameState(Game game, + ArrayList<String> disconnectedUsernames)
      +
      Populates this event with the current game state so clients can +update their local model after receiving it. +Subclasses that carry extra state (available totems, etc.) override +this method and call super first.
      +
      +
      Parameters:
      +
      game - the current game model.
      +
      disconnectedUsernames - usernames of currently disconnected players.
      +
      +
      +
      +
    • +
    • +
      +

      setData

      +
      +
      public void setData(Map<Slot,Player> slotPlayerMap, + OrderLogicCard orderLogicCard, + CurrentState currentState, + List<Player> playerList)
      +
      Sets the game data associated with this network event.
      +
      +
      Parameters:
      +
      slotPlayerMap - the map associating each slot with the player occupying it.
      +
      orderLogicCard - the order logic card used to manage turn order.
      +
      currentState - the current state of the game.
      +
      playerList - the list of the actual state of the players
      +
      +
      +
      +
    • +
    • +
      +

      getEventType

      +
      +
      public EventType getEventType()
      +
      Returns the type of this event.
      +
      +
      Returns:
      +
      the event type.
      +
      +
      +
      +
    • +
    • +
      +

      isError

      +
      +
      public boolean isError()
      +
      Returns whether the event represents an error.
      +
      +
      Returns:
      +
      true if the event could not be applied successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      setIsError

      +
      +
      public void setIsError(boolean isError)
      +
      Sets whether the event represents an error.
      +
      +
      Parameters:
      +
      isError - true if the event could not be applied successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      setErrorType

      +
      +
      public void setErrorType(ErrorType errorType)
      +
      Overrides the error type for this event.
      +
      +
      Parameters:
      +
      errorType - the error type to set.
      +
      +
      +
      +
    • +
    • +
      +

      toString

      +
      +
      public String toString()
      +
      Returns a textual description of the event and its outcome.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a string describing the event type and whether it represents an error.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public abstract boolean apply(GameController gameController)
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Parameters:
      +
      gameController - the game controller on which the event must be applied.
      +
      Returns:
      +
      true if the event is applied successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public abstract void apply(MiniModel model)
      +
      Applies this event to the specified client-side mini model.
      +
      +
      Parameters:
      +
      model - the mini model on which the event must be applied.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.html new file mode 100644 index 0000000..dc55dab --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.html @@ -0,0 +1,293 @@ + + + + +AddPlayer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class AddPlayer

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.AddPlayer
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class AddPlayer +extends NetworkEvent
+
Network event used to register a new player in the lobby. + +

The first player to join also proposes the desired number of players +for the match. Subsequent joiners ignore proposedNPlayer if the +game has already been created.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      proposedNPlayer

      +
      +
      private final int proposedNPlayer
      +
      Number of players proposed by this player; used only when creating a new game.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AddPlayer

      +
      +
      public AddPlayer(String username, + int proposedNPlayer)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      proposedNPlayer - the number of proposed players to add to the match
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getProposedNPlayer

      +
      +
      public int getProposedNPlayer()
      +
      +
      Returns:
      +
      the number of proposed players to add to the match
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could be added to the match, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.html new file mode 100644 index 0000000..0f9f02b --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.html @@ -0,0 +1,339 @@ + + + + +ApplyNextRound + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ApplyNextRound

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.ApplyNextRound
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class ApplyNextRound +extends NetworkEvent
+
Network event that transitions all clients to the next round. + +

Carries refreshed card lists for all four board rows in addition +to the standard game state (slot map, turn order, current state, +player list). Only applied client-side; apply(GameController) +always returns false.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      upperListTribeCards

      +
      +
      private final ArrayList<TribeCard> upperListTribeCards
      +
      Tribe cards shown in the upper row of the board for the new round.
      +
      +
      +
    • +
    • +
      +

      lowerListTribeCards

      +
      +
      private final ArrayList<TribeCard> lowerListTribeCards
      +
      Tribe cards shown in the lower row of the board for the new round.
      +
      +
      +
    • +
    • +
      +

      upperListBuildingCards

      +
      +
      private final ArrayList<BuildingCard> upperListBuildingCards
      +
      Building cards shown in the upper row of the board for the new round.
      +
      +
      +
    • +
    • +
      +

      lowerListBuildingCards

      +
      +
      private final ArrayList<BuildingCard> lowerListBuildingCards
      +
      Building cards shown in the lower row of the board for the new round.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ApplyNextRound

      +
      +
      public ApplyNextRound(Map<Slot,Player> slotPlayerMap, + OrderLogicCard orderLogicCard, + CurrentState currentState, + List<Player> players, + ArrayList<TribeCard> upperListTribeCards, + ArrayList<TribeCard> lowerListTribeCards, + ArrayList<BuildingCard> upperListBuildingCards, + ArrayList<BuildingCard> lowerListBuildingCards)
      +
      Constructs an event that updates the game state for the next round.
      +
      +
      Parameters:
      +
      slotPlayerMap - the map associating each slot with the player occupying it.
      +
      orderLogicCard - the order logic card that determines the player order.
      +
      currentState - the current state of the game.
      +
      players - the list of players in the game.
      +
      upperListTribeCards - the upper row of tribe cards for the new round.
      +
      lowerListTribeCards - the lower row of tribe cards for the new round.
      +
      upperListBuildingCards - the upper row of building cards for the new round.
      +
      lowerListBuildingCards - the lower row of building cards for the new round.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Not applicable server-side.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller (unused).
      +
      Returns:
      +
      false always.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, updating all board lists, +slot map, turn order, and game state for the new round.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.html new file mode 100644 index 0000000..a7e2827 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DisconnectedPlayer.html @@ -0,0 +1,300 @@ + + + + +DisconnectedPlayer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DisconnectedPlayer

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.DisconnectedPlayer
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class DisconnectedPlayer +extends NetworkEvent
+
Network event used to notify all clients that a player has disconnected. + +

Also carries the updated list of available totems, since a disconnection +during totem selection may free a totem for other players.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      availableTotems

      +
      +
      private List<Totems> availableTotems
      +
      Updated list of totems available after the disconnection frees any previously chosen totem.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DisconnectedPlayer

      +
      +
      public DisconnectedPlayer(String username)
      +
      Constructs a disconnection event for the specified player.
      +
      +
      Parameters:
      +
      username - the username of the player who disconnected.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      enrichWithGameState

      +
      +
      public void enrichWithGameState(Game game, + ArrayList<String> disconnectedUsernames)
      +
      Description copied from class: NetworkEvent
      +
      Populates this event with the current game state so clients can +update their local model after receiving it. +Subclasses that carry extra state (available totems, etc.) override +this method and call super first.
      +
      +
      Overrides:
      +
      enrichWithGameState in class NetworkEvent
      +
      Parameters:
      +
      game - the current game model.
      +
      disconnectedUsernames - usernames of currently disconnected players.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Applies this disconnection event to the server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller on which to apply the event.
      +
      Returns:
      +
      true if the disconnection is handled successfully.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this disconnection event to the client-side mini model, +updating player data, turn order, game state, and disconnected player list.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.html new file mode 100644 index 0000000..89f8ea6 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.html @@ -0,0 +1,273 @@ + + + + +DrawLowerBuildingCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DrawLowerBuildingCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerBuildingCard
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class DrawLowerBuildingCard +extends NetworkEvent
+
NetworkEvent to draw a building card from the lower card list.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      pos

      +
      +
      private final int pos
      +
      Index of the card to draw
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DrawLowerBuildingCard

      +
      +
      public DrawLowerBuildingCard(String username, + int pos)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could draw the card, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, removing the drawn card +from the lower building list and updating players, turn order, game state, and slot map.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.html new file mode 100644 index 0000000..b0f906d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.html @@ -0,0 +1,273 @@ + + + + +DrawLowerTribeCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DrawLowerTribeCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.DrawLowerTribeCard
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class DrawLowerTribeCard +extends NetworkEvent
+
NetworkEvent to draw a tribe card from the lower card list.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      pos

      +
      +
      private final int pos
      +
      Index of the card to draw
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DrawLowerTribeCard

      +
      +
      public DrawLowerTribeCard(String username, + int pos)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could draw the card, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, removing the drawn card +from the lower tribe list and updating players, turn order, game state, and slot map.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.html new file mode 100644 index 0000000..fd2df1e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.html @@ -0,0 +1,273 @@ + + + + +DrawUpperBuildingCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DrawUpperBuildingCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperBuildingCard
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class DrawUpperBuildingCard +extends NetworkEvent
+
NetworkEvent to draw a building card from the upper card list.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      pos

      +
      +
      private final int pos
      +
      Index of the card to draw
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DrawUpperBuildingCard

      +
      +
      public DrawUpperBuildingCard(String username, + int pos)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could draw the card, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, removing the drawn card +from the upper building list and updating players, turn order, game state, and slot map.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.html new file mode 100644 index 0000000..fe8f5d2 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.html @@ -0,0 +1,273 @@ + + + + +DrawUpperTribeCard + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class DrawUpperTribeCard

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.DrawUpperTribeCard
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class DrawUpperTribeCard +extends NetworkEvent
+
NetworkEvent to draw a tribe card from the upper card list.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      pos

      +
      +
      private final int pos
      +
      Index of the card to draw
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DrawUpperTribeCard

      +
      +
      public DrawUpperTribeCard(String username, + int pos)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could draw the card, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, removing the drawn card +from the upper tribe list and updating players, turn order, game state, and slot map.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/EndedGame.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/EndedGame.html new file mode 100644 index 0000000..d81a033 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/EndedGame.html @@ -0,0 +1,246 @@ + + + + +EndedGame + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class EndedGame

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.EndedGame
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class EndedGame +extends NetworkEvent
+
Network event that signals the end of the game and delivers the final standings. + +

Only applied client-side; apply(GameController) always returns false.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EndedGame

      +
      +
      public EndedGame(Map<Slot,Player> slotPlayerMap, + OrderLogicCard orderLogicCard, + CurrentState currentState, + ArrayList<Player> players)
      +
      Constructs an event containing the final game state.
      +
      +
      Parameters:
      +
      slotPlayerMap - the map associating each slot with the player occupying it.
      +
      orderLogicCard - the order logic card that determines the player order.
      +
      currentState - the current state of the game.
      +
      players - the final list of players, used as the standings.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Not applicable server-side.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller (unused).
      +
      Returns:
      +
      false always.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, updating the final +game state and setting the standings list for the leaderboard.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.html new file mode 100644 index 0000000..47743df --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/ReconnectPlayer.html @@ -0,0 +1,266 @@ + + + + +ReconnectPlayer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ReconnectPlayer

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.ReconnectPlayer
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class ReconnectPlayer +extends NetworkEvent
+
Network event used to notify that a player has reconnected to the game.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReconnectPlayer

      +
      +
      public ReconnectPlayer(String username)
      +
      Constructs a reconnection event for the specified player.
      +
      +
      Parameters:
      +
      username - the username of the player who reconnected.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      enrichWithGameState

      +
      +
      public void enrichWithGameState(Game game, + ArrayList<String> disconnectedUsernames)
      +
      Description copied from class: NetworkEvent
      +
      Populates this event with the current game state so clients can +update their local model after receiving it. +Subclasses that carry extra state (available totems, etc.) override +this method and call super first.
      +
      +
      Overrides:
      +
      enrichWithGameState in class NetworkEvent
      +
      Parameters:
      +
      game - the current game model.
      +
      disconnectedUsernames - usernames of currently disconnected players.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Applies the reconnection event to the server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller on which to apply the event.
      +
      Returns:
      +
      true if the player reconnection is handled successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies the reconnection update to the client-side mini model. + +

      If the event does not represent an error, the player data, +turn order, current game state, and slot assignments are updated.

      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the mini model on which to apply the event.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.html new file mode 100644 index 0000000..0bf0ed1 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.html @@ -0,0 +1,237 @@ + + + + +SkipTurn + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class SkipTurn

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.SkipTurn
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class SkipTurn +extends NetworkEvent
+
Network event used to skip the current player's optional card action.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SkipTurn

      +
      +
      public SkipTurn(String username)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the Game Controller on which to apply the event
      +
      Returns:
      +
      true if the player could skipTheTurn, false otherwise
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map after a skip turn action.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.html new file mode 100644 index 0000000..904fecb --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.html @@ -0,0 +1,273 @@ + + + + +SlotChoice + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class SlotChoice

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.SlotChoice
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class SlotChoice +extends NetworkEvent
+
NetworkEvent to select a slot where to place the player totem.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      pos

      +
      +
      private final int pos
      +
      Index of the selected slot.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SlotChoice

      +
      +
      public SlotChoice(String username, + int pos)
      +
      Class constructor. +Initializes all the attributes.
      +
      +
      Parameters:
      +
      username - the name of the player requesting the event
      +
      pos - the index of the selected slot
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Description copied from class: NetworkEvent
      +
      Applies this event to the specified server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller on which to apply the event.
      +
      Returns:
      +
      true if the slot choice is handled successfully, false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies this event to the client-side mini model, updating players, +turn order, game state, and slot map after a slot selection.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the client-side model to update.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.html new file mode 100644 index 0000000..b4667a5 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.html @@ -0,0 +1,319 @@ + + + + +TotemChoice + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TotemChoice

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.NetworkEvent +
it.polimi.ingsw.gc14.Network.NetworkEvents.TotemChoice
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
+
public class TotemChoice +extends NetworkEvent +implements Serializable
+
Network event used to handle a player's totem choice.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      totem

      +
      +
      private final String totem
      +
      Name of the totem selected by the player.
      +
      +
      +
    • +
    • +
      +

      availableTotems

      +
      +
      private List<Totems> availableTotems
      +
      List of totems still available after the choice has been processed.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TotemChoice

      +
      +
      public TotemChoice(String username, + String totem)
      +
      Constructs a totem choice event for the specified player.
      +
      +
      Parameters:
      +
      username - the username of the player making the choice.
      +
      totem - the name of the selected totem.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      enrichWithGameState

      +
      +
      public void enrichWithGameState(Game game, + ArrayList<String> disconnectedUsernames)
      +
      Description copied from class: NetworkEvent
      +
      Populates this event with the current game state so clients can +update their local model after receiving it. +Subclasses that carry extra state (available totems, etc.) override +this method and call super first.
      +
      +
      Overrides:
      +
      enrichWithGameState in class NetworkEvent
      +
      Parameters:
      +
      game - the current game model.
      +
      disconnectedUsernames - usernames of currently disconnected players.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public boolean apply(GameController gameController)
      +
      Applies the totem choice event to the server-side game controller.
      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      gameController - the game controller on which to apply the event.
      +
      Returns:
      +
      true if the totem choice is handled successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      apply

      +
      +
      public void apply(MiniModel miniModel)
      +
      Applies the totem choice update to the client-side mini model. + +

      If the event does not represent an error, the player data, +turn order, current game state, slot assignments, and available +totems are updated.

      +
      +
      Specified by:
      +
      apply in class NetworkEvent
      +
      Parameters:
      +
      miniModel - the mini model on which to apply the event.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-summary.html new file mode 100644 index 0000000..2cb07ca --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-summary.html @@ -0,0 +1,144 @@ + + + + +it.polimi.ingsw.gc14.Network.NetworkEvents + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.NetworkEvents

+
+
+
+
package it.polimi.ingsw.gc14.Network.NetworkEvents
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Network event used to register a new player in the lobby.
    +
    + +
    +
    Network event that transitions all clients to the next round.
    +
    + +
    +
    Network event used to notify all clients that a player has disconnected.
    +
    + +
    +
    NetworkEvent to draw a building card from the lower card list.
    +
    + +
    +
    NetworkEvent to draw a tribe card from the lower card list.
    +
    + +
    +
    NetworkEvent to draw a building card from the upper card list.
    +
    + +
    +
    NetworkEvent to draw a tribe card from the upper card list.
    +
    + +
    +
    Network event that signals the end of the game and delivers the final standings.
    +
    + +
    +
    Network event used to notify that a player has reconnected to the game.
    +
    + +
    +
    Network event used to skip the current player's optional card action.
    +
    + +
    +
    NetworkEvent to select a slot where to place the player totem.
    +
    + +
    +
    Network event used to handle a player's totem choice.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-tree.html new file mode 100644 index 0000000..8b1355c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/NetworkEvents/package-tree.html @@ -0,0 +1,89 @@ + + + + +it.polimi.ingsw.gc14.Network.NetworkEvents Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.NetworkEvents

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.html new file mode 100644 index 0000000..a490b7d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.html @@ -0,0 +1,288 @@ + + + + +ClientCallbackImpl + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientCallbackImpl

+
+
java.lang.Object +
java.rmi.server.RemoteObject +
java.rmi.server.RemoteServer +
java.rmi.server.UnicastRemoteObject +
it.polimi.ingsw.gc14.Network.RMI.Client.ClientCallbackImpl
+
+
+
+
+
+
+
All Implemented Interfaces:
+
IClientCallback, Serializable, Remote
+
+
+
+
public class ClientCallbackImpl +extends UnicastRemoteObject +implements IClientCallback
+
RMI client callback implementation of IClientCallback. +Receives notifications from the server and updates the client game model.
+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      clientController

      +
      +
      private final ClientController clientController
      +
      The client controller used to apply events and update the model
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientCallbackImpl

      +
      +
      public ClientCallbackImpl(ClientController clientController) + throws RemoteException
      +
      Class constructor.
      +
      +
      Parameters:
      +
      clientController - the client controller
      +
      Throws:
      +
      RemoteException - if any RMI error occurs
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.html new file mode 100644 index 0000000..16fba91 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.html @@ -0,0 +1,596 @@ + + + + +RMIClient + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class RMIClient

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient
+
+
+
+
All Implemented Interfaces:
+
IClient
+
+
+
+
public class RMIClient +extends Object +implements IClient
+
Client RMI. Uses the methods exposed by the server RMI.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final ClientController
    + +
    +
    Client-side controller that receives and applies incoming game events.
    +
    + + +
    +
    Future executor used for timer Running
    +
    +
    private final String
    + +
    +
    Hostname or IP address of the RMI server.
    +
    +
    private final String
    + +
    +
    Local IP address advertised to the RMI runtime so callbacks are routed correctly.
    +
    + + +
    +
    Scheduler that fires ping() every 3000L ms.
    +
    +
    private final int
    + +
    +
    Port of the RMI registry.
    +
    +
    private boolean
    + +
    +
    true while the heartbeat loop is active; set to false on disconnect.
    +
    +
    private IGameServer
    + +
    +
    Remote stub obtained from the RMI registry after a successful connection.
    +
    +
    private String
    + +
    +
    Username of the currently connected player; set during connect(String, int).
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    RMIClient(ClientController controller, + String host, + int port, + String myIp)
    +
    +
    Constructs an RMI client and initializes its connection parameters.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    connect(String username, + int proposedNPlayers)
    +
    +
    Connects to the RMI server and starts the heartbeat loop.
    +
    +
    private void
    + +
    +
    Tears down the connection.
    +
    +
    void
    +
    drawLowerBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the lower list.
    +
    +
    void
    +
    drawLowerTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the lower list.
    +
    +
    void
    +
    drawUpperBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the upper list.
    +
    +
    void
    +
    drawUpperTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the upper list.
    +
    +
    void
    + +
    +
    Notifies the server of a voluntary disconnection via RMI, then stops +the keep-alive scheduler.
    +
    +
    void
    +
    skipTurn(String playerUsername)
    +
    +
    Requests to skip the turn.
    +
    +
    void
    +
    slotChoice(String playerUsername, + int pos)
    +
    +
    Used to perform the slot choice action for the specified player at the specified position.
    +
    +
    private void
    + +
    +
    Starts sending periodic pings to the server.
    +
    +
    void
    +
    totemChoice(String playerUsername, + String totem)
    +
    +
    Sends a totem choice to the server for the specified player via RMI.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      host

      +
      +
      private final String host
      +
      Hostname or IP address of the RMI server.
      +
      +
      +
    • +
    • +
      +

      port

      +
      +
      private final int port
      +
      Port of the RMI registry.
      +
      +
      +
    • +
    • +
      +

      stub

      +
      +
      private IGameServer stub
      +
      Remote stub obtained from the RMI registry after a successful connection.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private final ClientController controller
      +
      Client-side controller that receives and applies incoming game events.
      +
      +
      +
    • +
    • +
      +

      myIp

      +
      +
      private final String myIp
      +
      Local IP address advertised to the RMI runtime so callbacks are routed correctly.
      +
      +
      +
    • +
    • +
      +

      username

      +
      +
      private String username
      +
      Username of the currently connected player; set during connect(String, int).
      +
      +
      +
    • +
    • +
      +

      running

      +
      +
      private volatile boolean running
      +
      true while the heartbeat loop is active; set to false on disconnect.
      +
      +
      +
    • +
    • +
      +

      pingSender

      +
      +
      private ScheduledExecutorService pingSender
      +
      Scheduler that fires ping() every 3000L ms.
      +
      +
      +
    • +
    • +
      +

      executor

      +
      +
      private ExecutorService executor
      +
      Future executor used for timer Running
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RMIClient

      +
      +
      public RMIClient(ClientController controller, + String host, + int port, + String myIp)
      +
      Constructs an RMI client and initializes its connection parameters.
      +
      +
      Parameters:
      +
      controller - the client controller associated with this RMI client.
      +
      host - the hostname or IP address of the RMI server.
      +
      port - the port used to connect to the RMI registry.
      +
      myIp - the IP address of the client.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connect

      +
      +
      public ErrorType connect(String username, + int proposedNPlayers)
      +
      Connects to the RMI server and starts the heartbeat loop. + +

      Mirrors TCPClient.connect(): after a successful join the +heartbeat channel is opened (here: a scheduler is started instead of +opening a second socket).

      +
      +
      Specified by:
      +
      connect in interface IClient
      +
      Parameters:
      +
      username - the username chosen by the player.
      +
      proposedNPlayers - the desired number of players proposed by this client.
      +
      Returns:
      +
      true if the connection is established successfully, + false otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      startHeartbeat

      +
      +
      private void startHeartbeat()
      +
      Starts sending periodic pings to the server. + +

      Mirrors the ScheduledExecutorService in +TCPClient.heartbeatLoop() that writes PING every 3 s. +On RemoteException the server is considered gone and +disconnect() is called — mirrors the behavior on +SocketTimeoutException / IOException in the TCP version.

      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      private void disconnect()
      +
      Tears down the connection. +Mirrors TCPClient.disconnect(): stops the heartbeat and notifies +the view.
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      public void drawUpperTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperTribeCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      public void drawLowerTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerTribeCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      public void drawUpperBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperBuildingCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      public void drawLowerBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerBuildingCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public void skipTurn(String playerUsername)
      +
      Requests to skip the turn. +This action is available only when the player cannot draw any tribe card, but still can buy some buildings.
      +
      +
      Specified by:
      +
      skipTurn in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      public void slotChoice(String playerUsername, + int pos)
      +
      Used to perform the slot choice action for the specified player at the specified position.
      +
      +
      Specified by:
      +
      slotChoice in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the selected slot
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public void totemChoice(String playerUsername, + String totem)
      +
      Sends a totem choice to the server for the specified player via RMI.
      +
      +
      Specified by:
      +
      totemChoice in interface IClient
      +
      Parameters:
      +
      playerUsername - the username of the player choosing the totem.
      +
      totem - the name of the chosen totem.
      +
      +
      +
      +
    • +
    • +
      +

      notifyDisconnection

      +
      +
      public void notifyDisconnection()
      +
      Notifies the server of a voluntary disconnection via RMI, then stops +the keep-alive scheduler.
      +
      +
      Specified by:
      +
      notifyDisconnection in interface IClient
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-summary.html new file mode 100644 index 0000000..9120d96 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-summary.html @@ -0,0 +1,92 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Client + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.RMI.Client

+
+
+
+
package it.polimi.ingsw.gc14.Network.RMI.Client
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-tree.html new file mode 100644 index 0000000..a12e9ea --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Client/package-tree.html @@ -0,0 +1,87 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Client Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Client

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IClientCallback.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IClientCallback.html new file mode 100644 index 0000000..40cb031 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IClientCallback.html @@ -0,0 +1,170 @@ + + + + +IClientCallback + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IClientCallback

+
+
+
+
All Superinterfaces:
+
Remote, Serializable
+
+
+
All Known Implementing Classes:
+
ClientCallbackImpl
+
+
+
+
public interface IClientCallback +extends Remote, Serializable
+
Callback interface used by the server to notify an RMI client about +game updates and incoming network actions. + +

Implementations of this interface are remotely accessible and +serializable.

+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Notifies the client about a network action to process.
    +
    +
    void
    +
    onGameInit(MiniModel miniModel)
    +
    +
    Notifies the client that the game model has been initialized or updated.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onGameInit

      +
      +
      void onGameInit(MiniModel miniModel) + throws RemoteException
      +
      Notifies the client that the game model has been initialized or updated.
      +
      +
      Parameters:
      +
      miniModel - the current mini model of the game.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      onAction

      +
      +
      void onAction(NetworkEvent action) + throws RemoteException
      +
      Notifies the client about a network action to process.
      +
      +
      Parameters:
      +
      action - the network event received from the server.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IGameServer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IGameServer.html new file mode 100644 index 0000000..24f6c29 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/IGameServer.html @@ -0,0 +1,376 @@ + + + + +IGameServer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IGameServer

+
+
+
+
All Superinterfaces:
+
Remote
+
+
+
All Known Implementing Classes:
+
RMIServer
+
+
+
+
public interface IGameServer +extends Remote
+
Remote interface used by RMI clients to interact with the game server.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Notifies the server of a voluntary disconnection for the specified player.
    +
    +
    void
    +
    drawLowerBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the lower building card list.
    +
    +
    void
    +
    drawLowerTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the lower tribe card list.
    +
    +
    void
    +
    drawUpperBuildingCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a building card from the upper building card list.
    +
    +
    void
    +
    drawUpperTribeCard(String playerUsername, + int pos)
    +
    +
    Requests to draw a tribe card from the upper tribe card list.
    +
    + +
    joinGame(String username, + int preferredInt, + IClientCallback callback)
    +
    +
    Adds a player to the game and registers the callback used by the server +to notify the corresponding RMI client.
    +
    +
    void
    +
    ping(String username)
    +
    +
    Heartbeat method called periodically by the client to signal +that it is still connected.
    +
    +
    void
    +
    skipTurn(String playerUsername)
    +
    +
    Requests to skip the current player's optional action.
    +
    +
    void
    +
    slotChoice(String playerUsername, + int pos)
    +
    +
    Requests to assign the specified player to a slot.
    +
    +
    void
    +
    totemChoice(String playerUsername, + String totems)
    +
    +
    Requests to assign the selected totem to the specified player.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      joinGame

      +
      +
      ErrorType joinGame(String username, + int preferredInt, + IClientCallback callback) + throws RemoteException
      +
      Adds a player to the game and registers the callback used by the server +to notify the corresponding RMI client.
      +
      +
      Parameters:
      +
      username - the username chosen by the player.
      +
      preferredInt - the desired number of players proposed by this client.
      +
      callback - the remote callback associated with the client.
      +
      Returns:
      +
      null if the player joins successfully; + an ErrorType value describing the rejection otherwise.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      void drawUpperTribeCard(String playerUsername, + int pos) + throws RemoteException
      +
      Requests to draw a tribe card from the upper tribe card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      void drawLowerTribeCard(String playerUsername, + int pos) + throws RemoteException
      +
      Requests to draw a tribe card from the lower tribe card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      void drawUpperBuildingCard(String playerUsername, + int pos) + throws RemoteException
      +
      Requests to draw a building card from the upper building card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      void drawLowerBuildingCard(String playerUsername, + int pos) + throws RemoteException
      +
      Requests to draw a building card from the lower building card list.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player performing the action.
      +
      pos - the position of the selected card.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      void skipTurn(String playerUsername) + throws RemoteException
      +
      Requests to skip the current player's optional action.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player skipping the action.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      void slotChoice(String playerUsername, + int pos) + throws RemoteException
      +
      Requests to assign the specified player to a slot.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player making the slot choice.
      +
      pos - the position of the selected slot.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      void totemChoice(String playerUsername, + String totems) + throws RemoteException
      +
      Requests to assign the selected totem to the specified player.
      +
      +
      Parameters:
      +
      playerUsername - the username of the player making the totem choice.
      +
      totems - the name of the selected totem.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      ping

      +
      +
      void ping(String username) + throws RemoteException
      +
      Heartbeat method called periodically by the client to signal +that it is still connected. + +

      This method mirrors the PING/PONG mechanism used in the TCP +heartbeat channel.

      +
      +
      Parameters:
      +
      username - the username of the client sending the heartbeat ping.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      disconnectPlayer

      +
      +
      void disconnectPlayer(String username) + throws RemoteException
      +
      Notifies the server of a voluntary disconnection for the specified player.
      +
      +
      Parameters:
      +
      username - the username of the player disconnecting.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-summary.html new file mode 100644 index 0000000..fb20d17 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-summary.html @@ -0,0 +1,93 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Common + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.RMI.Common

+
+
+
+
package it.polimi.ingsw.gc14.Network.RMI.Common
+
+
+
    +
  • +
    +
    Interfaces
    +
    +
    Class
    +
    Description
    + +
    +
    Callback interface used by the server to notify an RMI client about +game updates and incoming network actions.
    +
    + +
    +
    Remote interface used by RMI clients to interact with the game server.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-tree.html new file mode 100644 index 0000000..5c04306 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Common/package-tree.html @@ -0,0 +1,80 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Common Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Common

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.html new file mode 100644 index 0000000..0bd3c2e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.html @@ -0,0 +1,365 @@ + + + + +RMIHeartbeat + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class RMIHeartbeat

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.RMI.Server.RMIHeartbeat
+
+
+
+
+
public class RMIHeartbeat +extends Object
+
Server-side heartbeat watchdog for a single RMI client. + +

Mirrors HeartbeatHandler used in the TCP stack, but adapted for RMI: +instead of reading raw bytes from a dedicated socket, it relies on receivePing() +being called by RMIServer.ping(String) every time the client sends a ping. + +

If no ping is received within 5000L ms, the player is +considered disconnected and disconnect() is invoked, which: +

    +
  • stops the watchdog;
  • +
  • marks the player as offline in playerList;
  • +
  • removes the callback from clients;
  • +
  • adds a DisconnectedPlayer event to the action queue.
  • +
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      username

      +
      +
      private String username
      +
      Username of the client monitored by this watchdog.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      private final LimitedMap<String,Boolean> playerList
      +
      Shared map used to mark the player as offline on timeout.
      +
      +
      +
    • +
    • +
      +

      clients

      +
      +
      private final Map<String, IClientCallback> clients
      +
      Registry of active RMI callbacks; the entry for this player is removed on disconnect.
      +
      +
      +
    • +
    • +
      +

      actionQueue

      +
      +
      private final BlockingQueue<NetworkEvent> actionQueue
      +
      Shared event queue; a DisconnectedPlayer event is posted here on timeout.
      +
      +
      +
    • +
    • +
      +

      lastPingTime

      +
      +
      private volatile long lastPingTime
      +
      Last time a ping was received from this client.
      +
      +
      +
    • +
    • +
      +

      running

      +
      +
      private volatile boolean running
      +
      true while the watchdog is running; set to false on first disconnect.
      +
      +
      +
    • +
    • +
      +

      watchdog

      +
      +
      private final ScheduledExecutorService watchdog
      +
      Single-thread executor that periodically checks whether the silence threshold has been exceeded.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RMIHeartbeat

      +
      +
      public RMIHeartbeat(String username, + LimitedMap<String,Boolean> playerList, + Map<String, IClientCallback> clients, + BlockingQueue<NetworkEvent> actionQueue)
      +
      Constructs an RMI heartbeat handler for the specified client.
      +
      +
      Parameters:
      +
      username - the username of the client monitored by the heartbeat.
      +
      playerList - the map storing the connection status of the players.
      +
      clients - the collection of currently registered RMI clients.
      +
      actionQueue - the queue containing network events to be processed.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      +
      public void start()
      +
      Called by RMIServer whenever it starts tracking this player.
      +
      +
      +
    • +
    • +
      +

      receivePing

      +
      +
      public void receivePing()
      +
      Called by RMIServer.ping(String) each time the client pings. +Resets the silence timer — mirrors writing lastReceivedTime in +HeartbeatHandler.
      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      public void disconnect()
      +
      Disconnects the monitored RMI client. + +

      The heartbeat handler is stopped, the player is marked as offline, +the associated RMI callback is removed, and a disconnection event is +added to the action queue for server-side processing.

      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.html new file mode 100644 index 0000000..85ffc7a --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.html @@ -0,0 +1,704 @@ + + + + +RMIServer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class RMIServer

+
+ +
+
+
All Implemented Interfaces:
+
IGameServer, Serializable, Remote
+
+
+
+
public class RMIServer +extends UnicastRemoteObject +implements IGameServer
+
RMI server responsible for handling remote client connections, +receiving player actions, and propagating game updates. + +

The server manages player registration, reconnection handling, +heartbeat monitoring, and the forwarding of client requests to the +shared network event queue.

+
+
See Also:
+
+ +
+
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      host

      +
      +
      private final String host
      +
      Hostname or IP address exposed by the RMI runtime (java.rmi.server.hostname).
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private final GameController controller
      +
      Server-side game controller; all model access is synchronized on this object.
      +
      +
      +
    • +
    • +
      +

      nPort

      +
      +
      private final int nPort
      +
      Port on which the RMI registry is bound.
      +
      +
      +
    • +
    • +
      +

      clients

      +
      +
      private final Map<String, IClientCallback> clients
      +
      username → callback
      +
      +
      +
    • +
    • +
      +

      watchdogs

      +
      +
      private final Map<String, RMIHeartbeat> watchdogs
      +
      username → watchdog. +One watchdog per connected player, mirrors pendingHeartbeat / per-socket +HeartbeatHandler in the TCP stack.
      +
      +
      +
    • +
    • +
      +

      actionQueue

      +
      +
      private final BlockingQueue<NetworkEvent> actionQueue
      +
      Shared queue to which player actions are added for sequential processing.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      private final LimitedMap<String,Boolean> playerList
      +
      Shared map tracking each player's connection status (true = online).
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RMIServer

      +
      +
      public RMIServer(GameController controller, + int nPort, + BlockingQueue<NetworkEvent> actionQueue, + LimitedMap<String,Boolean> playerList, + String host) + throws RemoteException
      +
      Constructs an RMI server with the required game and network components.
      +
      +
      Parameters:
      +
      controller - the game controller used to manage the game logic.
      +
      nPort - the port used by the RMI registry.
      +
      actionQueue - the queue containing incoming network events.
      +
      playerList - the map storing the connection status of the players.
      +
      host - the hostname or IP address exposed by the RMI server.
      +
      Throws:
      +
      RemoteException - if the remote object cannot be exported.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      joinGame

      +
      +
      public ErrorType joinGame(String username, + int preferredInt, + IClientCallback callback) + throws RemoteException
      +
      Adds a player to the game and registers the callback used by the server +to notify the corresponding RMI client. + +

      After a successful join an RMIHeartbeat watchdog is created and +started for the new player — mirrors creating a HeartbeatHandler in +TCPServer.acceptHeartbeat().

      +
      +
      Specified by:
      +
      joinGame in interface IGameServer
      +
      Parameters:
      +
      username - the username chosen by the player.
      +
      preferredInt - the desired number of players proposed by this client.
      +
      callback - the remote callback associated with the client.
      +
      Returns:
      +
      null on success; an ErrorType value on rejection.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      ping

      +
      +
      public void ping(String username) + throws RemoteException
      +
      Receives a heartbeat ping from the client. +Mirrors the server reading PING and replying PONG in +HeartbeatHandler.run().
      +
      +
      Specified by:
      +
      ping in interface IGameServer
      +
      Parameters:
      +
      username - the username of the pinging client.
      +
      Throws:
      +
      RemoteException - if an RMI communication error occurs.
      +
      +
      +
      +
    • +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(NetworkEvent action)
      +
      Notifies connected RMI clients of a new network event. + +

      If the event does not represent an error, it is sent to all registered clients. +If it represents an error, it is sent only to the client that requested the action. +Communication errors are logged without interrupting the notification process.

      +
      +
      Parameters:
      +
      action - the network event to send to the clients.
      +
      +
      +
      +
    • +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(MiniModel model)
      +
      Notifies all connected RMI clients of a new game model. + +

      The updated mini model is sent to each registered client callback. +If a communication error occurs for a client, the exception is logged +without interrupting the notification of the remaining clients.

      +
      +
      Parameters:
      +
      model - the updated mini model to send to the connected clients.
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      public void drawUpperTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperTribeCard in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      public void drawLowerTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerTribeCard in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      public void drawUpperBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperBuildingCard in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      public void drawLowerBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerBuildingCard in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public void skipTurn(String playerUsername)
      +
      Requests to skip the turn. +This action is available only when the player cannot draw any tribe card, but still can buy some buildings.
      +
      +
      Specified by:
      +
      skipTurn in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      public void slotChoice(String playerUsername, + int pos)
      +
      Used to perform the slot choice action for the specified player at the specified position.
      +
      +
      Specified by:
      +
      slotChoice in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the selected slot
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public void totemChoice(String playerUsername, + String totems) + throws RemoteException
      +
      Enqueues a totem choice event for the specified player.
      +
      +
      Specified by:
      +
      totemChoice in interface IGameServer
      +
      Parameters:
      +
      playerUsername - the username of the player choosing the totem.
      +
      totems - the name of the chosen totem.
      +
      Throws:
      +
      RemoteException - if the RMI call fails.
      +
      +
      +
      +
    • +
    • +
      +

      start

      +
      +
      public void start()
      +
      Starts the RMI server and binds it to the configured registry. + +

      The method configures the server hostname, creates the RMI registry +on the specified port, and registers this server instance under the +RMIGameServer name.

      +
      +
      +
    • +
    • +
      +

      startWatchdog

      +
      +
      private void startWatchdog(String username)
      +
      Creates and starts an RMIHeartbeat for the specified player.
      +
      +
      Parameters:
      +
      username - the username of the player monitored by the heartbeat watchdog.
      +
      +
      +
      +
    • +
    • +
      +

      disconnectPlayer

      +
      +
      public void disconnectPlayer(String username)
      +
      Triggers a voluntary disconnection for the specified player +by stopping their heartbeat watchdog.
      +
      +
      Specified by:
      +
      disconnectPlayer in interface IGameServer
      +
      Parameters:
      +
      username - the username of the player to disconnect.
      +
      +
      +
      +
    • +
    • +
      +

      disconnectedUsernames

      +
      +
      private static ArrayList<String> disconnectedUsernames(Game game)
      +
      Returns usernames of players currently marked as disconnected in the given game.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-summary.html new file mode 100644 index 0000000..c9fea76 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-summary.html @@ -0,0 +1,93 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Server + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.RMI.Server

+
+
+
+
package it.polimi.ingsw.gc14.Network.RMI.Server
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Server-side heartbeat watchdog for a single RMI client.
    +
    + +
    +
    RMI server responsible for handling remote client connections, +receiving player actions, and propagating game updates.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-tree.html new file mode 100644 index 0000000..d9fa9cc --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/RMI/Server/package-tree.html @@ -0,0 +1,87 @@ + + + + +it.polimi.ingsw.gc14.Network.RMI.Server Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.RMI.Server

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.html new file mode 100644 index 0000000..cb15b34 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.html @@ -0,0 +1,700 @@ + + + + +TCPClient + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TCPClient

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient
+
+
+
+
All Implemented Interfaces:
+
IClient
+
+
+
+
public class TCPClient +extends Object +implements IClient
+
Client TCP. Sends and receives messages with the TCP server.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      PING

      +
      +
      private static final int PING
      +
      Byte value sent by the client to signal it is still alive.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      PONG

      +
      +
      private static final int PONG
      +
      Byte value expected from the server in response to a PING.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      communicationSocket

      +
      +
      private Socket communicationSocket
      +
      Socket TCP
      +
      +
      +
    • +
    • +
      +

      socketReceive

      +
      +
      private ObjectInputStream socketReceive
      +
      Input stream used receive objects from the server
      +
      +
      +
    • +
    • +
      +

      socketSend

      +
      +
      private ObjectOutputStream socketSend
      +
      Output stream used to send objects to the server
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private final ClientController controller
      +
      Client game's controller
      +
      +
      +
    • +
    • +
      +

      hostname

      +
      +
      private final String hostname
      +
      IP address of the server to connect to
      +
      +
      +
    • +
    • +
      +

      running

      +
      +
      private boolean running
      +
      true while the connection is active; set to false on disconnect.
      +
      +
      +
    • +
    • +
      +

      mainPort

      +
      +
      private final int mainPort
      +
      TCP port
      +
      +
      +
    • +
    • +
      +

      heartbeatPort

      +
      +
      private final int heartbeatPort
      +
      TCP port dedicated to heartbeat communication.
      +
      +
      +
    • +
    • +
      +

      heartbeatSocket

      +
      +
      private Socket heartbeatSocket
      +
      Socket used exclusively for heartbeat ping/pong exchange.
      +
      +
      +
    • +
    • +
      +

      heartbeatOut

      +
      +
      private OutputStream heartbeatOut
      +
      Output stream of heartbeatSocket, used to write PING bytes.
      +
      +
      +
    • +
    • +
      +

      heartbeatIn

      +
      +
      private InputStream heartbeatIn
      +
      Input stream of heartbeatSocket, used to read PONG bytes.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TCPClient

      +
      +
      public TCPClient(ClientController controller, + String hostname, + int mainPort, + int heartbeatPort)
      +
      Constructs a TCP client and initializes its connection parameters.
      +
      +
      Parameters:
      +
      controller - the client controller.
      +
      hostname - the IP address or hostname of the server.
      +
      mainPort - the main TCP port of the server.
      +
      heartbeatPort - the TCP port used for heartbeat communication.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      connect

      +
      +
      public ErrorType connect(String user, + int proposedNPlayers)
      +
      Starts the TCP connection with the server. +Sends an AddPlayer event, if the server responds with -1, the connection is refused and the method returns false. +Otherwise, a listener thread is started.
      +
      +
      Specified by:
      +
      connect in interface IClient
      +
      Parameters:
      +
      user - The username of the player
      +
      proposedNPlayers - The desired number of players for the game
      +
      Returns:
      +
      null if the connection is successful, GENERIC_ERROR otherwise.
      +
      +
      +
      +
    • +
    • +
      +

      heartbeatLoop

      +
      +
      private void heartbeatLoop()
      +
      Sends a PING byte to the server every 3 seconds and waits for a PONG reply. +If no reply arrives within 5000L ms, the server is +considered unreachable and disconnect() is called.
      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      private void disconnect()
      +
      Disconnects the player and cleans model and controller
      +
      +
      +
    • +
    • +
      +

      receiveMessage

      +
      +
      private void receiveMessage()
      +
      Listens continuously for incoming objects from the server. + - If the received object is a NetworkEvent flagged as an error, it is printed. + - If the received object is a valid NetworkEvent, it is applied to the game controller. + - If the received object is a MiniModel, the controller's model is set.
      +
      +
      +
    • +
    • +
      +

      drawUpperTribeCard

      +
      +
      public void drawUpperTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperTribeCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerTribeCard

      +
      +
      public void drawLowerTribeCard(String playerUsername, + int pos)
      +
      Requests to draw a tribe card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerTribeCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawUpperBuildingCard

      +
      +
      public void drawUpperBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the upper list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawUpperBuildingCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      drawLowerBuildingCard

      +
      +
      public void drawLowerBuildingCard(String playerUsername, + int pos)
      +
      Requests to draw a building card from the lower list. +Creates a NetworkEvent and sends it through the network client.
      +
      +
      Specified by:
      +
      drawLowerBuildingCard in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the card to draw
      +
      +
      +
      +
    • +
    • +
      +

      skipTurn

      +
      +
      public void skipTurn(String playerUsername)
      +
      Requests to skip drawing turn. +This action is available only when the player cannot draw any tribe card, but still can buy some buildings.
      +
      +
      Specified by:
      +
      skipTurn in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      +
      +
      +
    • +
    • +
      +

      slotChoice

      +
      +
      public void slotChoice(String playerUsername, + int pos)
      +
      Used to perform the slot choice action for the specified player at the specified position.
      +
      +
      Specified by:
      +
      slotChoice in interface IClient
      +
      Parameters:
      +
      playerUsername - the name of the player performing the action
      +
      pos - the index of the selected slot
      +
      +
      +
      +
    • +
    • +
      +

      doEvent

      +
      +
      private void doEvent(NetworkEvent event)
      +
      Sends a NetworkEvent to the server.
      +
      +
      Parameters:
      +
      event - The NetworkEvent to send.
      +
      +
      +
      +
    • +
    • +
      +

      totemChoice

      +
      +
      public void totemChoice(String playerUsername, + String totems)
      +
      Sends a totem choice event to the server for the specified player.
      +
      +
      Specified by:
      +
      totemChoice in interface IClient
      +
      Parameters:
      +
      playerUsername - the username of the player choosing the totem.
      +
      totems - the name of the chosen totem.
      +
      +
      +
      +
    • +
    • +
      +

      notifyDisconnection

      +
      +
      public void notifyDisconnection()
      +
      Notifies the server of a voluntary disconnection by sending a sentinel value +on the heartbeat channel, then closes the connection.
      +
      +
      Specified by:
      +
      notifyDisconnection in interface IClient
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-summary.html new file mode 100644 index 0000000..8e47ce5 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-summary.html @@ -0,0 +1,88 @@ + + + + +it.polimi.ingsw.gc14.Network.TCP.Client + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.TCP.Client

+
+
+
+
package it.polimi.ingsw.gc14.Network.TCP.Client
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Client TCP.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-tree.html new file mode 100644 index 0000000..07403c3 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Client/package-tree.html @@ -0,0 +1,74 @@ + + + + +it.polimi.ingsw.gc14.Network.TCP.Client Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.TCP.Client

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • it.polimi.ingsw.gc14.Network.TCP.Client.TCPClient (implements it.polimi.ingsw.gc14.Network.IClient)
    • +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/ClientHandler.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/ClientHandler.html new file mode 100644 index 0000000..d6e04de --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/ClientHandler.html @@ -0,0 +1,430 @@ + + + + +ClientHandler + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ClientHandler

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
+
public class ClientHandler +extends Object +implements Runnable
+
Handles the TCP connection with a single client. +Each instance runs on a dedicated thread and is responsible for receiving NetworkEvent from its client and adding them +to the actionQueue. +It is also responsible to send events and game model updates back to the client.
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      username

      +
      +
      private final String username
      +
      The username of the connected client on this handler
      +
      +
      +
    • +
    • +
      +

      running

      +
      +
      private volatile boolean running
      +
      true while the handler is actively reading from the socket; set to false on disconnect.
      +
      +
      +
    • +
    • +
      +

      clientSocket

      +
      +
      private final Socket clientSocket
      +
      The TCP socket
      +
      +
      +
    • +
    • +
      +

      in

      +
      +
      private final ObjectInputStream in
      +
      Input stream used to receive objects from the client
      +
      +
      +
    • +
    • +
      +

      out

      +
      +
      private final ObjectOutputStream out
      +
      Output stream used to send objects to the client
      +
      +
      +
    • +
    • +
      +

      clientHandlers

      +
      +
      private final List<ClientHandler> clientHandlers
      +
      Shared list of all client handlers. +This handler removes itself from the list when disconnected.
      +
      +
      +
    • +
    • +
      +

      limitedMap

      +
      +
      private final LimitedMap<String,Boolean> limitedMap
      +
      Maps each connected player's username to their connection state (true = connected).
      +
      +
      +
    • +
    • +
      +

      actionQueue

      +
      +
      private final BlockingQueue<NetworkEvent> actionQueue
      +
      Queue containing the events to be applied to the game model
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientHandler

      +
      +
      public ClientHandler(String username, + Socket clientSocket, + ObjectOutputStream out, + ObjectInputStream in, + List<ClientHandler> clientHandlers, + LimitedMap<String,Boolean> playersMap, + BlockingQueue<NetworkEvent> actionQueue)
      +
      Class constructor that initializes the attributes.
      +
      +
      Parameters:
      +
      username - the username associated with the client.
      +
      clientSocket - the socket representing the client's TCP connection.
      +
      out - the output stream used to send data to the client.
      +
      in - the input stream used to receive data from the client.
      +
      clientHandlers - the shared list of all active client handlers.
      +
      playersMap - the shared map containing the connected players.
      +
      actionQueue - the queue containing incoming events.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUsername

      +
      +
      public String getUsername()
      +
      Returns the username associated with this client.
      +
      +
      Returns:
      +
      the username associated with this client.
      +
      +
      +
      +
    • +
    • +
      +

      run

      +
      +
      public void run()
      +
      Listens for incoming NetworkEvents from the client and adds them to the actionQueue. +Upon disconnection, this handler removes itself from clientHandlers.
      +
      +
      Specified by:
      +
      run in interface Runnable
      +
      +
      +
      +
    • +
    • +
      +

      notifyEvent

      +
      +
      public void notifyEvent(NetworkEvent event)
      +
      Sends a NetworkEvent to the client.
      +
      +
      Parameters:
      +
      event - The network event to send to the client.
      +
      +
      +
      +
    • +
    • +
      +

      notifyMiniModel

      +
      +
      public void notifyMiniModel(MiniModel game)
      +
      Sends the current game model to this client.
      +
      +
      Parameters:
      +
      game - The current state of the game to send to the client.
      +
      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      public void disconnect()
      +
      Disconnects the client from the server. + +

      The client handler is stopped and removed from the list of active handlers. +The player is marked as disconnected, a DisconnectedPlayer event is +added to the action queue, and the associated socket is closed.

      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/HeartbeatHandler.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/HeartbeatHandler.html new file mode 100644 index 0000000..cccd448 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/HeartbeatHandler.html @@ -0,0 +1,432 @@ + + + + +HeartbeatHandler + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class HeartbeatHandler

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.TCP.Server.HeartbeatHandler
+
+
+
+
All Implemented Interfaces:
+
Runnable
+
+
+
+
public class HeartbeatHandler +extends Object +implements Runnable
+
Handles the heartbeat communication associated with a TCP client. + +

This component listens for heartbeat PING messages from the client, +replies with PONG messages, and periodically checks whether the client +has remained silent for too long. If a timeout or communication error occurs, +both the heartbeat connection and the main client connection are disconnected.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final InputStream
    + +
    +
    Input stream of socket used to receive PING bytes from the client.
    +
    +
    private long
    + +
    +
    Timestamp of the last received heartbeat message.
    +
    +
    private final ClientHandler
    + +
    +
    Main client handler associated with this heartbeat connection.
    +
    +
    private final OutputStream
    + +
    +
    Output stream of socket used to send PONG bytes back to the client.
    +
    +
    private static final int
    + +
    +
    Byte value representing a heartbeat ping message.
    +
    +
    private static final int
    + +
    +
    Byte value representing a heartbeat pong response.
    +
    +
    private boolean
    + +
    +
    Indicates whether the heartbeat handler is still active.
    +
    +
    private final Socket
    + +
    +
    Dedicated socket used solely for heartbeat ping/pong exchange.
    +
    +
    private final String
    + +
    +
    Username of the client associated with this heartbeat connection.
    +
    + + +
    +
    Executor used to periodically check heartbeat timeouts.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    HeartbeatHandler(String username, + Socket socket, + ClientHandler mainHandler)
    +
    +
    Constructs a heartbeat handler for the specified client.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private void
    + +
    +
    Disconnects the heartbeat channel and the associated main client connection.
    +
    +
    void
    +
    run()
    +
    +
    Starts the heartbeat listening loop.
    +
    +
    private void
    + +
    +
    Starts the periodic watchdog task that detects heartbeat timeouts.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      username

      +
      +
      private final String username
      +
      Username of the client associated with this heartbeat connection.
      +
      +
      +
    • +
    • +
      +

      socket

      +
      +
      private final Socket socket
      +
      Dedicated socket used solely for heartbeat ping/pong exchange.
      +
      +
      +
    • +
    • +
      +

      in

      +
      +
      private final InputStream in
      +
      Input stream of socket used to receive PING bytes from the client.
      +
      +
      +
    • +
    • +
      +

      out

      +
      +
      private final OutputStream out
      +
      Output stream of socket used to send PONG bytes back to the client.
      +
      +
      +
    • +
    • +
      +

      PING

      +
      +
      private static final int PING
      +
      Byte value representing a heartbeat ping message.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      PONG

      +
      +
      private static final int PONG
      +
      Byte value representing a heartbeat pong response.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      mainHandler

      +
      +
      private final ClientHandler mainHandler
      +
      Main client handler associated with this heartbeat connection.
      +
      +
      +
    • +
    • +
      +

      lastReceivedTime

      +
      +
      private volatile long lastReceivedTime
      +
      Timestamp of the last received heartbeat message.
      +
      +
      +
    • +
    • +
      +

      running

      +
      +
      private volatile boolean running
      +
      Indicates whether the heartbeat handler is still active.
      +
      +
      +
    • +
    • +
      +

      watchdog

      +
      +
      private final ScheduledExecutorService watchdog
      +
      Executor used to periodically check heartbeat timeouts.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HeartbeatHandler

      +
      +
      public HeartbeatHandler(String username, + Socket socket, + ClientHandler mainHandler) + throws IOException
      +
      Constructs a heartbeat handler for the specified client.
      +
      +
      Parameters:
      +
      username - the username of the connected client.
      +
      socket - the socket dedicated to heartbeat communication.
      +
      mainHandler - the main client handler associated with the same player.
      +
      Throws:
      +
      IOException - if the input or output stream cannot be obtained from the socket.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      run

      +
      +
      public void run()
      +
      Starts the heartbeat listening loop. + +

      The method activates the watchdog task, then waits for incoming heartbeat +messages. When a PING is received, the last-received timestamp is +updated and a PONG response is sent back to the client. +If the stream is closed or an I/O error occurs, the client is disconnected.

      +
      +
      Specified by:
      +
      run in interface Runnable
      +
      +
      +
      +
    • +
    • +
      +

      startWatchdog

      +
      +
      private void startWatchdog()
      +
      Starts the periodic watchdog task that detects heartbeat timeouts. + +

      If no heartbeat message is received within the configured silence threshold, +the associated client is disconnected.

      +
      +
      +
    • +
    • +
      +

      disconnect

      +
      +
      private void disconnect()
      +
      Disconnects the heartbeat channel and the associated main client connection. + +

      The handler is stopped, the watchdog task is terminated, the main +ClientHandler is disconnected, and the heartbeat socket is closed.

      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/TCPServer.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/TCPServer.html new file mode 100644 index 0000000..a96f907 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/TCPServer.html @@ -0,0 +1,467 @@ + + + + +TCPServer + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TCPServer

+
+
java.lang.Object +
it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer
+
+
+
+
+
public class TCPServer +extends Object
+
TCP server responsible for accepting client connections, +handling player registration and reconnection, and sending +game updates to connected clients. + +

The server also manages a dedicated heartbeat channel used +to detect disconnected clients and associate each heartbeat +connection with the corresponding ClientHandler.

+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      port

      +
      +
      private final int port
      +
      Main TCP port used for standard client-server communication.
      +
      +
      +
    • +
    • +
      +

      heartbeatPort

      +
      +
      private final int heartbeatPort
      +
      TCP port dedicated to heartbeat communication.
      +
      +
      +
    • +
    • +
      +

      socketTCP

      +
      +
      private ServerSocket socketTCP
      +
      Main server socket used to accept client connections.
      +
      +
      +
    • +
    • +
      +

      heartbeatSocketTCP

      +
      +
      private ServerSocket heartbeatSocketTCP
      +
      Server socket used to accept heartbeat connections.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private final GameController controller
      +
      Game controller used to manage the server-side game logic.
      +
      +
      +
    • +
    • +
      +

      actionQueue

      +
      +
      private final BlockingQueue<NetworkEvent> actionQueue
      +
      Queue containing network events received from clients.
      +
      +
      +
    • +
    • +
      +

      playerList

      +
      +
      private final LimitedMap<String,Boolean> playerList
      +
      Map storing the online/offline status of connected players.
      +
      +
      +
    • +
    • +
      +

      clientHandlers

      +
      +
      private final CopyOnWriteArrayList<ClientHandler> clientHandlers
      +
      List of active TCP client handlers.
      +
      +
      +
    • +
    • +
      +

      pendingHeartbeat

      +
      +
      private final Map<String, ClientHandler> pendingHeartbeat
      +
      Temporary map associating each username with the corresponding +ClientHandler waiting for its heartbeat connection.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TCPServer

      +
      +
      public TCPServer(GameController controller, + int port, + int heartbeatPort, + BlockingQueue<NetworkEvent> actionQueue, + LimitedMap<String,Boolean> playerList)
      +
      Constructs a TCP server with the required game and network components.
      +
      +
      Parameters:
      +
      controller - the game controller used to manage the game logic.
      +
      port - the main TCP port used for client communication.
      +
      heartbeatPort - the TCP port dedicated to heartbeat connections.
      +
      actionQueue - the queue containing incoming network events.
      +
      playerList - the map storing the connection status of the players.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      +
      public void start()
      +
      Starts the TCP server and begins accepting client connections. + +

      The method opens both the main TCP server socket and the dedicated +heartbeat server socket. It then starts a separate thread for heartbeat +connections and continuously waits for new players or reconnecting clients. + +

      When a new connection is received, the first event must be an +AddPlayer request. Depending on the current server state, +the connection is handled either as a new player joining the game +or as a reconnection attempt.

      +
      +
      +
    • +
    • +
      +

      acceptHeartbeat

      +
      +
      private void acceptHeartbeat()
      +
      Accepts heartbeat connections and associates them with the correct client handler. + +

      Each client immediately sends its username on the heartbeat channel. +The method uses that username to retrieve the pending ClientHandler +and starts a dedicated HeartbeatHandler. If no pending handler is found, +the heartbeat socket is closed.

      +
      +
      +
    • +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(NetworkEvent event)
      +
      Notifies connected TCP clients of a new network event. + +

      If the event does not represent an error, it is sent to all connected clients. +If it represents an error, it is sent only to the client that requested the action.

      +
      +
      Parameters:
      +
      event - the network event to send to the clients.
      +
      +
      +
      +
    • +
    • +
      +

      notifyAll

      +
      +
      public void notifyAll(MiniModel model)
      +
      Notifies all connected TCP clients of a new game model.
      +
      +
      Parameters:
      +
      model - the updated mini model to send to the clients.
      +
      +
      +
      +
    • +
    • +
      +

      createAndRegisterHandler

      +
      +
      private ClientHandler createAndRegisterHandler(String username, + Socket socket, + ObjectOutputStream out, + ObjectInputStream in)
      +
      Creates a ClientHandler, registers it in pendingHeartbeat +and clientHandlers, but does NOT start its thread — callers start +the thread after any extra setup (e.g. sending a model snapshot).
      +
      +
      +
    • +
    • +
      +

      disconnectedUsernames

      +
      +
      private static ArrayList<String> disconnectedUsernames(Game game)
      +
      Returns usernames of players currently marked as disconnected in the given game.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-summary.html new file mode 100644 index 0000000..4cf5044 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-summary.html @@ -0,0 +1,98 @@ + + + + +it.polimi.ingsw.gc14.Network.TCP.Server + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network.TCP.Server

+
+
+
+
package it.polimi.ingsw.gc14.Network.TCP.Server
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Handles the TCP connection with a single client.
    +
    + +
    +
    Handles the heartbeat communication associated with a TCP client.
    +
    + +
    +
    TCP server responsible for accepting client connections, +handling player registration and reconnection, and sending +game updates to connected clients.
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-tree.html new file mode 100644 index 0000000..566cdea --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/TCP/Server/package-tree.html @@ -0,0 +1,76 @@ + + + + +it.polimi.ingsw.gc14.Network.TCP.Server Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network.TCP.Server

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-summary.html new file mode 100644 index 0000000..58c6d5d --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-summary.html @@ -0,0 +1,131 @@ + + + + +it.polimi.ingsw.gc14.Network + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.Network

+
+
+
+
package it.polimi.ingsw.gc14.Network
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-tree.html new file mode 100644 index 0000000..5bc0ef2 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/Network/package-tree.html @@ -0,0 +1,97 @@ + + + + +it.polimi.ingsw.gc14.Network Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.Network

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • it.polimi.ingsw.gc14.Network.IClient
  • +
+
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/SaveManager.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/SaveManager.html new file mode 100644 index 0000000..f886b9f --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/SaveManager.html @@ -0,0 +1,302 @@ + + + + +SaveManager + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class SaveManager

+
+
java.lang.Object +
it.polimi.ingsw.gc14.SaveManager
+
+
+
+
+
public class SaveManager +extends Object
+
Handles persistence of the game model to and from disk. + +

The save file is stored at GameSaves/save.dat relative to the +directory containing the running JAR. The anchor class passed to the +constructor is used to resolve that directory at construction time. + +

All three operations (save(Game), load(), delete()) +are independent and safe to call in any order; missing files are treated +as a normal condition (no save present) rather than an error.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final Path
    + +
    +
    Absolute path of the save file, resolved once at construction.
    +
    +
    private static final String
    + +
    +
    Relative sub-path of the save file inside the JAR directory.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    SaveManager(Class<?> anchorClass)
    +
    +
    Constructs a SaveManager whose save file is located relative +to the JAR directory of the given anchor class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    + +
    +
    Deletes the save file.
    +
    + + +
    +
    Deserializes the game model from disk.
    +
    +
    boolean
    +
    save(Game game)
    +
    +
    Serializes the game model to disk, creating parent directories if needed.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      SAVE_RELATIVE_PATH

      +
      +
      private static final String SAVE_RELATIVE_PATH
      +
      Relative sub-path of the save file inside the JAR directory.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      filePath

      +
      +
      private final Path filePath
      +
      Absolute path of the save file, resolved once at construction.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SaveManager

      +
      +
      public SaveManager(Class<?> anchorClass)
      +
      Constructs a SaveManager whose save file is located relative +to the JAR directory of the given anchor class.
      +
      +
      Parameters:
      +
      anchorClass - the class whose code-source location is used as + the base directory for the save file.
      +
      Throws:
      +
      RuntimeException - if the JAR path cannot be resolved.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      save

      +
      +
      public boolean save(Game game)
      +
      Serializes the game model to disk, creating parent directories if needed.
      +
      +
      Parameters:
      +
      game - the game model to persist.
      +
      Returns:
      +
      true if the save succeeded, false on I/O error.
      +
      +
      +
      +
    • +
    • +
      +

      load

      +
      +
      public Game load()
      +
      Deserializes the game model from disk.
      +
      +
      Returns:
      +
      the saved Game instance, or null if no save file + exists or an I/O error prevents reading.
      +
      Throws:
      +
      RuntimeException - if the serialized class cannot be found on + the classpath (indicates a deployment mismatch).
      +
      +
      +
      +
    • +
    • +
      +

      delete

      +
      +
      public boolean delete()
      +
      Deletes the save file.
      +
      +
      Returns:
      +
      true if the file was deleted, false otherwise + (including when the file did not exist).
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ServerLauncher.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ServerLauncher.html new file mode 100644 index 0000000..7379cca --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/ServerLauncher.html @@ -0,0 +1,325 @@ + + + + +ServerLauncher + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class ServerLauncher

+
+
java.lang.Object +
it.polimi.ingsw.gc14.ServerLauncher
+
+
+
+
+
public class ServerLauncher +extends Object
+
Main server entry point. + +

Responsibilities of this class are intentionally limited to wiring: +it creates all components, connects them together, restores a previously +saved game if one exists, and starts the event-processing loop and the +network servers. + +

All game-logic and event-routing decisions are delegated to +GameEventProcessor; persistence is delegated to SaveManager. + +

The original ServerLauncher class is preserved and untouched. +This class is a clean replacement that uses the new component structure.

+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      eventProcessor

      +
      +
      private final GameEventProcessor eventProcessor
      +
      Drives the main game-event loop.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ServerLauncher

      +
      +
      public ServerLauncher(BlockingQueue<NetworkEvent> actionQueue, + GameController gameController, + LimitedMap<String,Boolean> playerList, + CompositeClientBroadcaster broadcaster, + SaveManager saveManager)
      +
      Constructs a ServerLauncherTest and wires all components together.
      +
      +
      Parameters:
      +
      actionQueue - the shared event queue.
      +
      gameController - the server-side game controller.
      +
      playerList - the shared player-status map.
      +
      broadcaster - the broadcaster used to reach all connected clients.
      +
      saveManager - the save manager used to persist game state.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      +
      static void main(String[] args) + throws RemoteException
      +
      Initializes all server components, wires them together, restores a saved +game if available, and starts the event-processing loop and both network +servers.
      +
      +
      Parameters:
      +
      args - command-line arguments (unused).
      +
      Throws:
      +
      RemoteException - if the RMI server cannot be created.
      +
      +
      +
      +
    • +
    • +
      +

      run

      +
      +
      public void run()
      +
      Runs the event-processing loop until the thread is interrupted. + +

      A ConcurrentModificationException is caught and logged rather

      +
      +
      +
    • +
    • +
      +

      restoreGameIfSaved

      +
      +
      private static void restoreGameIfSaved(GameController gameController, + LimitedMap<String,Boolean> playerList, + SaveManager saveManager)
      +
      Attempts to restore a previously saved game. + +

      The save is discarded if all but at most one player was offline at the +time of the crash, since there would be nobody to resume the game with. +Otherwise, the model is restored, the player-list limit is set, and each +player who was offline at crash time is pre-populated as offline so the +reconnection flow can handle them correctly.

      +
      +
      Parameters:
      +
      gameController - the controller that will receive the restored model.
      +
      playerList - the player-status map to populate.
      +
      saveManager - the save manager to load from.
      +
      +
      +
      +
    • +
    • +
      +

      chooseNetworkInterface

      +
      +
      public static String chooseNetworkInterface(Scanner scanner) + throws Exception
      +
      Lists active non-loopback IPv4 network interfaces and prompts the operator +to choose one. If only one interface is available it is selected automatically.
      +
      +
      Parameters:
      +
      scanner - the scanner used to read the operator's choice.
      +
      Returns:
      +
      the IPv4 address of the selected interface.
      +
      Throws:
      +
      Exception - if no valid network interface is available.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.Particle.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.Particle.html new file mode 100644 index 0000000..151598c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.Particle.html @@ -0,0 +1,527 @@ + + + + +FireParticleSystem.Particle + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class FireParticleSystem.Particle

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.FireParticleSystem.Particle
+
+
+
+
Enclosing class:
+
FireParticleSystem
+
+
+
+
private static class FireParticleSystem.Particle +extends Object
+
A single fire particle with position, velocity, wobble, and JavaFX visual nodes. +Particles are typed: 0 = ember, 1 = spark, 2 = dust.
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    (package private) final javafx.scene.shape.Circle
    + +
    +
    Primary visible circle node.
    +
    +
    (package private) final javafx.scene.shape.Circle
    + +
    +
    Soft glow halo circle behind core; non-null only for embers (type 0).
    +
    +
    (package private) double
    + +
    +
    Remaining life fraction (1.0 = full, 0.0 = dead); only decrements for sparks.
    +
    +
    (package private) final Random
    + +
    +
    Shared random source used during physics updates.
    +
    +
    (package private) final double
    + +
    +
    Visual radius of the particle's core circle.
    +
    +
    (package private) final int
    + +
    +
    Particle type: 0 = ember, 1 = spark, 2 = dust.
    +
    +
    (package private) double
    + +
    +
    Horizontal velocity component.
    +
    +
    (package private) double
    + +
    +
    Vertical velocity component.
    +
    +
    (package private) final double
    + +
    +
    Amplitude factor of the wobble displacement.
    +
    +
    (package private) double
    + +
    +
    Current phase of the sinusoidal wobble.
    +
    +
    (package private) final double
    + +
    +
    Angular speed of the wobble oscillation.
    +
    +
    (package private) double
    + +
    +
    Current X position in scene pixels.
    +
    +
    (package private) double
    + +
    +
    Current Y position in scene pixels.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Particle(double x, + double y, + double w, + double h, + int corner, + Random rnd)
    +
    +
    Initializes the particle at position (x, y) with velocity +aimed roughly from the given corner toward the scene center.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    (package private) void
    +
    addTo(javafx.scene.layout.Pane pane)
    +
    +
    Adds this particle's visual nodes to pane (glow first so core renders on top).
    +
    +
    (package private) boolean
    +
    isDead(double w, + double h)
    +
    +
    Returns true when this particle has left the scene bounds or, for sparks, its life reached zero.
    +
    +
    (package private) void
    +
    removeFrom(javafx.scene.layout.Pane pane)
    +
    +
    Removes this particle's visual nodes from pane.
    +
    +
    (package private) void
    + +
    +
    Advances this particle by one physics step: applies wobble, moves, and decrements spark life.
    +
    +
    (package private) void
    +
    updateVisual(double w, + double h)
    +
    +
    Updates color, opacity, and translate position of this particle's visual nodes +based on distance from scene edges and remaining life.
    +
    +
    private static int
    + +
    +
    Returns a particle type weighted toward embers (55% ember, 23% spark, 22% dust).
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      x

      +
      +
      double x
      +
      Current X position in scene pixels.
      +
      +
      +
    • +
    • +
      +

      y

      +
      +
      double y
      +
      Current Y position in scene pixels.
      +
      +
      +
    • +
    • +
      +

      vx

      +
      +
      double vx
      +
      Horizontal velocity component.
      +
      +
      +
    • +
    • +
      +

      vy

      +
      +
      double vy
      +
      Vertical velocity component.
      +
      +
      +
    • +
    • +
      +

      life

      +
      +
      double life
      +
      Remaining life fraction (1.0 = full, 0.0 = dead); only decrements for sparks.
      +
      +
      +
    • +
    • +
      +

      size

      +
      +
      final double size
      +
      Visual radius of the particle's core circle.
      +
      +
      +
    • +
    • +
      +

      wobblePhase

      +
      +
      double wobblePhase
      +
      Current phase of the sinusoidal wobble.
      +
      +
      +
    • +
    • +
      +

      wobbleSpeed

      +
      +
      final double wobbleSpeed
      +
      Angular speed of the wobble oscillation.
      +
      +
      +
    • +
    • +
      +

      wobbleAmp

      +
      +
      final double wobbleAmp
      +
      Amplitude factor of the wobble displacement.
      +
      +
      +
    • +
    • +
      +

      type

      +
      +
      final int type
      +
      Particle type: 0 = ember, 1 = spark, 2 = dust.
      +
      +
      +
    • +
    • +
      +

      rnd

      +
      +
      final Random rnd
      +
      Shared random source used during physics updates.
      +
      +
      +
    • +
    • +
      +

      core

      +
      +
      final javafx.scene.shape.Circle core
      +
      Primary visible circle node.
      +
      +
      +
    • +
    • +
      +

      glow

      +
      +
      final javafx.scene.shape.Circle glow
      +
      Soft glow halo circle behind core; non-null only for embers (type 0).
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Particle

      +
      +
      Particle(double x, + double y, + double w, + double h, + int corner, + Random rnd)
      +
      Initializes the particle at position (x, y) with velocity +aimed roughly from the given corner toward the scene center.
      +
      +
      Parameters:
      +
      x - spawn X coordinate.
      +
      y - spawn Y coordinate.
      +
      w - scene width (used to compute target direction).
      +
      h - scene height (used to compute target direction).
      +
      corner - spawn corner index: 0 = bottom-left, 1 = bottom-right, 2 = top-left, 3 = top-right.
      +
      rnd - shared random source.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      weightedType

      +
      +
      private static int weightedType(Random rnd)
      +
      Returns a particle type weighted toward embers (55% ember, 23% spark, 22% dust).
      +
      +
      Parameters:
      +
      rnd - the random source.
      +
      Returns:
      +
      particle type: 0, 1, or 2.
      +
      +
      +
      +
    • +
    • +
      +

      addTo

      +
      +
      void addTo(javafx.scene.layout.Pane pane)
      +
      Adds this particle's visual nodes to pane (glow first so core renders on top).
      +
      +
      Parameters:
      +
      pane - the overlay pane to add nodes to.
      +
      +
      +
      +
    • +
    • +
      +

      removeFrom

      +
      +
      void removeFrom(javafx.scene.layout.Pane pane)
      +
      Removes this particle's visual nodes from pane.
      +
      +
      Parameters:
      +
      pane - the overlay pane to remove nodes from.
      +
      +
      +
      +
    • +
    • +
      +

      update

      +
      +
      void update()
      +
      Advances this particle by one physics step: applies wobble, moves, and decrements spark life.
      +
      +
      +
    • +
    • +
      +

      isDead

      +
      +
      boolean isDead(double w, + double h)
      +
      Returns true when this particle has left the scene bounds or, for sparks, its life reached zero.
      +
      +
      Parameters:
      +
      w - scene width.
      +
      h - scene height.
      +
      Returns:
      +
      true if the particle should be removed.
      +
      +
      +
      +
    • +
    • +
      +

      updateVisual

      +
      +
      void updateVisual(double w, + double h)
      +
      Updates color, opacity, and translate position of this particle's visual nodes +based on distance from scene edges and remaining life.
      +
      +
      Parameters:
      +
      w - scene width.
      +
      h - scene height.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.html new file mode 100644 index 0000000..e91be2c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/FireParticleSystem.html @@ -0,0 +1,491 @@ + + + + +FireParticleSystem + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class FireParticleSystem

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.FireParticleSystem
+
+
+
+
+
public class FireParticleSystem +extends Object
+
Ambient fire-particle effect rendered on a transparent overlay pane. + +

Three particle types float from the screen corners toward the center: +

    +
  • embers (type 0) — slow, glowing orange circles with a soft halo.
  • +
  • sparks (type 1) — fast, short-lived bright particles.
  • +
  • dust (type 2) — large, translucent brown drifting circles.
  • +
+ +

Call start() after adding getPane() to the scene graph

+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    private static class 
    + +
    +
    A single fire particle with position, velocity, wobble, and JavaFX visual nodes.
    +
    +
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private static final long
    + +
    +
    Minimum nanoseconds between rendered frames (30 fps cap).
    +
    +
    private long
    + +
    +
    Timestamp (ns) of the last rendered frame.
    +
    +
    private long
    + +
    +
    Timestamp (ns) of the last particle spawn batch.
    +
    +
    private static final int
    + +
    +
    Maximum number of live particles at any given time.
    +
    +
    private final javafx.scene.layout.Pane
    + +
    +
    Mouse-transparent overlay pane that hosts all particle nodes.
    +
    + + +
    +
    Currently live particles.
    +
    +
    private final Random
    + +
    +
    Shared random source for particle initialization and physics noise.
    +
    +
    private final javafx.scene.Scene
    + +
    +
    The scene whose dimensions are used to position and fade particles.
    +
    +
    private static final long
    + +
    +
    Minimum nanoseconds between particle spawn batches.
    +
    +
    private static final int
    + +
    +
    Physics update steps applied per rendered frame (multiplies effective speed).
    +
    +
    private boolean
    + +
    +
    true after the first tick pre-populates the particle pool.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    FireParticleSystem(javafx.scene.Scene scene)
    +
    +
    Creates the particle system bound to the given scene.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    javafx.scene.layout.Pane
    + +
    +
    Returns the transparent overlay pane that holds all particle nodes.
    +
    + +
    spawnParticle(double w, + double h)
    +
    +
    Creates a new particle starting near one of the four screen corners.
    +
    +
    void
    + +
    +
    Starts the animation timer.
    +
    +
    private void
    +
    tick(long now)
    +
    +
    Advances the simulation by one frame: pre-warms on first call, spawns new particles, +steps existing ones, removes dead ones, and updates their visual state.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MAX_PARTICLES

      +
      +
      private static final int MAX_PARTICLES
      +
      Maximum number of live particles at any given time.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      SPAWN_INTERVAL_NS

      +
      +
      private static final long SPAWN_INTERVAL_NS
      +
      Minimum nanoseconds between particle spawn batches.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      FRAME_INTERVAL_NS

      +
      +
      private static final long FRAME_INTERVAL_NS
      +
      Minimum nanoseconds between rendered frames (30 fps cap).
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      STEPS_PER_FRAME

      +
      +
      private static final int STEPS_PER_FRAME
      +
      Physics update steps applied per rendered frame (multiplies effective speed).
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      +
    • +
    • +
      +

      pane

      +
      +
      private final javafx.scene.layout.Pane pane
      +
      Mouse-transparent overlay pane that hosts all particle nodes.
      +
      +
      +
    • +
    • +
      +

      scene

      +
      +
      private final javafx.scene.Scene scene
      +
      The scene whose dimensions are used to position and fade particles.
      +
      +
      +
    • +
    • +
      +

      particles

      +
      +
      private final List<FireParticleSystem.Particle> particles
      +
      Currently live particles.
      +
      +
      +
    • +
    • +
      +

      rnd

      +
      +
      private final Random rnd
      +
      Shared random source for particle initialization and physics noise.
      +
      +
      +
    • +
    • +
      +

      lastSpawn

      +
      +
      private long lastSpawn
      +
      Timestamp (ns) of the last particle spawn batch.
      +
      +
      +
    • +
    • +
      +

      lastFrame

      +
      +
      private long lastFrame
      +
      Timestamp (ns) of the last rendered frame.
      +
      +
      +
    • +
    • +
      +

      warmedUp

      +
      +
      private boolean warmedUp
      +
      true after the first tick pre-populates the particle pool.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FireParticleSystem

      +
      +
      public FireParticleSystem(javafx.scene.Scene scene)
      +
      Creates the particle system bound to the given scene. +The internal overlay pane is transparent and mouse-transparent.
      +
      +
      Parameters:
      +
      scene - the scene whose dimensions are used for particle positioning and fading.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPane

      +
      +
      public javafx.scene.layout.Pane getPane()
      +
      Returns the transparent overlay pane that holds all particle nodes.
      +
      +
      Returns:
      +
      the mouse-transparent Pane overlay.
      +
      +
      +
      +
    • +
    • +
      +

      start

      +
      +
      public void start()
      +
      Starts the animation timer.
      +
      +
      +
    • +
    • +
      +

      tick

      +
      +
      private void tick(long now)
      +
      Advances the simulation by one frame: pre-warms on first call, spawns new particles, +steps existing ones, removes dead ones, and updates their visual state.
      +
      +
      Parameters:
      +
      now - the current timestamp in nanoseconds from the animation timer.
      +
      +
      +
      +
    • +
    • +
      +

      spawnParticle

      +
      +
      private FireParticleSystem.Particle spawnParticle(double w, + double h)
      +
      Creates a new particle starting near one of the four screen corners.
      +
      +
      Parameters:
      +
      w - scene width in pixels.
      +
      h - scene height in pixels.
      +
      Returns:
      +
      the newly constructed FireParticleSystem.Particle.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/GUI.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/GUI.html new file mode 100644 index 0000000..305868c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/GUI.html @@ -0,0 +1,616 @@ + + + + +GUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class GUI

+
+
java.lang.Object +
javafx.application.Application +
it.polimi.ingsw.gc14.View.GUI.GUI
+
+
+
+
+
All Implemented Interfaces:
+
IView
+
+
+
+
public class GUI +extends javafx.application.Application +implements IView
+
JavaFX-based GUI implementation of IView. + +

Manages the primary stage and switches between the login, totem choice, +main game, and leaderboard scenes based on the current game state.

+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class javafx.application.Application

    +javafx.application.Application.Parameters
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private boolean
    + +
    +
    When true, the app re-enters fullscreen automatically after ESC is pressed.
    +
    + + +
    +
    Client controller injected before JavaFX startup.
    +
    + + +
    +
    Controller for the leaderboard FXML scene.
    +
    + + +
    +
    Controller for the login FXML scene.
    +
    + + +
    +
    Controller for the main FXML scene.
    +
    + + +
    +
    Controller for the totem FXML scene.
    +
    +
    private boolean
    + +
    +
    Guards against overlapping fade transitions.
    +
    +
    private javafx.scene.Scene
    + +
    +
    The end-of-game leaderboard scene.
    +
    +
    private javafx.fxml.FXMLLoader
    + +
    +
    FXML loader for the leaderboard scene.
    +
    +
    private javafx.fxml.FXMLLoader
    + +
    +
    FXML loader for the login scene.
    +
    +
    private javafx.fxml.FXMLLoader
    + +
    +
    FXML loader for the main game scene.
    +
    +
    private javafx.fxml.FXMLLoader
    + +
    +
    FXML loader for the totem selection scene.
    +
    +
    private javafx.scene.Scene
    + +
    +
    The login scene.
    +
    +
    private javafx.scene.Scene
    + +
    +
    The main game scene.
    +
    +
    private MiniModel
    + +
    +
    Latest mini model received from the server.
    +
    +
    private javafx.stage.Stage
    + +
    +
    The primary JavaFX stage.
    +
    +
    private javafx.scene.Scene
    + +
    +
    The totem selection scene.
    +
    +
    +
    +

    Fields inherited from class javafx.application.Application

    +STYLESHEET_CASPIAN, STYLESHEET_MODENA
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    GUI()
    +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private void
    +
    fadeToScene(javafx.scene.Scene newScene)
    +
    +
    Performs a black-overlay crossfade from the current scene to newScene.
    +
    +
    void
    + +
    +
    Re-renders the GUI on the JavaFX application thread, switching to the +appropriate scene based on the current game stage.
    +
    +
    void
    + +
    +
    Injects the client controller into this GUI.
    +
    +
    void
    +
    setModel(MiniModel miniModel)
    +
    +
    Updates the local mini model reference used by the GUI.
    +
    +
    void
    +
    showError(ErrorType error, + String message)
    +
    +
    Displays an error on the JavaFX application thread.
    +
    +
    void
    +
    start(javafx.stage.Stage stage)
    +
    +
    JavaFX entry point: loads all FXML scenes, wires up controllers, +configures fullscreen behavior, and shows the login scene.
    +
    +
    private void
    +
    wrapScene(javafx.scene.Scene scene)
    +
    +
    Wraps the current root of scene in a StackPane so that +fade overlay rectangles can be layered over it during scene transitions.
    +
    +
    +
    +
    +
    +

    Methods inherited from class javafx.application.Application

    +getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      primaryStage

      +
      +
      private javafx.stage.Stage primaryStage
      +
      The primary JavaFX stage.
      +
      +
      +
    • +
    • +
      +

      miniModel

      +
      +
      private volatile MiniModel miniModel
      +
      Latest mini model received from the server.
      +
      +
      +
    • +
    • +
      +

      loaderLogin

      +
      +
      private javafx.fxml.FXMLLoader loaderLogin
      +
      FXML loader for the login scene.
      +
      +
      +
    • +
    • +
      +

      loginScene

      +
      +
      private javafx.scene.Scene loginScene
      +
      The login scene.
      +
      +
      +
    • +
    • +
      +

      controllerLogin

      +
      +
      private LoginFXMLController controllerLogin
      +
      Controller for the login FXML scene.
      +
      +
      +
    • +
    • +
      +

      loaderTotem

      +
      +
      private javafx.fxml.FXMLLoader loaderTotem
      +
      FXML loader for the totem selection scene.
      +
      +
      +
    • +
    • +
      +

      totemScene

      +
      +
      private javafx.scene.Scene totemScene
      +
      The totem selection scene.
      +
      +
      +
    • +
    • +
      +

      controllerTotem

      +
      +
      private TotemFXMLController controllerTotem
      +
      Controller for the totem FXML scene.
      +
      +
      +
    • +
    • +
      +

      loaderMain

      +
      +
      private javafx.fxml.FXMLLoader loaderMain
      +
      FXML loader for the main game scene.
      +
      +
      +
    • +
    • +
      +

      mainScene

      +
      +
      private javafx.scene.Scene mainScene
      +
      The main game scene.
      +
      +
      +
    • +
    • +
      +

      controllerMain

      +
      +
      private MainFXMLController controllerMain
      +
      Controller for the main FXML scene.
      +
      +
      +
    • +
    • +
      +

      loaderLeaderboard

      +
      +
      private javafx.fxml.FXMLLoader loaderLeaderboard
      +
      FXML loader for the leaderboard scene.
      +
      +
      +
    • +
    • +
      +

      leaderboardScene

      +
      +
      private javafx.scene.Scene leaderboardScene
      +
      The end-of-game leaderboard scene.
      +
      +
      +
    • +
    • +
      +

      controllerLeaderboard

      +
      +
      private LeaderboardFXMLController controllerLeaderboard
      +
      Controller for the leaderboard FXML scene.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private ClientController controller
      +
      Client controller injected before JavaFX startup.
      +
      +
      +
    • +
    • +
      +

      autoReenterFullscreen

      +
      +
      private boolean autoReenterFullscreen
      +
      When true, the app re-enters fullscreen automatically after ESC is pressed.
      +
      +
      +
    • +
    • +
      +

      isFading

      +
      +
      private boolean isFading
      +
      Guards against overlapping fade transitions.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GUI

      +
      +
      public GUI()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      +
      public void start(javafx.stage.Stage stage) + throws Exception
      +
      JavaFX entry point: loads all FXML scenes, wires up controllers, +configures fullscreen behavior, and shows the login scene.
      +
      +
      Specified by:
      +
      start in class javafx.application.Application
      +
      Parameters:
      +
      stage - the primary stage provided by the JavaFX runtime.
      +
      Throws:
      +
      Exception - if any FXML resource cannot be loaded.
      +
      +
      +
      +
    • +
    • +
      +

      setModel

      +
      +
      public void setModel(MiniModel miniModel)
      +
      Updates the local mini model reference used by the GUI.
      +
      +
      Specified by:
      +
      setModel in interface IView
      +
      Parameters:
      +
      miniModel - the latest mini model received from the server.
      +
      +
      +
      +
    • +
    • +
      +

      setController

      +
      +
      public void setController(ClientController controller)
      +
      Injects the client controller into this GUI.
      +
      +
      Parameters:
      +
      controller - the client controller to use.
      +
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      public void render()
      +
      Re-renders the GUI on the JavaFX application thread, switching to the +appropriate scene based on the current game stage.
      +
      +
      Specified by:
      +
      render in interface IView
      +
      +
      +
      +
    • +
    • +
      +

      wrapScene

      +
      +
      private void wrapScene(javafx.scene.Scene scene)
      +
      Wraps the current root of scene in a StackPane so that +fade overlay rectangles can be layered over it during scene transitions.
      +
      +
      Parameters:
      +
      scene - the scene whose root to wrap.
      +
      +
      +
      +
    • +
    • +
      +

      fadeToScene

      +
      +
      private void fadeToScene(javafx.scene.Scene newScene)
      +
      Performs a black-overlay crossfade from the current scene to newScene. +No-op if already fading or if newScene is already displayed.
      +
      +
      Parameters:
      +
      newScene - the scene to transition to.
      +
      +
      +
      +
    • +
    • +
      +

      showError

      +
      +
      public void showError(ErrorType error, + String message)
      +
      Displays an error on the JavaFX application thread. + +

      If the server crashed, returns to the login scene and re-enables the login button. +Otherwise, delegates to the active scene's error display.

      +
      +
      Specified by:
      +
      showError in interface IView
      +
      Parameters:
      +
      error - the error type.
      +
      message - a human-readable description of the error.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.html new file mode 100644 index 0000000..63c3819 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LeaderboardFXMLController.html @@ -0,0 +1,527 @@ + + + + +LeaderboardFXMLController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class LeaderboardFXMLController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.LeaderboardFXMLController
+
+
+
+
+
public class LeaderboardFXMLController +extends Object
+
FXML controller for the end-of-game leaderboard scene. + +

Displays the final player rankings and a winner/game-over banner.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private Runnable
    + +
    +
    Action run when the player returns to the login screen (disconnect + scene switch).
    +
    + + +
    +
    Client controller for fetching game state and sending actions.
    +
    +
    private static final Map<String, javafx.scene.image.Image>
    + +
    +
    Shared image cache to avoid reloading resources multiple times.
    +
    +
    private javafx.scene.layout.VBox
    + +
    +
    Main vertical container holding the outcome label and ranking rows.
    +
    +
    private javafx.stage.Popup
    + +
    +
    Auto-hiding popup that shows detailed player card information.
    +
    +
    private javafx.scene.layout.VBox
    + +
    +
    Content container inside popup.
    +
    +
    private javafx.scene.layout.VBox
    + +
    +
    Vertical list populated with one HBox row per ranked player.
    +
    +
    private javafx.scene.layout.StackPane
    + +
    +
    Root pane of the leaderboard scene; used to set the background and anchor the popup.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private void
    +
    addHoverZoom(javafx.scene.Node node)
    +
    +
    Scales node to 1.02× on hover and sets a hand cursor.
    +
    +
    private void
    +
    addShadow(javafx.scene.Node node)
    +
    +
    Applies a static drop-shadow to node.
    +
    +
    private javafx.scene.layout.HBox
    +
    createPlayerRow(int position, + Player player)
    +
    +
    Builds a styled leaderboard row showing rank, totem, username, stats, and prestige for player.
    +
    +
    private javafx.scene.layout.HBox
    +
    createStatItem(String iconPath, + String value, + double iconHeight)
    +
    +
    Creates a single icon + label widget for one stat type.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    Creates a compact icon+count stats strip for all card types of player.
    +
    + +
    getPlayerCards(String username, + String type)
    +
    +
    Returns a copy of the named card collection for username.
    +
    +
    void
    + +
    +
    Initializes the scene: loads fonts, sets up the background, and initializes the popup.
    +
    +
    private void
    + +
    +
    Creates and configures the auto-hiding player-detail popup.
    +
    +
    private javafx.scene.image.Image
    + +
    +
    Returns a cached Image for the given classpath path, loading it on first access.
    +
    +
    private void
    + +
    +
    Disconnects the client and invokes the post-game action to return to the login scene.
    +
    +
    private void
    + +
    +
    Opens the player-detail popup showing all cards held by player, grouped by type.
    +
    +
    void
    + +
    +
    Populates the ranking list with the final player standings and shows the outcome banner.
    +
    +
    private void
    + +
    +
    Sets the full-cover background image on the root pane.
    +
    +
    void
    +
    setController(ClientController controller, + Runnable action)
    +
    +
    Injects the client controller, a post-game action, and the login scene reference.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      rootPane

      +
      +
      private javafx.scene.layout.StackPane rootPane
      +
      Root pane of the leaderboard scene; used to set the background and anchor the popup.
      +
      +
      +
    • +
    • +
      +

      mainVBox

      +
      +
      private javafx.scene.layout.VBox mainVBox
      +
      Main vertical container holding the outcome label and ranking rows.
      +
      +
      +
    • +
    • +
      +

      rankingList

      +
      +
      private javafx.scene.layout.VBox rankingList
      +
      Vertical list populated with one HBox row per ranked player.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private ClientController controller
      +
      Client controller for fetching game state and sending actions.
      +
      +
      +
    • +
    • + +
    • +
    • +
      +

      popupContent

      +
      +
      private javafx.scene.layout.VBox popupContent
      +
      Content container inside popup.
      +
      +
      +
    • +
    • +
      +

      imageCache

      +
      +
      private static final Map<String, javafx.scene.image.Image> imageCache
      +
      Shared image cache to avoid reloading resources multiple times.
      +
      +
      +
    • +
    • +
      +

      action

      +
      +
      private Runnable action
      +
      Action run when the player returns to the login screen (disconnect + scene switch).
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LeaderboardFXMLController

      +
      +
      public LeaderboardFXMLController()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      loadImage

      +
      +
      private javafx.scene.image.Image loadImage(String path)
      +
      Returns a cached Image for the given classpath path, loading it on first access.
      +
      +
      +
    • +
    • +
      +

      setController

      +
      +
      public void setController(ClientController controller, + Runnable action)
      +
      Injects the client controller, a post-game action, and the login scene reference.
      +
      +
      Parameters:
      +
      controller - the client controller.
      +
      action - the action to run when the player returns to the login screen.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize()
      +
      Initializes the scene: loads fonts, sets up the background, and initializes the popup.
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      public void render()
      +
      Populates the ranking list with the final player standings and shows the outcome banner.
      +
      +
      +
    • +
    • +
      +

      addHoverZoom

      +
      +
      private void addHoverZoom(javafx.scene.Node node)
      +
      Scales node to 1.02× on hover and sets a hand cursor.
      +
      +
      +
    • +
    • +
      +

      addShadow

      +
      +
      private void addShadow(javafx.scene.Node node)
      +
      Applies a static drop-shadow to node.
      +
      +
      +
    • +
    • +
      +

      createPlayerRow

      +
      +
      private javafx.scene.layout.HBox createPlayerRow(int position, + Player player)
      +
      Builds a styled leaderboard row showing rank, totem, username, stats, and prestige for player.
      +
      +
      +
    • +
    • +
      +

      createStatsBox

      +
      +
      private javafx.scene.layout.HBox createStatsBox(Player player)
      +
      Creates a compact icon+count stats strip for all card types of player.
      +
      +
      +
    • +
    • +
      +

      createStatItem

      +
      +
      private javafx.scene.layout.HBox createStatItem(String iconPath, + String value, + double iconHeight)
      +
      Creates a single icon + label widget for one stat type.
      +
      +
      +
    • +
    • +
      +

      initPopup

      +
      +
      private void initPopup()
      +
      Creates and configures the auto-hiding player-detail popup.
      +
      +
      +
    • +
    • +
      +

      openPlayerPopup

      +
      +
      private void openPlayerPopup(Player player)
      +
      Opens the player-detail popup showing all cards held by player, grouped by type.
      +
      +
      +
    • +
    • +
      +

      getPlayerCards

      +
      +
      private ArrayList<PlayableCard> getPlayerCards(String username, + String type)
      +
      Returns a copy of the named card collection for username.
      +
      +
      +
    • +
    • +
      +

      renderBackground

      +
      +
      private void renderBackground()
      +
      Sets the full-cover background image on the root pane.
      +
      +
      +
    • +
    • +
      +

      onNewGame

      +
      +
      private void onNewGame()
      +
      Disconnects the client and invokes the post-game action to return to the login scene.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LoginFXMLController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LoginFXMLController.html new file mode 100644 index 0000000..f027d08 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/LoginFXMLController.html @@ -0,0 +1,550 @@ + + + + +LoginFXMLController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class LoginFXMLController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.LoginFXMLController
+
+
+
+
+
public class LoginFXMLController +extends Object
+
FXML controller for the login scene. + +

Handles username/IP/player-count input, protocol selection (TCP/RMI), +and initiates the connection to the server.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final javafx.css.PseudoClass
    + +
    +
    CSS pseudo-class applied to the active protocol label.
    +
    +
    private javafx.scene.image.ImageView
    + +
    +
    Background image displayed behind the login form.
    +
    +
    private javafx.scene.control.Button
    + +
    +
    Button that submits the login form.
    +
    +
    private javafx.scene.control.TextField
    + +
    +
    Text field for the server IP address.
    +
    +
    private javafx.scene.control.TextField
    + +
    +
    Text field for the player's username.
    +
    +
    private javafx.scene.control.TextField
    + +
    +
    Text field for the desired number of players.
    +
    + + +
    +
    Client controller used to initiate the connection.
    +
    +
    private javafx.scene.layout.VBox
    + +
    +
    VBox containing the login form controls.
    +
    +
    private boolean
    + +
    +
    true when RMI is selected; false for TCP.
    +
    +
    private javafx.scene.control.Label
    + +
    +
    Label used to show error or success messages.
    +
    +
    private javafx.scene.control.Label
    + +
    +
    Label for the RMI side of the protocol toggle.
    +
    +
    private javafx.scene.control.Label
    + +
    +
    Label for the TCP side of the protocol toggle.
    +
    +
    private javafx.scene.layout.StackPane
    + +
    +
    Toggle container for switching between RMI and TCP.
    +
    +
    private javafx.scene.layout.Region
    + +
    +
    Sliding thumb inside the protocol toggle.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private void
    +
    connect(String nome, + String ip, + int numPlayers, + String localInterface)
    +
    +
    Connects to the server using the selected protocol and transitions to the waiting state on success.
    +
    +
    void
    + +
    +
    Initializes the scene: loads background, sets up animations, and binds input listeners.
    +
    +
    private void
    + +
    +
    Validates form input and starts a background thread to connect to the server.
    +
    +
    void
    + +
    +
    Injects the client controller into this FXML controller.
    +
    +
    void
    +
    showError(ErrorType errorType)
    +
    +
    Displays an error from an ErrorType constant in the login form label.
    +
    +
    void
    + +
    +
    Displays an arbitrary error message in the login form label.
    +
    +
    private void
    + +
    +
    Displays a success message in green in the login form label.
    +
    +
    private void
    + +
    +
    Toggles the selected protocol between RMI and TCP, animating the toggle thumb and updating label styles.
    +
    +
    void
    +
    updateLoginButton(boolean enabled)
    +
    +
    Enables or disables the login button and updates its visual style.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      backgroundImage

      +
      +
      private javafx.scene.image.ImageView backgroundImage
      +
      Background image displayed behind the login form.
      +
      +
      +
    • +
    • +
      +

      campoNome

      +
      +
      private javafx.scene.control.TextField campoNome
      +
      Text field for the player's username.
      +
      +
      +
    • +
    • +
      +

      campoNumPlayers

      +
      +
      private javafx.scene.control.TextField campoNumPlayers
      +
      Text field for the desired number of players.
      +
      +
      +
    • +
    • +
      +

      campoIP

      +
      +
      private javafx.scene.control.TextField campoIP
      +
      Text field for the server IP address.
      +
      +
      +
    • +
    • +
      +

      btnAccedi

      +
      +
      private javafx.scene.control.Button btnAccedi
      +
      Button that submits the login form.
      +
      +
      +
    • +
    • +
      +

      labelErrore

      +
      +
      private javafx.scene.control.Label labelErrore
      +
      Label used to show error or success messages.
      +
      +
      +
    • +
    • +
      +

      formPanel

      +
      +
      private javafx.scene.layout.VBox formPanel
      +
      VBox containing the login form controls.
      +
      +
      +
    • +
    • +
      +

      protocolToggle

      +
      +
      private javafx.scene.layout.StackPane protocolToggle
      +
      Toggle container for switching between RMI and TCP.
      +
      +
      +
    • +
    • +
      +

      toggleThumb

      +
      +
      private javafx.scene.layout.Region toggleThumb
      +
      Sliding thumb inside the protocol toggle.
      +
      +
      +
    • +
    • +
      +

      labelRMI

      +
      +
      private javafx.scene.control.Label labelRMI
      +
      Label for the RMI side of the protocol toggle.
      +
      +
      +
    • +
    • +
      +

      labelTCP

      +
      +
      private javafx.scene.control.Label labelTCP
      +
      Label for the TCP side of the protocol toggle.
      +
      +
      +
    • +
    • +
      +

      isRMI

      +
      +
      private boolean isRMI
      +
      true when RMI is selected; false for TCP.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private ClientController controller
      +
      Client controller used to initiate the connection.
      +
      +
      +
    • +
    • +
      +

      activeProtocolPseudo

      +
      +
      private final javafx.css.PseudoClass activeProtocolPseudo
      +
      CSS pseudo-class applied to the active protocol label.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LoginFXMLController

      +
      +
      public LoginFXMLController()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setController

      +
      +
      public void setController(ClientController controller)
      +
      Injects the client controller into this FXML controller.
      +
      +
      Parameters:
      +
      controller - the client controller to use.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize()
      +
      Initializes the scene: loads background, sets up animations, and binds input listeners.
      +
      +
      +
    • +
    • +
      +

      switchProtocol

      +
      +
      private void switchProtocol()
      +
      Toggles the selected protocol between RMI and TCP, animating the toggle thumb and updating label styles.
      +
      +
      +
    • +
    • +
      +

      onAccediClick

      +
      +
      private void onAccediClick()
      +
      Validates form input and starts a background thread to connect to the server.
      +
      +
      +
    • +
    • +
      +

      updateLoginButton

      +
      +
      public void updateLoginButton(boolean enabled)
      +
      Enables or disables the login button and updates its visual style.
      +
      +
      Parameters:
      +
      enabled - true to enable the button, false to disable it.
      +
      +
      +
      +
    • +
    • +
      +

      connect

      +
      +
      private void connect(String nome, + String ip, + int numPlayers, + String localInterface)
      +
      Connects to the server using the selected protocol and transitions to the waiting state on success.
      +
      +
      +
    • +
    • +
      +

      showError

      +
      +
      public void showError(ErrorType errorType)
      +
      Displays an error from an ErrorType constant in the login form label.
      +
      +
      Parameters:
      +
      errorType - the error to display.
      +
      +
      +
      +
    • +
    • +
      +

      showError

      +
      +
      public void showError(String msg)
      +
      Displays an arbitrary error message in the login form label.
      +
      +
      Parameters:
      +
      msg - the error message to display.
      +
      +
      +
      +
    • +
    • +
      +

      showSuccess

      +
      +
      private void showSuccess(String msg)
      +
      Displays a success message in green in the login form label.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.html new file mode 100644 index 0000000..d5a0695 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/MainFXMLController.html @@ -0,0 +1,984 @@ + + + + +MainFXMLController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class MainFXMLController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.MainFXMLController
+
+
+
+
+
public class MainFXMLController +extends Object
+
FXML controller for the main game scene. + +

Renders the board (upper/lower tribe and building card rows), player stats, +the player's hand, and action buttons (skip, details).

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox holding the board slot and order cards.
    +
    + + +
    +
    Client controller for fetching game state and sending player actions.
    +
    +
    private javafx.scene.control.Button
    + +
    +
    Button that opens the game details popup.
    +
    +
    private final Map<String, javafx.scene.control.Label>
    + +
    +
    Maps each player's username to their current food-value label in the side panel.
    +
    +
    private final Map<String, List<javafx.scene.image.ImageView>>
    + +
    +
    Maps each player's username to their ordered list of card-type icon ImageViews.
    +
    +
    private static final Map<String, javafx.scene.image.Image>
    + +
     
    +
    private javafx.scene.control.Label
    + +
    +
    Label showing the current round number and game stage.
    +
    +
    private boolean
    + +
    +
    true when the last received event was an error response.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox holding the lower tribe card row (and lower building stack).
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    Root HBox containing all main scene elements.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox displaying the local player's card piles.
    +
    +
    private final Map<String, javafx.scene.layout.VBox>
    + +
    +
    Maps each player's username to their player-card VBox in the side panel.
    +
    +
    private javafx.scene.control.ScrollPane
    + +
    +
    Scrollable container holding all player side-panel cards.
    +
    +
    private javafx.stage.Popup
    + +
    +
    Shared popup used for card previews and building selection.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox inside popup that holds the displayed card images.
    +
    +
    private final Map<String, javafx.scene.control.Label>
    + +
    +
    Maps each player's username to their current prestige-value label in the side panel.
    +
    +
    private javafx.scene.control.Button
    + +
    +
    Button that disconnects and closes the client.
    +
    +
    private javafx.scene.control.Button
    + +
    +
    Button that sends a skip-turn command.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox holding the upper tribe card row (and upper building stack).
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private void
    +
    addClip(javafx.scene.image.ImageView img)
    +
    +
    Binds a rounded-rectangle clip to img so its corners are cropped.
    +
    +
    private void
    +
    addHoverZoom(javafx.scene.Node node)
    +
    +
    Scales node to 1.1× on hover and restores on exit; sets a hand cursor.
    +
    +
    private void
    +
    addShadow(javafx.scene.Node node)
    +
    +
    Applies a drop-shadow to node that intensifies on hover.
    +
    +
    private javafx.scene.layout.VBox
    + +
    +
    Builds the side-panel card widget for player with totem, stats, and card-type icons.
    +
    +
    private void
    + +
    +
    Builds the full side panel from scratch, creating a player card for each connected player.
    +
    +
    private javafx.scene.layout.StackPane
    +
    createCard(PlayableCard card, + boolean withZoom, + boolean withShadow, + javafx.scene.layout.Region parent)
    +
    +
    Creates a StackPane for a playable card, scaling its height to a fraction of parent's scene.
    +
    +
    private javafx.scene.layout.StackPane
    +
    createCardPopup(PlayableCard card, + boolean withZoom, + boolean withShadow)
    +
    +
    Creates a fixed-height StackPane card widget suitable for use inside the popup.
    +
    +
    private javafx.scene.layout.StackPane
    + +
    +
    Creates a StackPane containing the order card image for a game of num players.
    +
    +
    private javafx.scene.layout.StackPane
    +
    createSlot(Slot slot, + boolean withZoom, + boolean withShadow)
    +
    +
    Creates a StackPane for a board slot, optionally overlaying the occupying player's totem.
    +
    +
    private void
    + +
    +
    Renders the top card of the lower building stack with a count badge; clicking opens the selection popup.
    +
    +
    private void
    +
    drawMyHandList(ArrayList<? extends PlayableCard> cardList)
    +
    +
    Renders a single card-type pile in the hand area, or an invisible placeholder if the list is empty.
    +
    +
    private void
    + +
    +
    Renders the top card of the upper building stack with a count badge; clicking opens the selection popup.
    +
    + +
    getPlayerCards(String username, + String type)
    +
    +
    Returns a copy of the named card collection for username.
    +
    +
    void
    + +
    +
    Initializes the scene: loads fonts, sets up the popup, and registers input listeners.
    +
    +
    private void
    + +
    +
    Creates and configures the shared card-preview popup container.
    +
    +
    private javafx.scene.image.Image
    + +
    +
    Returns a cached Image for the given classpath path, loading it on first access.
    +
    +
    private void
    + +
    +
    Shows the deck details/rules card in the popup.
    +
    +
    private void
    +
    openPopup(ArrayList<? extends PlayableCard> cardList)
    +
    +
    Populates the popup with non-clickable card images and shows it.
    +
    +
    private void
    + +
    +
    Populates the popup with clickable lower-building cards; clicking one draws it via the controller.
    +
    +
    private void
    + +
    +
    Populates the popup with clickable upper-building cards; clicking one draws it via the controller.
    +
    +
    void
    + +
    +
    Incrementally re-renders only the parts of the scene affected by the last network event.
    +
    +
    private void
    + +
    +
    Sets the full-cover background image on the main HBox container.
    +
    +
    private void
    + +
    +
    Clears the board area and orchestrates deck, order card, and slot-map rendering.
    +
    +
    private void
    + +
    +
    Adds the era-specific deck back image to the board.
    +
    +
    private void
    + +
    +
    Clears and rebuilds the lower tribe row with click handlers for drawing, then appends the lower building stack.
    +
    +
    private void
    + +
    +
    Clears and re-renders all seven card-type piles in the local player's hand area.
    +
    +
    private void
    + +
    +
    Renders the order card and overlays each player's totem at their proportional position.
    +
    +
    private void
    + +
    +
    Adds a clickable slot widget for each entry in the slot-player map.
    +
    +
    private void
    + +
    +
    Clears and rebuilds the upper tribe row with click handlers for drawing, then appends the upper building stack.
    +
    +
    void
    + +
    +
    Injects the client controller and wires up the skip-turn button action.
    +
    +
    void
    +
    setError(boolean error)
    +
    +
    Sets the error flag; called by GUI before delegating to render().
    +
    +
    private void
    + +
    +
    Centers the popup over the current window and makes it visible.
    +
    +
    private void
    + +
    +
    Updates food/prestige labels, current-player highlight, card-icon opacity, and plays error shake if needed.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      playerSide

      +
      +
      private javafx.scene.control.ScrollPane playerSide
      +
      Scrollable container holding all player side-panel cards.
      +
      +
      +
    • +
    • +
      +

      mainHBox

      +
      +
      private javafx.scene.layout.HBox mainHBox
      +
      Root HBox containing all main scene elements.
      +
      +
      +
    • +
    • +
      +

      board

      +
      +
      private javafx.scene.layout.HBox board
      +
      HBox holding the board slot and order cards.
      +
      +
      +
    • +
    • +
      +

      upperList

      +
      +
      private javafx.scene.layout.HBox upperList
      +
      HBox holding the upper tribe card row (and upper building stack).
      +
      +
      +
    • +
    • +
      +

      lowerList

      +
      +
      private javafx.scene.layout.HBox lowerList
      +
      HBox holding the lower tribe card row (and lower building stack).
      +
      +
      +
    • +
    • +
      +

      myHand

      +
      +
      private javafx.scene.layout.HBox myHand
      +
      HBox displaying the local player's card piles.
      +
      +
      +
    • +
    • +
      +

      skipBtn

      +
      +
      private javafx.scene.control.Button skipBtn
      +
      Button that sends a skip-turn command.
      +
      +
      +
    • +
    • +
      +

      detailsBtn

      +
      +
      private javafx.scene.control.Button detailsBtn
      +
      Button that opens the game details popup.
      +
      +
      +
    • +
    • +
      +

      quitBtn

      +
      +
      private javafx.scene.control.Button quitBtn
      +
      Button that disconnects and closes the client.
      +
      +
      +
    • +
    • +
      +

      infoText

      +
      +
      private javafx.scene.control.Label infoText
      +
      Label showing the current round number and game stage.
      +
      +
      +
    • +
    • +
      +

      foodLabels

      +
      +
      private final Map<String, javafx.scene.control.Label> foodLabels
      +
      Maps each player's username to their current food-value label in the side panel.
      +
      +
      +
    • +
    • +
      +

      prestigeLabels

      +
      +
      private final Map<String, javafx.scene.control.Label> prestigeLabels
      +
      Maps each player's username to their current prestige-value label in the side panel.
      +
      +
      +
    • +
    • +
      +

      playerCards

      +
      +
      private final Map<String, javafx.scene.layout.VBox> playerCards
      +
      Maps each player's username to their player-card VBox in the side panel.
      +
      +
      +
    • +
    • +
      +

      iconViews

      +
      +
      private final Map<String, List<javafx.scene.image.ImageView>> iconViews
      +
      Maps each player's username to their ordered list of card-type icon ImageViews.
      +
      +
      +
    • +
    • + +
    • +
    • +
      +

      popupCards

      +
      +
      private javafx.scene.layout.HBox popupCards
      +
      HBox inside popup that holds the displayed card images.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private ClientController controller
      +
      Client controller for fetching game state and sending player actions.
      +
      +
      +
    • +
    • +
      +

      isError

      +
      +
      private boolean isError
      +
      true when the last received event was an error response.
      +
      +
      +
    • +
    • +
      +

      imageCache

      +
      +
      private static final Map<String, javafx.scene.image.Image> imageCache
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MainFXMLController

      +
      +
      public MainFXMLController()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setError

      +
      +
      public void setError(boolean error)
      +
      Sets the error flag; called by GUI before delegating to render().
      +
      +
      Parameters:
      +
      error - true if the last received event was an error response.
      +
      +
      +
      +
    • +
    • +
      +

      loadImage

      +
      +
      private javafx.scene.image.Image loadImage(String path)
      +
      Returns a cached Image for the given classpath path, loading it on first access.
      +
      +
      +
    • +
    • +
      +

      setController

      +
      +
      public void setController(ClientController controller)
      +
      Injects the client controller and wires up the skip-turn button action.
      +
      +
      Parameters:
      +
      controller - the client controller to use.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize()
      +
      Initializes the scene: loads fonts, sets up the popup, and registers input listeners.
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      public void render()
      +
      Incrementally re-renders only the parts of the scene affected by the last network event.
      +
      +
      +
    • +
    • +
      +

      addClip

      +
      +
      private void addClip(javafx.scene.image.ImageView img)
      +
      Binds a rounded-rectangle clip to img so its corners are cropped.
      +
      +
      +
    • +
    • +
      +

      addHoverZoom

      +
      +
      private void addHoverZoom(javafx.scene.Node node)
      +
      Scales node to 1.1× on hover and restores on exit; sets a hand cursor.
      +
      +
      +
    • +
    • +
      +

      addShadow

      +
      +
      private void addShadow(javafx.scene.Node node)
      +
      Applies a drop-shadow to node that intensifies on hover.
      +
      +
      +
    • +
    • +
      +

      buildPlayerCard

      +
      +
      private javafx.scene.layout.VBox buildPlayerCard(Player player)
      +
      Builds the side-panel card widget for player with totem, stats, and card-type icons.
      +
      +
      +
    • +
    • +
      +

      createOrder

      +
      +
      private javafx.scene.layout.StackPane createOrder(String num)
      +
      Creates a StackPane containing the order card image for a game of num players.
      +
      +
      +
    • +
    • +
      +

      createSlot

      +
      +
      private javafx.scene.layout.StackPane createSlot(Slot slot, + boolean withZoom, + boolean withShadow)
      +
      Creates a StackPane for a board slot, optionally overlaying the occupying player's totem.
      +
      +
      +
    • +
    • +
      +

      createCard

      +
      +
      private javafx.scene.layout.StackPane createCard(PlayableCard card, + boolean withZoom, + boolean withShadow, + javafx.scene.layout.Region parent)
      +
      Creates a StackPane for a playable card, scaling its height to a fraction of parent's scene.
      +
      +
      +
    • +
    • +
      +

      buildSidePanel

      +
      +
      private void buildSidePanel()
      +
      Builds the full side panel from scratch, creating a player card for each connected player.
      +
      +
      +
    • +
    • +
      +

      updateSidePanel

      +
      +
      private void updateSidePanel()
      +
      Updates food/prestige labels, current-player highlight, card-icon opacity, and plays error shake if needed.
      +
      +
      +
    • +
    • +
      +

      drawUpperBuilding

      +
      +
      private void drawUpperBuilding()
      +
      Renders the top card of the upper building stack with a count badge; clicking opens the selection popup.
      +
      +
      +
    • +
    • +
      +

      drawLowerBuilding

      +
      +
      private void drawLowerBuilding()
      +
      Renders the top card of the lower building stack with a count badge; clicking opens the selection popup.
      +
      +
      +
    • +
    • +
      +

      drawMyHandList

      +
      +
      private void drawMyHandList(ArrayList<? extends PlayableCard> cardList)
      +
      Renders a single card-type pile in the hand area, or an invisible placeholder if the list is empty.
      +
      +
      +
    • +
    • +
      +

      getPlayerCards

      +
      +
      private ArrayList<PlayableCard> getPlayerCards(String username, + String type)
      +
      Returns a copy of the named card collection for username.
      +
      +
      +
    • +
    • +
      +

      renderUpper

      +
      +
      private void renderUpper()
      +
      Clears and rebuilds the upper tribe row with click handlers for drawing, then appends the upper building stack.
      +
      +
      +
    • +
    • +
      +

      renderLower

      +
      +
      private void renderLower()
      +
      Clears and rebuilds the lower tribe row with click handlers for drawing, then appends the lower building stack.
      +
      +
      +
    • +
    • +
      +

      renderBackground

      +
      +
      private void renderBackground()
      +
      Sets the full-cover background image on the main HBox container.
      +
      +
      +
    • +
    • +
      +

      renderBoard

      +
      +
      private void renderBoard()
      +
      Clears the board area and orchestrates deck, order card, and slot-map rendering.
      +
      +
      +
    • +
    • +
      +

      renderDeck

      +
      +
      private void renderDeck()
      +
      Adds the era-specific deck back image to the board.
      +
      +
      +
    • +
    • +
      +

      renderOrder

      +
      +
      private void renderOrder()
      +
      Renders the order card and overlays each player's totem at their proportional position.
      +
      +
      +
    • +
    • +
      +

      renderSlotMap

      +
      +
      private void renderSlotMap()
      +
      Adds a clickable slot widget for each entry in the slot-player map.
      +
      +
      +
    • +
    • +
      +

      renderMyHand

      +
      +
      private void renderMyHand()
      +
      Clears and re-renders all seven card-type piles in the local player's hand area.
      +
      +
      +
    • +
    • +
      +

      initPopup

      +
      +
      private void initPopup()
      +
      Creates and configures the shared card-preview popup container.
      +
      +
      +
    • +
    • +
      +

      showPopup

      +
      +
      private void showPopup()
      +
      Centers the popup over the current window and makes it visible.
      +
      +
      +
    • +
    • +
      +

      openPopup

      +
      +
      private void openPopup(ArrayList<? extends PlayableCard> cardList)
      +
      Populates the popup with non-clickable card images and shows it.
      +
      +
      +
    • +
    • +
      +

      openPopupUpperBuilding

      +
      +
      private void openPopupUpperBuilding(ArrayList<BuildingCard> cardList)
      +
      Populates the popup with clickable upper-building cards; clicking one draws it via the controller.
      +
      +
      +
    • +
    • +
      +

      openPopupLowerBuilding

      +
      +
      private void openPopupLowerBuilding(ArrayList<BuildingCard> cardList)
      +
      Populates the popup with clickable lower-building cards; clicking one draws it via the controller.
      +
      +
      +
    • +
    • +
      +

      openDetailsPopup

      +
      +
      private void openDetailsPopup()
      +
      Shows the deck details/rules card in the popup.
      +
      +
      +
    • +
    • +
      +

      createCardPopup

      +
      +
      private javafx.scene.layout.StackPane createCardPopup(PlayableCard card, + boolean withZoom, + boolean withShadow)
      +
      Creates a fixed-height StackPane card widget suitable for use inside the popup.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/TotemFXMLController.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/TotemFXMLController.html new file mode 100644 index 0000000..47e55c7 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/TotemFXMLController.html @@ -0,0 +1,449 @@ + + + + +TotemFXMLController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TotemFXMLController

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.GUI.TotemFXMLController
+
+
+
+
+
public class TotemFXMLController +extends Object
+
FXML controller for the totem selection scene. + +

Displays the available totems and lets the current player choose one; +other players see a waiting banner.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private javafx.scene.image.ImageView
    + +
    +
    Background image displayed behind the totem selection grid.
    +
    +
    private javafx.scene.control.Button
    + +
    +
    Button that submits the selected totem to the server.
    +
    + + +
    +
    Client controller for sending the totem choice.
    +
    +
    private javafx.scene.layout.HBox
    + +
    +
    HBox containing the totem card widgets.
    +
    +
    private javafx.scene.layout.StackPane
    + +
    +
    The StackPane frame of the currently selected totem card, or null.
    +
    +
    private int
    + +
    +
    Index of the currently selected totem, or -1 if none selected.
    +
    +
    private javafx.scene.control.Label
    + +
    +
    Banner label showing whose turn it is to choose a totem.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    private javafx.scene.layout.VBox
    +
    buildCard(Totems totem, + int idx, + boolean interactive)
    +
    +
    Builds a totem card widget; if interactive, wires click/hover handlers and selection logic.
    +
    +
    private String
    + +
    +
    Returns the totem name with only the first letter capitalized.
    +
    +
    private String
    +
    frameStyle(boolean selected)
    +
    +
    Returns the CSS style string for the totem card frame, highlighting it when selected.
    +
    +
    void
    + +
    +
    Initializes the scene: sets the background image to fill the screen.
    +
    +
    private String
    +
    nameStyle(boolean selected)
    +
    +
    Returns the CSS style string for the totem name label, brightening it when selected.
    +
    +
    private void
    + +
    +
    Submits the selected totem index to the controller when the confirm button is clicked.
    +
    +
    void
    + +
    +
    Renders the totem selection cards with entry animations.
    +
    +
    void
    + +
    +
    Injects the client controller into this FXML controller.
    +
    +
    private void
    +
    updateBanner(String chooser, + boolean myTurn)
    +
    +
    Updates the turn banner text and style based on whether it is the local player's turn.
    +
    +
    private void
    +
    updateConfirmButton(boolean enabled)
    +
    +
    Enables or disables the confirm button and updates its visual opacity to reflect the state.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      backgroundImage

      +
      +
      private javafx.scene.image.ImageView backgroundImage
      +
      Background image displayed behind the totem selection grid.
      +
      +
      +
    • +
    • +
      +

      mainHBox

      +
      +
      private javafx.scene.layout.HBox mainHBox
      +
      HBox containing the totem card widgets.
      +
      +
      +
    • +
    • +
      +

      turnBanner

      +
      +
      private javafx.scene.control.Label turnBanner
      +
      Banner label showing whose turn it is to choose a totem.
      +
      +
      +
    • +
    • +
      +

      confirmButton

      +
      +
      private javafx.scene.control.Button confirmButton
      +
      Button that submits the selected totem to the server.
      +
      +
      +
    • +
    • +
      +

      controller

      +
      +
      private ClientController controller
      +
      Client controller for sending the totem choice.
      +
      +
      +
    • +
    • +
      +

      selectedIndex

      +
      +
      private int selectedIndex
      +
      Index of the currently selected totem, or -1 if none selected.
      +
      +
      +
    • +
    • +
      +

      selectedFrame

      +
      +
      private javafx.scene.layout.StackPane selectedFrame
      +
      The StackPane frame of the currently selected totem card, or null.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TotemFXMLController

      +
      +
      public TotemFXMLController()
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setController

      +
      +
      public void setController(ClientController controller)
      +
      Injects the client controller into this FXML controller.
      +
      +
      Parameters:
      +
      controller - the client controller to use.
      +
      +
      +
      +
    • +
    • +
      +

      initialize

      +
      +
      public void initialize()
      +
      Initializes the scene: sets the background image to fill the screen.
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      public void render()
      +
      Renders the totem selection cards with entry animations. +Disables interaction for players who are not the current chooser.
      +
      +
      +
    • +
    • +
      +

      updateBanner

      +
      +
      private void updateBanner(String chooser, + boolean myTurn)
      +
      Updates the turn banner text and style based on whether it is the local player's turn.
      +
      +
      +
    • +
    • +
      +

      buildCard

      +
      +
      private javafx.scene.layout.VBox buildCard(Totems totem, + int idx, + boolean interactive)
      +
      Builds a totem card widget; if interactive, wires click/hover handlers and selection logic.
      +
      +
      +
    • +
    • +
      +

      updateConfirmButton

      +
      +
      private void updateConfirmButton(boolean enabled)
      +
      Enables or disables the confirm button and updates its visual opacity to reflect the state.
      +
      +
      +
    • +
    • +
      +

      frameStyle

      +
      +
      private String frameStyle(boolean selected)
      +
      Returns the CSS style string for the totem card frame, highlighting it when selected.
      +
      +
      +
    • +
    • +
      +

      nameStyle

      +
      +
      private String nameStyle(boolean selected)
      +
      Returns the CSS style string for the totem name label, brightening it when selected.
      +
      +
      +
    • +
    • +
      +

      capitalize

      +
      +
      private String capitalize(Totems t)
      +
      Returns the totem name with only the first letter capitalized.
      +
      +
      +
    • +
    • +
      +

      onConfirm

      +
      +
      private void onConfirm()
      +
      Submits the selected totem index to the controller when the confirm button is clicked.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-summary.html new file mode 100644 index 0000000..dc8c86c --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-summary.html @@ -0,0 +1,122 @@ + + + + +it.polimi.ingsw.gc14.View.GUI + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.View.GUI

+
+
+
+
package it.polimi.ingsw.gc14.View.GUI
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-tree.html new file mode 100644 index 0000000..bff069e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/GUI/package-tree.html @@ -0,0 +1,84 @@ + + + + +it.polimi.ingsw.gc14.View.GUI Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.View.GUI

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/IView.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/IView.html new file mode 100644 index 0000000..b256a6e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/IView.html @@ -0,0 +1,173 @@ + + + + +IView + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Interface IView

+
+
+
+
All Known Implementing Classes:
+
GUI, TUI
+
+
+
+
public interface IView
+
View interface implemented by both the TUI and GUI.
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Re-renders the view based on the current mini model state.
    +
    +
    void
    +
    setModel(MiniModel miniModel)
    +
    +
    Updates the view's local copy of the game model.
    +
    +
    void
    +
    showError(ErrorType error, + String message)
    +
    +
    Displays an error message to the user.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setModel

      +
      +
      void setModel(MiniModel miniModel)
      +
      Updates the view's local copy of the game model.
      +
      +
      Parameters:
      +
      miniModel - the latest mini model received from the server.
      +
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      void render()
      +
      Re-renders the view based on the current mini model state.
      +
      +
      +
    • +
    • +
      +

      showError

      +
      +
      void showError(ErrorType error, + String message)
      +
      Displays an error message to the user.
      +
      +
      Parameters:
      +
      error - the error type.
      +
      message - a human-readable description of the error.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/AsciiTable.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/AsciiTable.html new file mode 100644 index 0000000..02c1b87 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/AsciiTable.html @@ -0,0 +1,473 @@ + + + + +AsciiTable + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class AsciiTable

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.TUI.AsciiTable
+
+
+
+
+
public class AsciiTable +extends Object
+
General-purpose helper for building fixed-width ASCII/Unicode tables in a TUI. + +

A table is built by adding rows one at a time, then calling build() +to obtain the fully rendered string. Column width is computed automatically +from the widest cell across all rows. + +

Cell widths are measured in terminal columns, not Java char units: +wide characters (emoji, CJK) count as 2 columns each. + +

Example usage: +

AsciiTable table = new AsciiTable(BorderStyle.UNICODE, 3);
+table.addHeader("Name", "🍖", "⭐");
+table.addRow("Alice", "4", "12");
+table.addRow("Bob",   "2", "8");
+System.out.println(table.build());
+
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final int
    + +
    +
    Number of columns in this table.
    +
    +
    private final List<List<String>>
    + +
    +
    All rows of the table, in insertion order.
    +
    +
    private final BorderStyle
    + +
    +
    Border style used to draw corners, lines, and junctions.
    +
    +
    private final List<Integer>
    + +
    +
    Indices of rows after which a horizontal separator line is drawn.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    AsciiTable(BorderStyle s, + int cols)
    +
    +
    Creates a new empty table with the given border style and column count.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    addHeader(String... cells)
    +
    +
    Inserts a header row at position 0 and marks it with a separator line below it.
    +
    +
    void
    +
    addRow(String... cells)
    +
    +
    Appends a row using varargs cells.
    +
    +
    void
    +
    addRow(List<String> cells)
    +
    +
    Appends a row from an existing list.
    +
    +
    void
    + +
    +
    Marks a separator line to be drawn after the last row added so far.
    +
    + + +
    +
    Renders the table to a multi-line string.
    +
    +
    static int
    + +
    +
    Returns the number of terminal columns required to display s.
    +
    +
    private String
    +
    hline(String l, + String m, + String r, + int maxWidth)
    +
    +
    Builds a single horizontal borderline across all columns.
    +
    +
    private static boolean
    +
    isWide(int cp)
    +
    +
    Returns true when cp is a wide (2-column) character.
    +
    +
    private static String
    +
    rpad(String s, + int w)
    +
    +
    Pads s with trailing spaces so its display width equals w.
    +
    +
    static String
    +
    sideBySide(List<String> left, + List<String> right, + int gap)
    +
    +
    Places two pre-rendered text blocks side by side, separated by a gap.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      s

      +
      +
      private final BorderStyle s
      +
      Border style used to draw corners, lines, and junctions.
      +
      +
      +
    • +
    • +
      +

      cols

      +
      +
      private final int cols
      +
      Number of columns in this table.
      +
      +
      +
    • +
    • +
      +

      rows

      +
      +
      private final List<List<String>> rows
      +
      All rows of the table, in insertion order.
      +
      +
      +
    • +
    • +
      +

      separators

      +
      +
      private final List<Integer> separators
      +
      Indices of rows after which a horizontal separator line is drawn.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AsciiTable

      +
      +
      public AsciiTable(BorderStyle s, + int cols)
      +
      Creates a new empty table with the given border style and column count.
      +
      +
      Parameters:
      +
      s - the border style to use when rendering.
      +
      cols - the number of columns.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addRow

      +
      +
      public void addRow(String... cells)
      +
      Appends a row using varargs cells.
      +
      +
      Parameters:
      +
      cells - one value per column.
      +
      +
      +
      +
    • +
    • +
      +

      addRow

      +
      +
      public void addRow(List<String> cells)
      +
      Appends a row from an existing list.
      +
      +
      Parameters:
      +
      cells - one value per column.
      +
      +
      +
      +
    • +
    • +
      +

      addHeader

      +
      +
      public void addHeader(String... cells)
      +
      Inserts a header row at position 0 and marks it with a separator line below it.
      +
      +
      Parameters:
      +
      cells - one header label per column.
      +
      +
      +
      +
    • +
    • +
      +

      addSeparator

      +
      +
      public void addSeparator()
      +
      Marks a separator line to be drawn after the last row added so far.
      +
      +
      +
    • +
    • +
      +

      build

      +
      +
      public String build()
      +
      Renders the table to a multi-line string. +Column width is the widest cell in display columns (wide chars = 2), plus 1.
      +
      +
      Returns:
      +
      the fully rendered table as a multi-line string.
      +
      +
      +
      +
    • +
    • +
      +

      hline

      +
      +
      private String hline(String l, + String m, + String r, + int maxWidth)
      +
      Builds a single horizontal borderline across all columns.
      +
      +
      Parameters:
      +
      l - left-end character.
      +
      m - middle junction character (between columns).
      +
      r - right-end character.
      +
      maxWidth - width in display columns of each cell (including padding).
      +
      Returns:
      +
      the rendered horizontal line string.
      +
      +
      +
      +
    • +
    • +
      +

      rpad

      +
      +
      private static String rpad(String s, + int w)
      +
      Pads s with trailing spaces so its display width equals w. +If the string is already at or over w columns, it is returned as-is.
      +
      +
      +
    • +
    • +
      +

      sideBySide

      +
      +
      public static String sideBySide(List<String> left, + List<String> right, + int gap)
      +
      Places two pre-rendered text blocks side by side, separated by a gap. +Left-block lines are padded to a uniform display width so the right block +always starts at the same column. Uses displayWidth(String) for measurement.
      +
      +
      Parameters:
      +
      left - lines of the left block.
      +
      right - lines of the right block.
      +
      gap - number of space characters between the two blocks.
      +
      Returns:
      +
      the combined multi-line string.
      +
      +
      +
      +
    • +
    • +
      +

      displayWidth

      +
      +
      public static int displayWidth(String s)
      +
      Returns the number of terminal columns required to display s. +Wide characters (emoji, CJK, full-width) count as 2; all others as 1.
      +
      +
      Parameters:
      +
      s - the string to measure; ANSI escape sequences are stripped before counting.
      +
      Returns:
      +
      the display width in terminal columns.
      +
      +
      +
      +
    • +
    • +
      +

      isWide

      +
      +
      private static boolean isWide(int cp)
      +
      Returns true when cp is a wide (2-column) character. +Covers CJK blocks, Hangul, full-width forms, and emoji (including +the specific emoji used in this project: 🍖 U+1F357, ⭐ U+2B50).
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/BorderStyle.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/BorderStyle.html new file mode 100644 index 0000000..9ee5c11 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/BorderStyle.html @@ -0,0 +1,703 @@ + + + + +BorderStyle + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Enum Class BorderStyle

+
+
java.lang.Object +
java.lang.Enum<BorderStyle> +
it.polimi.ingsw.gc14.View.TUI.BorderStyle
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<BorderStyle>, Constable
+
+
+
+
public enum BorderStyle +extends Enum<BorderStyle>
+
Defines the available border styles used to render AsciiTable +instances in the text-based user interface. + +

Each style stores the characters needed to draw table corners, +horizontal and vertical lines, and junctions.

+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class Enum

    +Enum.EnumDesc<E>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Rounded Unicode border style.
    +
    +
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    private final String
    + +
    +
    Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
    private
    +
    BorderStyle(String tl, + String tr, + String bl, + String br, + String h, + String v, + String ml, + String mr, + String mt, + String mb, + String x, + String sl, + String sr, + String sx)
    +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    bl()
    +
     
    + +
    br()
    +
     
    + +
    h()
    +
     
    + +
    mb()
    +
     
    + +
    mt()
    +
     
    + +
    sl()
    +
     
    + +
    sr()
    +
     
    + +
    sx()
    +
     
    + +
    tl()
    +
     
    + +
    tr()
    +
     
    + +
    v()
    +
     
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static BorderStyle[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ROUNDED

      +
      +
      public static final BorderStyle ROUNDED
      +
      Rounded Unicode border style.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      tl

      +
      +
      private final String tl
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      tr

      +
      +
      private final String tr
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      bl

      +
      +
      private final String bl
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      br

      +
      +
      private final String br
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      h

      +
      +
      private final String h
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      v

      +
      +
      private final String v
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      ml

      +
      +
      private final String ml
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      mr

      +
      +
      private final String mr
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      mt

      +
      +
      private final String mt
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      mb

      +
      +
      private final String mb
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      x

      +
      +
      private final String x
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      sl

      +
      +
      private final String sl
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      sr

      +
      +
      private final String sr
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    • +
      +

      sx

      +
      +
      private final String sx
      +
      Corner (tl/tr/bl/br), line (h/v), outer junction (ml/mr/mt/mb/x), and separator junction (sl/sr/sx) characters.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      +
      public static BorderStyle[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      +
      public static BorderStyle valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
      +
    • +
    • +
      +

      tl

      +
      +
      public String tl()
      +
      +
      Returns:
      +
      the top-left corner character.
      +
      +
      +
      +
    • +
    • +
      +

      tr

      +
      +
      public String tr()
      +
      +
      Returns:
      +
      the top-right corner character.
      +
      +
      +
      +
    • +
    • +
      +

      bl

      +
      +
      public String bl()
      +
      +
      Returns:
      +
      the bottom-left corner character.
      +
      +
      +
      +
    • +
    • +
      +

      br

      +
      +
      public String br()
      +
      +
      Returns:
      +
      the bottom-right corner character.
      +
      +
      +
      +
    • +
    • +
      +

      h

      +
      +
      public String h()
      +
      +
      Returns:
      +
      the horizontal line character.
      +
      +
      +
      +
    • +
    • +
      +

      v

      +
      +
      public String v()
      +
      +
      Returns:
      +
      the vertical line character.
      +
      +
      +
      +
    • +
    • +
      +

      mt

      +
      +
      public String mt()
      +
      +
      Returns:
      +
      the top-middle junction character.
      +
      +
      +
      +
    • +
    • +
      +

      mb

      +
      +
      public String mb()
      +
      +
      Returns:
      +
      the bottom-middle junction character.
      +
      +
      +
      +
    • +
    • +
      +

      sl

      +
      +
      public String sl()
      +
      +
      Returns:
      +
      the separator-left junction character.
      +
      +
      +
      +
    • +
    • +
      +

      sr

      +
      +
      public String sr()
      +
      +
      Returns:
      +
      the separator-right junction character.
      +
      +
      +
      +
    • +
    • +
      +

      sx

      +
      +
      public String sx()
      +
      +
      Returns:
      +
      the separator center junction character.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/TUI.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/TUI.html new file mode 100644 index 0000000..2bb703a --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/TUI.html @@ -0,0 +1,523 @@ + + + + +TUI + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+

Class TUI

+
+
java.lang.Object +
it.polimi.ingsw.gc14.View.TUI.TUI
+
+
+
+
All Implemented Interfaces:
+
IView
+
+
+
+
public class TUI +extends Object +implements IView
+
Text-based User Interface (TUI) implementation of IView. + +

Single render view: board + menu on top, all players' hands in a +responsive grid below. Hands wrap to a new row when their combined width +would exceed the terminal width. + +

All output goes through display(String), which uses +LineReader.printAbove(String) when a JLine reader is set so that the +readline prompt is correctly redrawn after background-thread renders.

+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    private org.jline.reader.LineReader
    + +
    +
    JLine reader — when non-null, all output uses printAbove so the +readline prompt is preserved after background-thread renders.
    +
    +
    private MiniModel
    + +
     
    +
    private org.jline.terminal.Terminal
    + +
    +
    JLine terminal — used to query terminal width for centering and grid layout.
    +
    +
    private String
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    TUI(MiniModel model)
    +
    +
    Constructs a TUI bound to the given model.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the board state as a multi-line string: turn order, upper cards, +offer track, lower cards.
    +
    +
    private String
    + +
    +
    Arranges every player's hand side-by-side, wrapping to a new grid row +whenever the next panel would exceed the terminal width.
    +
    +
    private String
    + +
    +
    Builds the main view: board + menu side by side, followed by all players' +hands arranged in a responsive grid.
    +
    +
    private String
    + +
     
    +
    private String
    + +
     
    +
    private String
    +
    center(String content)
    +
    +
    Horizontally centers each line of content within the terminal width.
    +
    +
    private void
    +
    display(String content)
    +
    +
    Clears the terminal and displays content, horizontally centered.
    +
    +
    private void
    + +
    +
    Prints text above the prompt without clearing the screen.
    +
    +
    void
    + +
    +
    Default render: dispatches to the right view based on game stage.
    +
    +
    void
    + +
    +
    Renders the board + menu (top) and all players' hands in a grid (bottom).
    +
    +
    void
    +
    setLineReader(org.jline.reader.LineReader lineReader)
    +
    +
    Registers the active JLine LineReader.
    +
    +
    void
    + +
    +
    Updates the model stored in this view.
    +
    +
    void
    +
    setUsername(String username)
    +
    +
    Sets the username of the local player.
    +
    +
    void
    +
    showError(ErrorType error, + String message)
    +
    +
    Shows an error message combined with the current board in one display call, +so only one printAbove is issued and the prompt is redrawn correctly.
    +
    +
    private int
    + +
    +
    Returns the display width of a string in terminal columns, stripping ANSI escape codes.
    +
    +
    +
    +
    +
    +

    Methods inherited from class Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      model

      +
      +
      private MiniModel model
      +
      +
      +
    • +
    • +
      +

      username

      +
      +
      private String username
      +
      +
      +
    • +
    • +
      +

      lineReader

      +
      +
      private org.jline.reader.LineReader lineReader
      +
      JLine reader — when non-null, all output uses printAbove so the +readline prompt is preserved after background-thread renders.
      +
      +
      +
    • +
    • +
      +

      terminal

      +
      +
      private org.jline.terminal.Terminal terminal
      +
      JLine terminal — used to query terminal width for centering and grid layout.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TUI

      +
      +
      public TUI(MiniModel model)
      +
      Constructs a TUI bound to the given model.
      +
      +
      Parameters:
      +
      model - the model to display; may be null initially.
      +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setUsername

      +
      +
      public void setUsername(String username)
      +
      Sets the username of the local player.
      +
      +
      Parameters:
      +
      username - the username to assign.
      +
      +
      +
      +
    • +
    • +
      +

      setModel

      +
      +
      public void setModel(MiniModel model)
      +
      Updates the model stored in this view.
      +
      +
      Specified by:
      +
      setModel in interface IView
      +
      Parameters:
      +
      model - the latest mini model to display.
      +
      +
      +
      +
    • +
    • +
      +

      setLineReader

      +
      +
      public void setLineReader(org.jline.reader.LineReader lineReader)
      +
      Registers the active JLine LineReader. +Once set, all output routes through LineReader.printAbove(String) so the +prompt survives background-thread renders.
      +
      +
      Parameters:
      +
      lineReader - the JLine reader to use for output; also provides the terminal reference.
      +
      +
      +
      +
    • +
    • +
      +

      render

      +
      +
      public void render()
      +
      Default render: dispatches to the right view based on game stage.
      +
      +
      Specified by:
      +
      render in interface IView
      +
      +
      +
      +
    • +
    • +
      +

      renderBoard

      +
      +
      public void renderBoard()
      +
      Renders the board + menu (top) and all players' hands in a grid (bottom).
      +
      +
      +
    • +
    • +
      +

      showError

      +
      +
      public void showError(ErrorType error, + String message)
      +
      Shows an error message combined with the current board in one display call, +so only one printAbove is issued and the prompt is redrawn correctly.
      +
      +
      Specified by:
      +
      showError in interface IView
      +
      Parameters:
      +
      error - the error type.
      +
      message - the human-readable message to append.
      +
      +
      +
      +
    • +
    • +
      +

      buildBoardContent

      +
      +
      private String buildBoardContent()
      +
      Builds the main view: board + menu side by side, followed by all players' +hands arranged in a responsive grid.
      +
      +
      +
    • +
    • +
      +

      buildAllHandsContent

      +
      +
      private String buildAllHandsContent()
      +
      Arranges every player's hand side-by-side, wrapping to a new grid row +whenever the next panel would exceed the terminal width.
      +
      +
      +
    • +
    • +
      +

      buildTotemsContent

      +
      +
      private String buildTotemsContent()
      +
      +
      +
    • +
    • +
      +

      buildStandingContent

      +
      +
      private String buildStandingContent()
      +
      +
      +
    • +
    • +
      +

      display

      +
      +
      private void display(String content)
      +
      Clears the terminal and displays content, horizontally centered. + +

      When a JLine LineReader is registered, output is routed through +LineReader.printAbove(String) which pauses readline, prints the content, +and redraws the prompt — safe to call from any thread. +Otherwise, ANSI codes are written directly to stdout.

      +
      +
      +
    • +
    • +
      +

      printLine

      +
      +
      private void printLine(String text)
      +
      Prints text above the prompt without clearing the screen.
      +
      +
      +
    • +
    • +
      +

      center

      +
      +
      private String center(String content)
      +
      Horizontally centers each line of content within the terminal width. +Empty lines are left unpadded. Falls back to the original string when the +terminal width is unknown.
      +
      +
      +
    • +
    • +
      +

      visibleLength

      +
      +
      private int visibleLength(String line)
      +
      Returns the display width of a string in terminal columns, stripping ANSI escape codes.
      +
      +
      +
    • +
    • +
      +

      boardStamp

      +
      +
      public String boardStamp()
      +
      Returns the board state as a multi-line string: turn order, upper cards, +offer track, lower cards.
      +
      +
      Returns:
      +
      multi-line board string.
      +
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-summary.html new file mode 100644 index 0000000..d976c55 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-summary.html @@ -0,0 +1,113 @@ + + + + +it.polimi.ingsw.gc14.View.TUI + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.View.TUI

+
+
+
+
package it.polimi.ingsw.gc14.View.TUI
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    General-purpose helper for building fixed-width ASCII/Unicode tables in a TUI.
    +
    + +
    +
    Defines the available border styles used to render AsciiTable +instances in the text-based user interface.
    +
    + +
    +
    Text-based User Interface (TUI) implementation of IView.
    +
    +
    +
    +
    +
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-tree.html new file mode 100644 index 0000000..83dcc1e --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/TUI/package-tree.html @@ -0,0 +1,89 @@ + + + + +it.polimi.ingsw.gc14.View.TUI Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.View.TUI

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • it.polimi.ingsw.gc14.View.TUI.AsciiTable
    • +
    • it.polimi.ingsw.gc14.View.TUI.TUI (implements it.polimi.ingsw.gc14.View.IView)
    • +
    +
  • +
+
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-summary.html new file mode 100644 index 0000000..fbcc925 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-summary.html @@ -0,0 +1,110 @@ + + + + +it.polimi.ingsw.gc14.View + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14.View

+
+
+
+
package it.polimi.ingsw.gc14.View
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-tree.html new file mode 100644 index 0000000..a4a35c5 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/View/package-tree.html @@ -0,0 +1,70 @@ + + + + +it.polimi.ingsw.gc14.View Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14.View

+
+Package Hierarchies: + +
+

Interface Hierarchy

+
    +
  • it.polimi.ingsw.gc14.View.IView
  • +
+
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-summary.html new file mode 100644 index 0000000..85cafa1 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-summary.html @@ -0,0 +1,138 @@ + + + + +it.polimi.ingsw.gc14 + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Package it.polimi.ingsw.gc14

+
+
+
+
package it.polimi.ingsw.gc14
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-tree.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-tree.html new file mode 100644 index 0000000..8859729 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/it/polimi/ingsw/gc14/package-tree.html @@ -0,0 +1,98 @@ + + + + +it.polimi.ingsw.gc14 Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For Package it.polimi.ingsw.gc14

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/it.polimi.ingsw.gc14/module-summary.html b/deliverables/JAVADOC/it.polimi.ingsw.gc14/module-summary.html new file mode 100644 index 0000000..5747104 --- /dev/null +++ b/deliverables/JAVADOC/it.polimi.ingsw.gc14/module-summary.html @@ -0,0 +1,266 @@ + + + + +it.polimi.ingsw.gc14 + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Module it.polimi.ingsw.gc14

+
+
+
+
module it.polimi.ingsw.gc14
+
+
+ +
+
+
+ + diff --git a/deliverables/JAVADOC/legal/ADDITIONAL_LICENSE_INFO b/deliverables/JAVADOC/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..ff700cd --- /dev/null +++ b/deliverables/JAVADOC/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/deliverables/JAVADOC/legal/ASSEMBLY_EXCEPTION b/deliverables/JAVADOC/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 0000000..4296666 --- /dev/null +++ b/deliverables/JAVADOC/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + https://openjdk.org/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/deliverables/JAVADOC/legal/LICENSE b/deliverables/JAVADOC/legal/LICENSE new file mode 100644 index 0000000..8b400c7 --- /dev/null +++ b/deliverables/JAVADOC/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/deliverables/JAVADOC/legal/dejavufonts.md b/deliverables/JAVADOC/legal/dejavufonts.md new file mode 100644 index 0000000..8c9e3cf --- /dev/null +++ b/deliverables/JAVADOC/legal/dejavufonts.md @@ -0,0 +1,191 @@ +## DejaVu fonts v2.37 + +### DejaVu License +
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
+
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org.
+
+Arev Fonts Copyright
+------------------------------
+
+Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and
+associated documentation files (the "Font Software"), to reproduce
+and distribute the modifications to the Bitstream Vera Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Tavmjong Bah" or the word "Arev".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the
+"Tavmjong Bah Arev" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the name of Tavmjong Bah shall not
+be used in advertising or otherwise to promote the sale, use or other
+dealings in this Font Software without prior written authorization
+from Tavmjong Bah. For further information, contact: tavmjong @ free
+. fr.
+
+TeX Gyre DJV Math
+-----------------
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+
+Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
+(on behalf of TeX users groups) are in public domain.
+
+Letters imported from Euler Fraktur from AMSfonts are (c) American
+Mathematical Society (see below).
+Bitstream Vera Fonts Copyright
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
+is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute,
+and/or sell copies of the Font Software, and to permit persons  to whom
+the Font Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional
+glyphs or characters may be added to the Fonts, only if the fonts are
+renamed
+to names not containing either the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts or
+Font Software
+that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but
+no copy
+of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
+SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE
+THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+Except as contained in this notice, the names of GNOME, the GNOME
+Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the GNOME Foundation or Bitstream Inc., respectively.
+For further information, contact: fonts at gnome dot org.
+
+AMSFonts (v. 2.2) copyright
+
+The PostScript Type 1 implementation of the AMSFonts produced by and
+previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
+available for general use. This has been accomplished through the
+cooperation
+of a consortium of scientific publishers with Blue Sky Research and Y&Y.
+Members of this consortium include:
+
+Elsevier Science IBM Corporation Society for Industrial and Applied
+Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
+
+In order to assure the authenticity of these fonts, copyright will be
+held by
+the American Mathematical Society. This is not meant to restrict in any way
+the legitimate use of the fonts, such as (but not limited to) electronic
+distribution of documents containing these fonts, inclusion of these fonts
+into other public domain or commercial font collections or computer
+applications, use of the outline data to create derivative fonts and/or
+faces, etc. However, the AMS does require that the AMS copyright notice be
+removed from any derivative versions of the fonts which have been altered in
+any way. In addition, to ensure the fidelity of TeX documents using Computer
+Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
+has requested that any alterations which yield different font metrics be
+given a different name.
+
+
diff --git a/deliverables/JAVADOC/legal/jquery.md b/deliverables/JAVADOC/legal/jquery.md new file mode 100644 index 0000000..a763ec6 --- /dev/null +++ b/deliverables/JAVADOC/legal/jquery.md @@ -0,0 +1,26 @@ +## jQuery v3.7.1 + +### jQuery License +``` +jQuery v 3.7.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/deliverables/JAVADOC/legal/jqueryUI.md b/deliverables/JAVADOC/legal/jqueryUI.md new file mode 100644 index 0000000..46bfbaa --- /dev/null +++ b/deliverables/JAVADOC/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.14.1 + +### jQuery UI License +``` +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/deliverables/JAVADOC/member-search-index.js b/deliverables/JAVADOC/member-search-index.js new file mode 100644 index 0000000..a5fae08 --- /dev/null +++ b/deliverables/JAVADOC/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"abortGame()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"acceptHeartbeat()"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"action","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"action","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"actionQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"actionQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"actionQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"actionQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"actionQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"activateEvent(ArrayList)","u":"activateEvent(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"activateEvent(ArrayList)","u":"activateEvent(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"activateEvent(ArrayList)","u":"activateEvent(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"activateEvent(ArrayList)","u":"activateEvent(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"activateEvent(ArrayList)","u":"activateEvent(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"activeProtocolPseudo","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"ADD_PLAYER","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"addClip(ImageView)","u":"addClip(javafx.scene.image.ImageView)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"addFood(int)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"addHeader(String...)","u":"addHeader(java.lang.String...)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"addHoverZoom(Node)","u":"addHoverZoom(javafx.scene.Node)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"addHoverZoom(Node)","u":"addHoverZoom(javafx.scene.Node)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"addPlayer(Player)","u":"addPlayer(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"addPlayer(String)","u":"addPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"AddPlayer","l":"AddPlayer(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"addPrestige(int)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"addRow(List)","u":"addRow(java.util.List)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"addRow(String...)","u":"addRow(java.lang.String...)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"addSeparator()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"addShadow(Node)","u":"addShadow(javafx.scene.Node)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"addShadow(Node)","u":"addShadow(javafx.scene.Node)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"addTo(Pane)","u":"addTo(javafx.scene.layout.Pane)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"AddPlayer","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DisconnectedPlayer","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerBuildingCard","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerTribeCard","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperBuildingCard","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperTribeCard","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"EndedGame","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ReconnectPlayer","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SkipTurn","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SlotChoice","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"apply(GameController)","u":"apply(it.polimi.ingsw.gc14.Controller.GameController)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"AddPlayer","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DisconnectedPlayer","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerBuildingCard","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerTribeCard","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperBuildingCard","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperTribeCard","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"EndedGame","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ReconnectPlayer","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SkipTurn","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SlotChoice","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"apply(MiniModel)","u":"apply(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"applyAndBroadcast(NetworkEvent)","u":"applyAndBroadcast(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building10","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building13","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building8","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"applyEffect(Player)","u":"applyEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"ApplyNextRound(Map, OrderLogicCard, CurrentState, List, ArrayList, ArrayList, ArrayList, ArrayList)","u":"%3Cinit%3E(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"armed","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"ARTIST","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"Artist(int)","u":"%3Cinit%3E(int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"Artist(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"Artist(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"Artist(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"artists","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"AsciiTable(BorderStyle, int)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.View.TUI.BorderStyle,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"autoReenterFullscreen","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"availableTotems","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DisconnectedPlayer","l":"availableTotems","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"availableTotems","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"backgroundImage","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"backgroundImage","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"BASE_FOOD_PER_HUNTER","k":"2"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"bl","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"bl()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"BLUE","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"board","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"board","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"Board(int)","u":"%3Cinit%3E(int)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"boardStamp()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"BorderStyle(String, String, String, String, String, String, String, String, String, String, String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"bought","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"br","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"br()"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"broadcaster","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"broadcastResult(NetworkEvent, Game, int)","u":"broadcastResult(it.polimi.ingsw.gc14.Network.NetworkEvent,it.polimi.ingsw.gc14.Model.Game,int)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"btnAccedi","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"build()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"buildAllHandsContent()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"buildBoardContent()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"buildCard(Totems, int, boolean)","u":"buildCard(it.polimi.ingsw.gc14.Model.Totems,int,boolean)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"buildDisconnectedList(Game)","u":"buildDisconnectedList(it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"BUILDER","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"Builder(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"Builder(int, int, int, int)","u":"%3Cinit%3E(int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"Builder(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"Builder(String, int, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"builders","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"buildGameReader()"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"BUILDING_DETAILS","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"Building0(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"Building0(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"Building1(int, int, int, CharacterType)","u":"%3Cinit%3E(int,int,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"Building1(String, int, int, int, CharacterType)","u":"%3Cinit%3E(java.lang.String,int,int,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building10","l":"Building10(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building10","l":"Building10(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"Building11(int, int, int, CharacterType, int)","u":"%3Cinit%3E(int,int,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"Building11(String, int, int, int, CharacterType, int)","u":"%3Cinit%3E(java.lang.String,int,int,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building13","l":"Building13(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building13","l":"Building13(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"Building4(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"Building4(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"BUILDING5_BONUS_ICONS","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building8","l":"Building8(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building8","l":"Building8(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"BuildingCard(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"BuildingCard(int, int, int, int)","u":"%3Cinit%3E(int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"BuildingCard(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"BuildingCard(String, int, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"BuildingCardDefinition()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"buildingCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"buildingCardsAllEras","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"buildingEffect(Player)","u":"buildingEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"buildPlayerCard(Player)","u":"buildPlayerCard(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"buildPrompt()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"buildSidePanel()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"buildStandingContent()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"buildTotemsContent()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"buy(Player)","u":"buy(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"buy(Player)","u":"buy(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"buy(Player)","u":"buy(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"campoIP","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"campoNome","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"campoNumPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"cancelForfeitTimerIfReconnect(NetworkEvent)","u":"cancelForfeitTimerIfReconnect(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"capitalize(Totems)","u":"capitalize(it.polimi.ingsw.gc14.Model.Totems)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"CARD_SET","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"CAVE_PAINTINGS","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"CavePaintings(int, int, int, int)","u":"%3Cinit%3E(int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"CavePaintings(String, int, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"center(String)","u":"center(java.lang.String)"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"CHARACTER_DETAILS","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"Character(int, CharacterType)","u":"%3Cinit%3E(int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"Character(int, CharacterType, int)","u":"%3Cinit%3E(int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"Character(String, int, CharacterType)","u":"%3Cinit%3E(java.lang.String,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"Character(String, int, CharacterType, int)","u":"%3Cinit%3E(java.lang.String,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"characterType","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"CharacterType()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"chooseNetworkInterface(Scanner)","u":"chooseNetworkInterface(java.util.Scanner)","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"clear()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"clearDisconnected()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"client","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"ClientCallbackImpl","l":"ClientCallbackImpl(ClientController)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"ClientCallbackImpl","l":"clientController","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"ClientController(IView)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.View.IView)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"ClientHandler(String, Socket, ObjectOutputStream, ObjectInputStream, List, LimitedMap, BlockingQueue)","u":"%3Cinit%3E(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream,java.util.List,it.polimi.ingsw.gc14.LimitedMap,java.util.concurrent.BlockingQueue)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"clientHandlers","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"clientHandlers","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherGUI","l":"ClientLauncherGUI()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"ClientLauncherTUI()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"clients","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"clients","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"clientSocket","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building10","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building13","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building8","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"clone()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"clone()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"cols","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"communicationSocket","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"CompositeClientBroadcaster","l":"CompositeClientBroadcaster(RMIServer, TCPServer)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Network.RMI.Server.RMIServer,it.polimi.ingsw.gc14.Network.TCP.Server.TCPServer)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"confirmButton","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"connect(String, int)","u":"connect(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"connect(String, int)","u":"connect(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"connect(String, int)","u":"connect(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"connect(String, String, int, String)","u":"connect(java.lang.String,java.lang.String,int,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"containsInQueue(Player)","u":"containsInQueue(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"containsKey(Object)","u":"containsKey(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"containsValue(Object)","u":"containsValue(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"controller","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"controllerLeaderboard","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"controllerLogin","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"controllerMain","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"controllerTotem","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"core","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"createAndRegisterHandler(String, Socket, ObjectOutputStream, ObjectInputStream)","u":"createAndRegisterHandler(java.lang.String,java.net.Socket,java.io.ObjectOutputStream,java.io.ObjectInputStream)"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"createCard(DecksCreator.BuildingCardDefinition)","u":"createCard(it.polimi.ingsw.gc14.Model.DecksCreator.BuildingCardDefinition)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"createCard(DecksCreator.TribeCardDefinition)","u":"createCard(it.polimi.ingsw.gc14.Model.DecksCreator.TribeCardDefinition)","k":"6"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"createCard(PlayableCard, boolean, boolean, Region)","u":"createCard(it.polimi.ingsw.gc14.Model.PlayableCard,boolean,boolean,javafx.scene.layout.Region)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"createCardPopup(PlayableCard, boolean, boolean)","u":"createCardPopup(it.polimi.ingsw.gc14.Model.PlayableCard,boolean,boolean)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"createOrder(String)","u":"createOrder(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"createPlayerRow(int, Player)","u":"createPlayerRow(int,it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"createSlot(Slot, boolean, boolean)","u":"createSlot(it.polimi.ingsw.gc14.Model.Slot,boolean,boolean)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"createStatItem(String, String, double)","u":"createStatItem(java.lang.String,java.lang.String,double)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"createStatsBox(Player)","u":"createStatsBox(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"currentState","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"currentState","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"currentState","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"CurrentState()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"currentUsername","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"DecksCreator()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"delete()"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"description","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"description","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"detailsBtn","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"disconnect()"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"DISCONNECTED_PLAYER","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"disconnectedPlayer(Player)","u":"disconnectedPlayer(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"disconnectedPlayer(String)","u":"disconnectedPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DisconnectedPlayer","l":"DisconnectedPlayer(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"disconnectedPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"disconnectedPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"disconnectedPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"disconnectedUsernames(Game)","u":"disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"disconnectedUsernames(Game)","u":"disconnectedUsernames(it.polimi.ingsw.gc14.Model.Game)","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"disconnectionTimer","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"disconnectPlayer(String)","u":"disconnectPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"disconnectPlayer(String)","u":"disconnectPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"display(String)","u":"display(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"displayName","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"displayWidth(String)","u":"displayWidth(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"doEvent(NetworkEvent)","u":"doEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"doFirstEvent()"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"doLogin(ClientController)","u":"doLogin(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"doLoginInner(ClientController, LineReader, LineReader)","u":"doLoginInner(it.polimi.ingsw.gc14.Controller.ClientController,org.jline.reader.LineReader,org.jline.reader.LineReader)"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"DRAW_LOWER_BUILD","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"DRAW_LOWER_TRIBE","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"DRAW_UPPER_BUILD","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"DRAW_UPPER_TRIBE","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"drawLowerBuilding()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"drawLowerBuildingCard(int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"drawLowerBuildingCard(String, int)","u":"drawLowerBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerBuildingCard","l":"DrawLowerBuildingCard(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"drawLowerBuildingCardByIndex(Player, int)","u":"drawLowerBuildingCardByIndex(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"drawLowerTribeCard(int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"drawLowerTribeCard(String, int)","u":"drawLowerTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerTribeCard","l":"DrawLowerTribeCard(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"drawLowerTribeCardByIndex(Player, int)","u":"drawLowerTribeCardByIndex(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"drawMyHandList(ArrayList)","u":"drawMyHandList(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"drawUpperBuilding()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"drawUpperBuildingCard(int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"drawUpperBuildingCard(String, int)","u":"drawUpperBuildingCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperBuildingCard","l":"DrawUpperBuildingCard(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"drawUpperBuildingCardByIndex(Player, int)","u":"drawUpperBuildingCardByIndex(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"drawUpperTribeCard(int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"drawUpperTribeCard(String, int)","u":"drawUpperTribeCard(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperTribeCard","l":"DrawUpperTribeCard(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"drawUpperTribeCardByIndex(Player, int)","u":"drawUpperTribeCardByIndex(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"effect(Player, int)","u":"effect(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order2","l":"effect(Player, int)","u":"effect(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order3","l":"effect(Player, int)","u":"effect(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order4","l":"effect(Player, int)","u":"effect(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order5","l":"effect(Player, int)","u":"effect(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"effectId","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"effectId","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"effectType","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"EffectType()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"effectTypeFromId(int)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"ENDED","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"ENDED_GAME","k":"0"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"EndedGame","l":"EndedGame(Map, OrderLogicCard, CurrentState, ArrayList)","u":"%3Cinit%3E(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"endGame()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"endGameForfeit()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"endGameForfeit()"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"endGameForfeit(Game)","u":"endGameForfeit(it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"ENDING","k":"0"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"enrichEvent(NetworkEvent, Game)","u":"enrichEvent(it.polimi.ingsw.gc14.Network.NetworkEvent,it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"enrichWithGameState(Game, ArrayList)","u":"enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DisconnectedPlayer","l":"enrichWithGameState(Game, ArrayList)","u":"enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ReconnectPlayer","l":"enrichWithGameState(Game, ArrayList)","u":"enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"enrichWithGameState(Game, ArrayList)","u":"enrichWithGameState(it.polimi.ingsw.gc14.Model.Game,java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"entrySet()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"era","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"era","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"era","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"era","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"era","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"eraUpdate()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"errorType","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"ErrorType(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"EVENT_DETAILS","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"EventCard(int, EventType)","u":"%3Cinit%3E(int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"EventCard(String, int, EventType)","u":"%3Cinit%3E(java.lang.String,int,it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"eventProcessor","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"eventResolution()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"eventType","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"EventType()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"EventType(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"executor","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"fadeToScene(Scene)","u":"fadeToScene(javafx.scene.Scene)"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"filePath","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"FINAL","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"FireParticleSystem(Scene)","u":"%3Cinit%3E(javafx.scene.Scene)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"food","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"FOOD_PER_CHARACTER_SET","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"FOOD_PER_GATHERER","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"FOOD_PER_INVENTOR_PAIR","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"foodLabels","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"foodValue","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"formPanel","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"FRAME_INTERVAL_NS","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"frameStyle(boolean)"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"GAME_ALREADY_STARTED","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"Game()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"Game(int)","u":"%3Cinit%3E(int)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"gameController","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"GameController()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"GameController(Game)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Model.Game)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"GameEventProcessor(BlockingQueue, GameController, LimitedMap, CompositeClientBroadcaster, SaveManager)","u":"%3Cinit%3E(java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.Controller.GameController,it.polimi.ingsw.gc14.LimitedMap,it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster,it.polimi.ingsw.gc14.SaveManager)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"gameReader","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"gameStage","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"GameStages(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"gameStageUpdate(GameStages)","u":"gameStageUpdate(it.polimi.ingsw.gc14.Model.GamePackage.GameStages)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"GATHERER","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"Gatherer(int)","u":"%3Cinit%3E(int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"Gatherer(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"Gatherer(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"Gatherer(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"gatherers","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"generateTribeDeck(int)"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"GENERIC_ERROR","k":"0"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"get(Object)","u":"get(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getArtists()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getAvailableTotems()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getBoard()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getBuilders()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getBuildingCards()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"getClient()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getCurrentPlayer()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getCurrentPlayerNumber()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getCurrentState()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getDisconnectedPlayers()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"getEffectId()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"getEffectType()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getEra()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getEra()"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"getEra()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"getErrorType()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"getEventType()"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"getFirst()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"getFood()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getFoodValue()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getGameStage()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getGatherers()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getHunters()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"getIcon()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"getIcon()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"getIcon()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"getIcon()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"getIcon()"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"getIdIMG()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getInventors()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getLowerListBuilding()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getLowerListBuilding()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getLowerListTribe()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getLowerListTribeCards()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"getMiniModel()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"getModel()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"getMyUsername()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getNLower()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"getNLower()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"getNMin()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"getNMinPlayer()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getNPlayers()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getNType(CharacterType)","u":"getNType(it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getNUpper()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"getNUpper()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getOrderLogicCard()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"getPane()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getPendingEvents()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"getPlayer()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getPlayerByUsername(String)","u":"getPlayerByUsername(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"getPlayerCards(String, String)","u":"getPlayerCards(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"getPlayerCards(String, String)","u":"getPlayerCards(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"getPlayerList()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getPlayers()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getPlayerStanding()"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"getPosition(String)","u":"getPosition(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"getPositionByUsername(String)","u":"getPositionByUsername(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"getPrestigeDebt()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"getPrestigeMul()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"getPrestigeMultiplier()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"getPrestigeToAdd()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"getPrestigeToRemove()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"getPrestigeValue()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"getPrestigeValue()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getPrestigeValue()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"getPrice()"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"AddPlayer","l":"getProposedNPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"getReductionValue()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getRound()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getShamans()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"getSlot()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"getSlotId()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getSlotList()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getSlotMap()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getTotCharacters()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getTotem()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getTribeDeckSize()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"getType()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"getType()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getUpperListBuilding()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getUpperListBuilding()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"getUpperListTribe()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"getUpperListTribeCards()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"getUsername()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"getUsername()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"getUserName()"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"getView()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"glow","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"GUI()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherGUI.GUIApp","l":"GUIApp()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"h","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"h()"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"handleCommand(String, ClientController)","u":"handleCommand(java.lang.String,it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"handleDraw(String[], ClientController)","u":"handleDraw(java.lang.String[],it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"handleInactiveGame(NetworkEvent)","u":"handleInactiveGame(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"handleRender()"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"handleSuspendedGame(NetworkEvent)","u":"handleSuspendedGame(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"hasDrawableDown()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"hasDrawableUp()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"hashCode()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"hashCode()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"HEARTBEAT_PORT","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"HeartbeatHandler(String, Socket, ClientHandler)","u":"%3Cinit%3E(java.lang.String,java.net.Socket,it.polimi.ingsw.gc14.Network.TCP.Server.ClientHandler)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"heartbeatIn","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"heartbeatLoop()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"heartbeatOut","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"heartbeatPort","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"heartbeatPort","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"heartbeatSocket","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"heartbeatSocketTCP","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"hline(String, String, String, int)","u":"hline(java.lang.String,java.lang.String,java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"host","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"host","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"hostname","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"HUNT","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"Hunt(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"Hunt(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"HUNTER","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"Hunter(int, boolean)","u":"%3Cinit%3E(int,boolean)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"Hunter(int, boolean, int)","u":"%3Cinit%3E(int,boolean,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"Hunter(String, int, boolean)","u":"%3Cinit%3E(java.lang.String,int,boolean)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"Hunter(String, int, boolean, int)","u":"%3Cinit%3E(java.lang.String,int,boolean,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"hunters","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"icon","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"icon","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"icon","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"icon","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"iconViews","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"id","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"id","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"idIMG","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"imageCache","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"imageCache","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"in","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"in","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"infoText","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"init()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"initialize()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"initialize()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"initialize()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"initialize()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"initialize(Player)","u":"initialize(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"initialize(Player)","u":"initialize(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"initPopup()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"initPopup()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"insert(Player)","u":"insert(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Network","c":"InterfaceResolver","l":"InterfaceResolver()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"INVALID_USERNAME","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"INVENTOR","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"INVENTOR_PAIR","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"Inventor(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"Inventor(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"Inventor(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"Inventor(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"inventors","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"isDead(double, double)","u":"isDead(double,double)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"isEmpty()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"isError","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"isError","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"isError()"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"isEvent","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"isEventCard","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"isEventCard()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"isFading","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"isGameActive()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"isPlayed()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"isRMI","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"isSuspended()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"isWide(int)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"joinGame(String, int, IClientCallback)","u":"joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"joinGame(String, int, IClientCallback)","u":"joinGame(java.lang.String,int,it.polimi.ingsw.gc14.Network.RMI.Common.IClientCallback)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"KEEPALIVE_INTERVAL_MS","k":"2"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"keySet()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"labelErrore","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"labelRMI","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"labelTCP","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"lastEvent","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"lastFrame","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"lastPingTime","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"lastReceivedTime","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"lastSpawn","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"LeaderboardFXMLController()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"leaderboardScene","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"life","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"limit","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"limitedMap","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"LimitedMap(int, Runnable)","u":"%3Cinit%3E(int,java.lang.Runnable)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"lineReader","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"load()"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"loadBuildingDeck(String)","u":"loadBuildingDeck(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"loadBuildingDeckByEra(int)","k":"6"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"loaderLeaderboard","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"loaderLogin","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"loaderMain","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"loaderTotem","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"loadImage(String)","u":"loadImage(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"loadImage(String)","u":"loadImage(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"loadSlotDeck()","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"loadTribeDeck(String)","u":"loadTribeDeck(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator","l":"loadTribeDeckByEra(int)","k":"6"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"LoginFXMLController()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"loginScene","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"lowerDrawn()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"lowerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"lowerListBuilding","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"lowerListBuildingCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"lowerListBuildingCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"lowerListTribe","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"lowerListTribeCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"lowerListTribeCards","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherGUI","l":"main(String[])","u":"main(java.lang.String[])","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"main(String[])","u":"main(java.lang.String[])","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"main(String[])","u":"main(java.lang.String[])","k":"6"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"MainFXMLController()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"mainHandler","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"mainHBox","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"mainHBox","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"mainPort","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"mainScene","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"mainVBox","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"map","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"markAsPlayed()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"MAX_PARTICLES","k":"2"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"MAX_PLAYERS","k":"2"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"MAX_USERNAME_LENGTH","k":"2"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"mb","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"mb()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"MIN_PLAYERS","k":"2"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"miniModel","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"miniModel","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"MiniModel(Map, OrderLogicCard, CurrentState, List, List, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList)","u":"%3Cinit%3E(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List,java.util.List,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"ml","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"model","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"model","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"mr","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"mt","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"mt()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"myHand","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"myIp","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"myUsername","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"nameStyle(boolean)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"NetworkConfig()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"NetworkEvent(String, EventType, boolean, ErrorType)","u":"%3Cinit%3E(java.lang.String,it.polimi.ingsw.gc14.Network.EventType,boolean,it.polimi.ingsw.gc14.ErrorType)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"NEXT_ROUND","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"nextEra()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"nextPlayerSetup()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"nextRound()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"nextRound()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"nLower","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"nLower","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"nLower","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"nMin","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"nMinPlayer","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"CompositeClientBroadcaster","l":"notifyAll(MiniModel)","u":"notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"notifyAll(MiniModel)","u":"notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"notifyAll(MiniModel)","u":"notifyAll(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network","c":"CompositeClientBroadcaster","l":"notifyAll(NetworkEvent)","u":"notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"notifyAll(NetworkEvent)","u":"notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"notifyAll(NetworkEvent)","u":"notifyAll(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"notifyDisconnection()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"notifyDisconnection()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"notifyDisconnection()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"notifyEvent(NetworkEvent)","u":"notifyEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"notifyMiniModel(MiniModel)","u":"notifyMiniModel(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"nPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"nPort","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"nPrestigeMul","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"nPrestigeRem","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"nTotem","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"numPair","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"numSet","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"nUpper","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"nUpper","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"ON_END_TURN","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"ON_EVENT","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"ON_ROUND_END","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"onAccediClick()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"ClientCallbackImpl","l":"onAction(NetworkEvent)","u":"onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IClientCallback","l":"onAction(NetworkEvent)","u":"onAction(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"onConfirm()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"ClientCallbackImpl","l":"onGameInit(MiniModel)","u":"onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IClientCallback","l":"onGameInit(MiniModel)","u":"onGameInit(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"onlinePlayerCount()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"onNewGame()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"openDetailsPopup()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"openPlayerPopup(Player)","u":"openPlayerPopup(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"openPopup(ArrayList)","u":"openPopup(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"openPopupLowerBuilding(ArrayList)","u":"openPopupLowerBuilding(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"openPopupUpperBuilding(ArrayList)","u":"openPopupUpperBuilding(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"OPT_CARD_E","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"optionalCardQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"ORANGE","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order2","l":"Order2(ArrayList)","u":"%3Cinit%3E(java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order3","l":"Order3(ArrayList)","u":"%3Cinit%3E(java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order4","l":"Order4(ArrayList)","u":"%3Cinit%3E(java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order5","l":"Order5(ArrayList)","u":"%3Cinit%3E(java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"orderLogicCard","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"orderLogicCard","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"orderLogicCard","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"OrderLogicCard(ArrayList)","u":"%3Cinit%3E(java.util.ArrayList)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"OrderPlayer(Player, boolean)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Model.Player,boolean)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"out","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"out","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"pane","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"params","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"params","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"parsePos(String[], int)","u":"parsePos(java.lang.String[],int)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"Particle(double, double, double, double, int, Random)","u":"%3Cinit%3E(double,double,double,double,int,java.util.Random)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"particles","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"pendingHeartbeat","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"PING","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"PING","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"ping(String)","u":"ping(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"ping(String)","u":"ping(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"pingSender","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"PlayableCard(int)","u":"%3Cinit%3E(int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"PlayableCard(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"played","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"player","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"player","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"Player(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"playerCards","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"playerList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"players","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"players","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"playerSide","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"playersList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"playerStanding","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"playerUpdate(Player, Slot)","u":"playerUpdate(it.polimi.ingsw.gc14.Model.Player,it.polimi.ingsw.gc14.Model.Slot)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"PONG","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"PONG","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"popup","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"popup","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"popupCards","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"popupContent","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"port","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"port","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerBuildingCard","l":"pos","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawLowerTribeCard","l":"pos","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperBuildingCard","l":"pos","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"DrawUpperTribeCard","l":"pos","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SlotChoice","l":"pos","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building13","l":"PRESTIGE_AWARD","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building10","l":"PRESTIGE_PER_CHARACTER_SET","k":"2"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"prestigeDebt","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"prestigeLabels","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"prestigeMul","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"prestigeMultiplier","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"prestigeToAdd","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"prestigeToRemove","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"prestigeValue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"prestigeValue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"prestigeValue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"prestigeValue","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"price","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.BuildingCardDefinition","l":"price","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"primaryStage","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"printLine(String)","u":"printLine(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"AddPlayer","l":"proposedNPlayer","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"protocolToggle","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"pull()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building0","l":"purchased","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building4","l":"purchased","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"PURPLE","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"push(Player)","u":"push(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"pushNoEffect(Player)","u":"pushNoEffect(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"put(K, V)","u":"put(K,V)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"putAll(Map)","u":"putAll(java.util.Map)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"quitBtn","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"rankingList","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"receiveMessage()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"receivePing()"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"RECONNECT_PLAYER","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"reconnectPlayer(Player)","u":"reconnectPlayer(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"reconnectPlayer(String)","u":"reconnectPlayer(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ReconnectPlayer","l":"ReconnectPlayer(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"reductionValue","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"rejectEvent(NetworkEvent)","u":"rejectEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"remove(Object)","u":"remove(java.lang.Object)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"removeFood(int)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"removeFrom(Pane)","u":"removeFrom(javafx.scene.layout.Pane)"},{"p":"it.polimi.ingsw.gc14.Model","c":"OrderLogicCard","l":"removeFromQueue(Player)","u":"removeFromQueue(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"removeLowerBuildingCard(BuildingCard)","u":"removeLowerBuildingCard(it.polimi.ingsw.gc14.Model.Cards.BuildingCard)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"removeLowerBuildingCard(int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"removeLowerTribeCard(int)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"removeLowerTribeCard(TribeCard)","u":"removeLowerTribeCard(it.polimi.ingsw.gc14.Model.Cards.TribeCard)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"removeOfflinePlayers()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"removePrestige(int)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"removeUpperBuildingCard(BuildingCard)","u":"removeUpperBuildingCard(it.polimi.ingsw.gc14.Model.Cards.BuildingCard)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"removeUpperBuildingCard(int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"removeUpperTribeCard(int)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"removeUpperTribeCard(TribeCard)","u":"removeUpperTribeCard(it.polimi.ingsw.gc14.Model.Cards.TribeCard)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"render()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"render()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"render()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"render()"},{"p":"it.polimi.ingsw.gc14.View","c":"IView","l":"render()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"render()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"renderBackground()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderBackground()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderBoard()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"renderBoard()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderDeck()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderLower()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderMyHand()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderOrder()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderSlotMap()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"renderUpper()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"RES_ACTIONS","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"RES_EVENT","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"InterfaceResolver","l":"resolveLocalInterface(String)","u":"resolveLocalInterface(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"restoreGameIfSaved(GameController, LimitedMap, SaveManager)","u":"restoreGameIfSaved(it.polimi.ingsw.gc14.Controller.GameController,it.polimi.ingsw.gc14.LimitedMap,it.polimi.ingsw.gc14.SaveManager)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"RMI_PORT","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"RMIClient(ClientController, String, int, String)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"RMIHeartbeat(String, LimitedMap, Map, BlockingQueue)","u":"%3Cinit%3E(java.lang.String,it.polimi.ingsw.gc14.LimitedMap,java.util.Map,java.util.concurrent.BlockingQueue)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network","c":"CompositeClientBroadcaster","l":"rmiServer","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"RMIServer(GameController, int, BlockingQueue, LimitedMap, String)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Controller.GameController,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap,java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"rnd","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"rnd","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"rootPane","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"round","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"ROUNDED","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"roundUpdate()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"rows","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"rpad(String, int)","u":"rpad(java.lang.String,int)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"run()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"run()"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"run()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"running","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"running","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"running","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"running","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"running","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"s","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"safeQuit(ClientController)","u":"safeQuit(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14.Network","c":"InterfaceResolver","l":"sameSubnet(InetAddress, InetAddress, int)","u":"sameSubnet(java.net.InetAddress,java.net.InetAddress,int)","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"SAVE_RELATIVE_PATH","k":"2"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"save(Game)","u":"save(it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"saveManager","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"SaveManager","l":"SaveManager(Class)","u":"%3Cinit%3E(java.lang.Class)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"scene","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"selectedFrame","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"selectedIndex","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"separators","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"SERVER_CRASHED","k":"0"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"SERVER_UNREACHABLE","k":"0"},{"p":"it.polimi.ingsw.gc14","c":"ServerLauncher","l":"ServerLauncher(BlockingQueue, GameController, LimitedMap, CompositeClientBroadcaster, SaveManager)","u":"%3Cinit%3E(java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.Controller.GameController,it.polimi.ingsw.gc14.LimitedMap,it.polimi.ingsw.gc14.Network.CompositeClientBroadcaster,it.polimi.ingsw.gc14.SaveManager)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"setAction(Runnable)","u":"setAction(java.lang.Runnable)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setAvailableTotems(List)","u":"setAvailableTotems(java.util.List)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"setClient(IClient)","u":"setClient(it.polimi.ingsw.gc14.Network.IClient)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"setController(ClientController)","u":"setController(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"setController(ClientController)","u":"setController(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"setController(ClientController)","u":"setController(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"setController(ClientController)","u":"setController(it.polimi.ingsw.gc14.Controller.ClientController)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LeaderboardFXMLController","l":"setController(ClientController, Runnable)","u":"setController(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.Runnable)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setCurrentState(CurrentState)","u":"setCurrentState(it.polimi.ingsw.gc14.Model.GamePackage.CurrentState)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"setData(Map, OrderLogicCard, CurrentState, List)","u":"setData(java.util.Map,it.polimi.ingsw.gc14.Model.OrderLogicCard,it.polimi.ingsw.gc14.Model.GamePackage.CurrentState,java.util.List)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setDisconnectedPlayers(ArrayList)","u":"setDisconnectedPlayers(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"setError(boolean)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"setErrorType(ErrorType)","u":"setErrorType(it.polimi.ingsw.gc14.ErrorType)"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"setIsError(boolean)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setLastEvent(NetworkEvent)","u":"setLastEvent(it.polimi.ingsw.gc14.Network.NetworkEvent)"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"setLimit(int)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"setLineReader(LineReader)","u":"setLineReader(org.jline.reader.LineReader)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setLowerListBuildingCards(ArrayList)","u":"setLowerListBuildingCards(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setLowerListTribeCards(ArrayList)","u":"setLowerListTribeCards(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"setModel(Game)","u":"setModel(it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"setModel(MiniModel)","u":"setModel(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"setModel(MiniModel)","u":"setModel(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.View","c":"IView","l":"setModel(MiniModel)","u":"setModel(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"setModel(MiniModel)","u":"setModel(it.polimi.ingsw.gc14.Model.MiniModel)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"setMyUsername(String)","u":"setMyUsername(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"setNPlayer(int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setOrderLogicCard(OrderLogicCard)","u":"setOrderLogicCard(it.polimi.ingsw.gc14.Model.OrderLogicCard)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setPlayers(List)","u":"setPlayers(java.util.List)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setSlotPlayerMap(Map)","u":"setSlotPlayerMap(java.util.Map)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setStandingPlayers(List)","u":"setStandingPlayers(java.util.List)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"setTotem(Totems)","u":"setTotem(it.polimi.ingsw.gc14.Model.Totems)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setUpperListBuildingCards(ArrayList)","u":"setUpperListBuildingCards(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"setUpperListTribeCards(ArrayList)","u":"setUpperListTribeCards(java.util.ArrayList)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"SHAMAN","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"Shaman(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"Shaman(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"Shaman(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"Shaman(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"SHAMANIC_RITUAL","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"ShamanicRitual(int, int, int)","u":"%3Cinit%3E(int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"ShamanicRitual(String, int, int, int)","u":"%3Cinit%3E(java.lang.String,int,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"shamans","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"showError(ErrorType)","u":"showError(it.polimi.ingsw.gc14.ErrorType)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"showError(ErrorType, String)","u":"showError(it.polimi.ingsw.gc14.ErrorType,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View","c":"IView","l":"showError(ErrorType, String)","u":"showError(it.polimi.ingsw.gc14.ErrorType,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"showError(ErrorType, String)","u":"showError(it.polimi.ingsw.gc14.ErrorType,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"showError(String)","u":"showError(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"showPopup()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"showSuccess(String)","u":"showSuccess(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"AsciiTable","l":"sideBySide(List, List, int)","u":"sideBySide(java.util.List,java.util.List,int)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"SILENCE_THRESHOLD_MS","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"size","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"size()"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"SKIP_TURN","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"skipBtn","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"skipTurn()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"skipTurn(Player)","u":"skipTurn(it.polimi.ingsw.gc14.Model.Player)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"skipTurn(String)","u":"skipTurn(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SkipTurn","l":"SkipTurn(String)","u":"%3Cinit%3E(java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sl","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sl()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"slot","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"SLOT_CHOICE","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"SLOT_CHOICE","k":"0"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"Slot(char)","u":"%3Cinit%3E(char)","k":"3"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"slotChoice(int)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"slotChoice(String, int)","u":"slotChoice(java.lang.String,int)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"SlotChoice","l":"SlotChoice(String, int)","u":"%3Cinit%3E(java.lang.String,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"slotChoiceByIndex(Player, int)","u":"slotChoiceByIndex(it.polimi.ingsw.gc14.Model.Player,int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"slotId","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"slotList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"slotMap","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"slotPlayerMap","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"slotPlayerMap","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"socket","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"socketReceive","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"socketSend","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"socketTCP","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"SPAWN_INTERVAL_NS","k":"2"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"spawnParticle(double, double)","u":"spawnParticle(double,double)"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sr","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sr()"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"standingPlayers","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"start()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"start()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"start()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"start()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"start()"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherGUI.GUIApp","l":"start(Stage)","u":"start(javafx.stage.Stage)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"start(Stage)","u":"start(javafx.stage.Stage)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"startForfeitTimerIfNeeded(NetworkEvent, Game)","u":"startForfeitTimerIfNeeded(it.polimi.ingsw.gc14.Network.NetworkEvent,it.polimi.ingsw.gc14.Model.Game)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"startHeartbeat()"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"startWatchdog()"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"startWatchdog(String)","u":"startWatchdog(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"STEPS_PER_FRAME","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"stub","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"SUSTENANCE","k":"0"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"Sustenance(int, int)","u":"%3Cinit%3E(int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"Sustenance(String, int, int)","u":"%3Cinit%3E(java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"switchProtocol()"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sx","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"sx()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkConfig","l":"TCP_PORT","k":"2"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"TCPClient(ClientController, String, int, int)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Controller.ClientController,java.lang.String,int,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Network","c":"CompositeClientBroadcaster","l":"tcpServer","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"TCPServer","l":"TCPServer(GameController, int, int, BlockingQueue, LimitedMap)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Controller.GameController,int,int,java.util.concurrent.BlockingQueue,it.polimi.ingsw.gc14.LimitedMap)","k":"3"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"terminal","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"terminal","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"tick(long)"},{"p":"it.polimi.ingsw.gc14","c":"GameEventProcessor","l":"timerExecutor","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"tl","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"tl()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"toggleThumb","k":"1"},{"p":"it.polimi.ingsw.gc14.Network","c":"InterfaceResolver","l":"toInt(byte[])","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order2","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order3","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order4","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"Order5","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Orders","c":"OrderPlayer","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"toString()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"toStringBoard()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building1","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects","c":"Building11","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"BuildingCard","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Artist","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Builder","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Gatherer","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Hunter","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Inventor","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters","c":"Shaman","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"CavePaintings","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Hunt","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"ShamanicRitual","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events","c":"Sustenance","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model","c":"PlayableCard","l":"toStringPlayer()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Slot","l":"toStringTUI()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"totem","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"totem","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"TOTEM_CHOICE","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"TOTEM_CHOICE","k":"0"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"totemChoice(int)"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"totemChoice(Player, Totems)","u":"totemChoice(it.polimi.ingsw.gc14.Model.Player,it.polimi.ingsw.gc14.Model.Totems)"},{"p":"it.polimi.ingsw.gc14.Controller","c":"GameController","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network","c":"IClient","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Common","c":"IGameServer","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Client","c":"TCPClient","l":"totemChoice(String, String)","u":"totemChoice(java.lang.String,java.lang.String)"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"TotemChoice","l":"TotemChoice(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"totemChoiceQueue","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"TotemFXMLController()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"Totems()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"totemScene","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"tr","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"tr()"},{"p":"it.polimi.ingsw.gc14.Model","c":"Game","l":"transitionToOptionalOrNextRound()"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"TribeCard(int, boolean)","u":"%3Cinit%3E(int,boolean)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"TribeCard(int, boolean, int)","u":"%3Cinit%3E(int,boolean,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"TribeCard(String, int, boolean)","u":"%3Cinit%3E(java.lang.String,int,boolean)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.Cards","c":"TribeCard","l":"TribeCard(String, int, boolean, int)","u":"%3Cinit%3E(java.lang.String,int,boolean,int)","k":"3"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"TribeCardDefinition()","u":"%3Cinit%3E()","k":"3"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"tribeDeck","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"TUI(MiniModel)","u":"%3Cinit%3E(it.polimi.ingsw.gc14.Model.MiniModel)","k":"3"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"turnBanner","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"Character","l":"type","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventCard","l":"type","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"DecksCreator.TribeCardDefinition","l":"type","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"type","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"update()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"updateBanner(String, boolean)","u":"updateBanner(java.lang.String,boolean)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"TotemFXMLController","l":"updateConfirmButton(boolean)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"LoginFXMLController","l":"updateLoginButton(boolean)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"updateSidePanel()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"updateVisual(double, double)","u":"updateVisual(double,double)"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"CurrentState","l":"upperDrawn()"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"MainFXMLController","l":"upperList","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"upperListBuilding","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"upperListBuildingCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"upperListBuildingCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"Board","l":"upperListTribe","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"MiniModel","l":"upperListTribeCards","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.NetworkEvents","c":"ApplyNextRound","l":"upperListTribeCards","k":"1"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"USER_ALREADY_CONNECTED","k":"0"},{"p":"it.polimi.ingsw.gc14.Network","c":"NetworkEvent","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Client","c":"RMIClient","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"ClientHandler","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"username","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Player","l":"userName","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"v","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"v()"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"valueOf(String)","u":"valueOf(java.lang.String)","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"LimitedMap","l":"values()"},{"p":"it.polimi.ingsw.gc14.Model.Cards.Building","c":"EffectType","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"CharacterType","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.Cards.TribeCards","c":"EventType","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.Network","c":"EventType","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"values()","k":"6"},{"p":"it.polimi.ingsw.gc14","c":"ClientLauncherTUI","l":"view","k":"1"},{"p":"it.polimi.ingsw.gc14.Controller","c":"ClientController","l":"view","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"TUI","l":"visibleLength(String)","u":"visibleLength(java.lang.String)"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"vx","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"vy","k":"1"},{"p":"it.polimi.ingsw.gc14.Model.GamePackage","c":"GameStages","l":"WAITING","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem","l":"warmedUp","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIHeartbeat","l":"watchdog","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.TCP.Server","c":"HeartbeatHandler","l":"watchdog","k":"1"},{"p":"it.polimi.ingsw.gc14.Network.RMI.Server","c":"RMIServer","l":"watchdogs","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"weightedType(Random)","u":"weightedType(java.util.Random)","k":"6"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"WHITE","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"wobbleAmp","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"wobblePhase","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"wobbleSpeed","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"GUI","l":"wrapScene(Scene)","u":"wrapScene(javafx.scene.Scene)"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"WRONG_ACTION","k":"0"},{"p":"it.polimi.ingsw.gc14","c":"ErrorType","l":"WRONG_PLAYER_NUMBER","k":"0"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"x","k":"1"},{"p":"it.polimi.ingsw.gc14.View.TUI","c":"BorderStyle","l":"x","k":"1"},{"p":"it.polimi.ingsw.gc14.View.GUI","c":"FireParticleSystem.Particle","l":"y","k":"1"},{"p":"it.polimi.ingsw.gc14.Model","c":"Totems","l":"YELLOW","k":"0"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JAVADOC/module-search-index.js b/deliverables/JAVADOC/module-search-index.js new file mode 100644 index 0000000..4daef26 --- /dev/null +++ b/deliverables/JAVADOC/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [{"l":"it.polimi.ingsw.gc14"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JAVADOC/overview-tree.html b/deliverables/JAVADOC/overview-tree.html new file mode 100644 index 0000000..b5c544d --- /dev/null +++ b/deliverables/JAVADOC/overview-tree.html @@ -0,0 +1,245 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+ + diff --git a/deliverables/JAVADOC/package-search-index.js b/deliverables/JAVADOC/package-search-index.js new file mode 100644 index 0000000..c9efc68 --- /dev/null +++ b/deliverables/JAVADOC/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html","k":"18"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Controller"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards.Building"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards.Building.Effects"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards.TribeCards"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.GamePackage"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Model.Orders"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.NetworkEvents"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.RMI.Client"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.RMI.Common"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.RMI.Server"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.TCP.Client"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.Network.TCP.Server"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.View"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.View.GUI"},{"m":"it.polimi.ingsw.gc14","l":"it.polimi.ingsw.gc14.View.TUI"}];updateSearchResults(); \ No newline at end of file diff --git a/deliverables/JAVADOC/resource-files/copy.svg b/deliverables/JAVADOC/resource-files/copy.svg new file mode 100644 index 0000000..b07ac7e --- /dev/null +++ b/deliverables/JAVADOC/resource-files/copy.svg @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff new file mode 100644 index 0000000..63a79c0 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff2 new file mode 100644 index 0000000..0665554 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Bold.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff new file mode 100644 index 0000000..dead290 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 new file mode 100644 index 0000000..89328f3 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-BoldOblique.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff new file mode 100644 index 0000000..6c62443 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 new file mode 100644 index 0000000..8a50fa1 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans-Oblique.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff new file mode 100644 index 0000000..a0f1efa Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff2 new file mode 100644 index 0000000..fecdbd8 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSans.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff new file mode 100644 index 0000000..9f646ba Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 new file mode 100644 index 0000000..346de2d Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Bold.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff new file mode 100644 index 0000000..7a6b3ac Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 new file mode 100644 index 0000000..ede24ef Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-BoldOblique.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff new file mode 100644 index 0000000..892833b Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 new file mode 100644 index 0000000..9e90514 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono-Oblique.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff new file mode 100644 index 0000000..e94e844 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff2 new file mode 100644 index 0000000..9460c05 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSansMono.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff new file mode 100644 index 0000000..0f38846 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 new file mode 100644 index 0000000..d65a5e9 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Bold.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff new file mode 100644 index 0000000..63fd5e3 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 new file mode 100644 index 0000000..e29307e Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-BoldItalic.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff new file mode 100644 index 0000000..5df6d00 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 new file mode 100644 index 0000000..61ff146 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif-Italic.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff new file mode 100644 index 0000000..280e378 Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff differ diff --git a/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff2 b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff2 new file mode 100644 index 0000000..bbd32cd Binary files /dev/null and b/deliverables/JAVADOC/resource-files/fonts/DejaVuLGCSerif.woff2 differ diff --git a/deliverables/JAVADOC/resource-files/fonts/dejavu.css b/deliverables/JAVADOC/resource-files/fonts/dejavu.css new file mode 100644 index 0000000..b450caa --- /dev/null +++ b/deliverables/JAVADOC/resource-files/fonts/dejavu.css @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ + */ + +/* DejaVu fonts v2.37 */ + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono.woff2') format('woff2'), + url('DejaVuLGCSansMono.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-Oblique.woff2') format('woff2'), + url('DejaVuLGCSansMono-Oblique.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-Bold.woff2') format('woff2'), + url('DejaVuLGCSansMono-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans Mono'; + src: url('DejaVuLGCSansMono-BoldOblique.woff2') format('woff2'), + url('DejaVuLGCSansMono-BoldOblique.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans.woff2') format('woff2'), + url('DejaVuLGCSans.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-Oblique.woff2') format('woff2'), + url('DejaVuLGCSans-Oblique.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-Bold.woff2') format('woff2'), + url('DejaVuLGCSans-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Sans'; + src: url('DejaVuLGCSans-BoldOblique.woff2') format('woff2'), + url('DejaVuLGCSans-BoldOblique.woff') format('woff'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif.woff2') format('woff2'), + url('DejaVuLGCSerif.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-Italic.woff2') format('woff2'), + url('DejaVuLGCSerif-Italic.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-Bold.woff2') format('woff2'), + url('DejaVuLGCSerif-Bold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'DejaVu Serif'; + src: url('DejaVuLGCSerif-BoldItalic.woff2') format('woff2'), + url('DejaVuLGCSerif-BoldItalic.woff') format('woff'); + font-weight: bold; + font-style: italic; +} diff --git a/deliverables/JAVADOC/resource-files/glass.svg b/deliverables/JAVADOC/resource-files/glass.svg new file mode 100644 index 0000000..ff7df85 --- /dev/null +++ b/deliverables/JAVADOC/resource-files/glass.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/deliverables/JAVADOC/resource-files/jquery-ui.min.css b/deliverables/JAVADOC/resource-files/jquery-ui.min.css new file mode 100644 index 0000000..7e0692d --- /dev/null +++ b/deliverables/JAVADOC/resource-files/jquery-ui.min.css @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.14.1 - 2025-01-13 +* https://jqueryui.com +* Includes: core.css, autocomplete.css, menu.css +* Copyright OpenJS Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/deliverables/JAVADOC/resource-files/left.svg b/deliverables/JAVADOC/resource-files/left.svg new file mode 100644 index 0000000..11a93ff --- /dev/null +++ b/deliverables/JAVADOC/resource-files/left.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/deliverables/JAVADOC/resource-files/link.svg b/deliverables/JAVADOC/resource-files/link.svg new file mode 100644 index 0000000..58d38ac --- /dev/null +++ b/deliverables/JAVADOC/resource-files/link.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/deliverables/JAVADOC/resource-files/right.svg b/deliverables/JAVADOC/resource-files/right.svg new file mode 100644 index 0000000..4b54939 --- /dev/null +++ b/deliverables/JAVADOC/resource-files/right.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/deliverables/JAVADOC/resource-files/stylesheet.css b/deliverables/JAVADOC/resource-files/stylesheet.css new file mode 100644 index 0000000..f7994c7 --- /dev/null +++ b/deliverables/JAVADOC/resource-files/stylesheet.css @@ -0,0 +1,1667 @@ +/* + * Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ + */ + +/* + * Javadoc style sheet + */ + +@import url('fonts/dejavu.css'); + +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14.2px; + --block-font-size: 14.4px; + --code-font-size: 14px; + --nav-font-size: 13.4px; + /* Line height for continuous text blocks */ + --block-line-height: 1.5; + --code-line-height: 1.6; + /* Text colors for body and block elements */ + --body-text-color: #181818; + --block-text-color: #181818; + /* Background colors for various elements */ + --body-background-color: #ffffff; + --section-background-color: var(--body-background-color); + --detail-background-color: #ffffff; + --code-background-color: #f5f5f5; + --mark-background-color: #f7f7f7; + --detail-block-color: #f4f4f4; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + --subnav-link-color: #47688a; + --member-heading-background-color: var(--subnav-background-color); + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #4a698a; + /* Background colors for generated tables */ + --table-header-color: #ebeff4; + --even-row-color: #ffffff; + --odd-row-color: #f0f0f2; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #437291; + --link-color-active: #bb7a2a; + /* Table of contents */ + --toc-background-color: #f8f8f8; + --toc-highlight-color: var(--subnav-background-color); + --toc-hover-color: #e9ecf0; + /* Snippet and pre colors */ + --snippet-background-color: #f2f2f4; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + --pre-background-color: var(--snippet-background-color); + --pre-text-color: var(--snippet-text-color); + /* Border colors for structural elements and user defined tables */ + --border-color: #e6e6e6; + --table-border-color: #000000; + /* Styles for table tabs */ + --tab-border-radius: 2px 2px 0 0; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff66; + /* Copy button colors and filters */ + --button-border-color: #b0b8c8; + --button-active-filter: brightness(96%); + --button-focus-filter: brightness(104%); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; + /* Navigation bar dimensions */ + --top-nav-height: 44px; + --sub-nav-height: 36px; + --nav-height: calc(var(--top-nav-height) + var(--sub-nav-height)); + --max-content-width: 1500px; + --content-margin: 0 auto; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ +body { + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); + margin:0; + padding:0; + height:100%; + width:100%; +} +main [id] { + scroll-margin-top: calc(var(--nav-height) + 6px); +} +div.main-grid { + max-width: var(--max-content-width); + margin: var(--content-margin); +} +a:link, a:visited { + text-decoration:none; + color:var(--link-color); +} +nav a:link, nav a:visited { + color: var(--subnav-link-color); +} +a[href]:hover, a[href]:active { + text-decoration:none; + color:var(--link-color-active); +} +pre { + font-family:var(--code-font-family); + font-size:var(--code-font-size); + line-height: var(--code-line-height); + background-color: var(--pre-background-color); + color: var(--pre-text-color); + padding: 10px; + overflow-x:auto; +} +h1 { + font-size:1.425em; +} +h2 { + font-size:1.28em; +} +h3 { + font-size:1.14em; +} +h4 { + font-size:1.072em; +} +h5 { + font-size:1.001em; +} +h6 { + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature, div.member-signature > span { + max-height: 1000em; +} +ul { + list-style-type:disc; +} +tt { + font-family:var(--code-font-family); +} +code { + font-family:var(--code-font-family); + font-size:var(--code-font-size); +} +button { + font-family: var(--body-font-family); + font-size: 1em; +} +hr { + border-color: #aaa; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { + flex: 0 0 auto; + padding:0 20px; + margin:0; + font-size:0.915em; + max-width: 50%; + white-space: nowrap; +} +.legal-copy { + font-family: var(--body-font-family); + line-height: normal; +} +/* + * Styles for navigation bar. + */ +@media screen { + header { + position:sticky; + top:0; + z-index:2; + background: var(--body-background-color); + } +} +.nav-content { + display:flex; + flex-direction: row; + align-items: center; + width: 100%; + height: 100%; + max-width: var(--max-content-width); + margin: var(--content-margin); +} +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + width:100%; + height:var(--top-nav-height); + overflow:visible; + font-size:0.857em; + position:relative; +} +.top-nav nav.toc { + display: none; + flex-direction: column; +} +.top-nav nav.toc button.show-sidebar, +.top-nav nav.toc button.hide-sidebar { + display: none; +} +button#navbar-toggle-button { + display:none; +} +ul.nav-list { + display:inline-flex; + margin:0; + padding-left:4px; + flex: 1 1 auto; + white-space: nowrap; +} +ul.nav-list li { + list-style:none; + padding: 5px 6px; + text-transform:uppercase; + height: 1.2em; +} +div.sub-nav { + background-color:var(--subnav-background-color); + width:100%; + overflow:hidden; + font-size:var(--nav-font-size); + height: var(--sub-nav-height); +} +ol.sub-nav-list { + flex: 1 1 90%; + line-height: 1.8; + display: inline-flex; + overflow: auto; + scroll-snap-type: x mandatory; + scroll-padding-left: 13px; + scrollbar-width: none; + padding-left:6px; + white-space: nowrap; + margin:0; +} +ol.sub-nav-list::-webkit-scrollbar { + display: none; +} +ol.sub-nav-list li { + list-style:none; + scroll-snap-align: start; +} +ol.sub-nav-list li:not(:first-child) { + background: url("right.svg") no-repeat 3px; + background-size: 10px; + padding-left: 17px; + list-style: none; +} +ol.sub-nav-list a { + padding: 3px; +} +ol.sub-nav-list a.current-selection { + background-color: var(--toc-background-color); + border-radius: 3px; +} +.sub-nav .nav-list-search { + flex: 1 1 10%; + margin: 0 15px; + position:relative; + white-space: nowrap; +} +.top-nav .nav-list a:link, .top-nav .nav-list a:active, .top-nav .nav-list a:visited { + color:var(--navbar-text-color); + text-decoration:none; + text-transform:uppercase; +} +.top-nav .nav-list a:hover { + color:var(--link-color-active); +} +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); + margin: 0 5px; + border-radius: 1px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0 12px 0; +} +.sub-title { + margin:5px 0 0 0; +} +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; + overflow-x:auto; +} +body.class-use-page h2 { + margin-top: 20px; +} +body.class-declaration-page .details h3 { + background-color:var(--member-heading-background-color); + border:1px solid var(--border-color); + margin:6px 0; + padding:7px; + overflow-x:auto; + font-size: 1.08em; +} +body.class-declaration-page section.detail:target > h3, +body.class-declaration-page section.detail > h3:target { + background-color: var(--navbar-background-color); + color: var(--navbar-text-color); +} +body.class-declaration-page section.detail:target > h3 > a.anchor-link > img, +body.class-declaration-page section.detail > h3:target > a.anchor-link > img { + filter: invert(100%) sepia(4%) saturate(98%) hue-rotate(212deg) brightness(160%) contrast(160%); +} +h1 > sup { + font-size: small; +} +/* + * Styles for page layout containers. + */ +.main-grid { + display: flex; + flex-direction: row; +} +.main-grid main { + flex: 3.2 1 0; + min-width: 240px +} +.main-grid nav.toc { + flex: 1 1 0; + min-width: 240px; +} +main { + padding:10px 25px; + position:relative; +} +/* Compensate for non-collapsing margins between element description and summary tables */ +div.horizontal-scroll > section[id$=-description] > :is(dl, ol, ul, p, div, blockquote, pre):last-child, +div.horizontal-scroll > section[id$=-description] > :last-child > :is(li, dd):last-child, +section.class-description > div.horizontal-scroll > :is(dl, ol, ul, p, div, blockquote, pre):last-child, +section.class-description > div.horizontal-scroll > :last-child > :is(li, dd):last-child { + margin-bottom:4px; +} +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; + font-weight:bold; + margin:10px 0 0 0; + color:var(--body-text-color); +} +dl.notes > dd { + margin:6px 10px 10px 15px; + font-size:var(--block-font-size); + font-family:var(--block-font-family); + line-height:var(--block-line-height); +} +dl.notes > dd > ul, dl.notes > dd > ol { + margin-bottom: 1em; + margin-top: 1em; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for table of contents. + */ +.main-grid nav.toc { + background-color: var(--toc-background-color); + position: sticky; + top: calc(var(--nav-height)); + max-height: calc(100vh - var(--nav-height)); + display: flex; + flex-direction: column; + font-family: var(--body-font-family); + z-index: 1; +} +.main-grid nav.toc div.toc-header { + top: var(--nav-height); + z-index: 1; + padding: 15px 20px; +} +.main-grid nav.toc > ol.toc-list { + max-height: calc(100vh - var(--nav-height) - 100px); + padding-left: 12px; +} +.main-grid nav.toc button { + position: absolute; + bottom: 16px; + z-index: 3; + background-color: var(--toc-background-color); + color: #666666; + font-size: 0.76rem; + border: none; + cursor: pointer; + padding: 6px 10px; + white-space: nowrap; +} +.main-grid nav.toc button > img { + vertical-align: middle; + width: 16px; + height: 16px; +} +.main-grid nav.toc button.hide-sidebar { + right: 0; +} +.main-grid nav.toc button.show-sidebar { + left: 0; + display: none; +} +.main-grid nav.toc button span { + display: none; +} +.main-grid nav.toc button:hover, +.main-grid nav.toc button:focus { + color: var(--body-text-color); + border: 1px solid var(--subnav-background-color); +} +.main-grid nav.toc button:active { + background-color: var(--subnav-background-color); + color: var(--link-color-active); +} +.main-grid nav.toc button:hover span, +.main-grid nav.toc button:focus span { + display: inline; +} +.main-grid nav.toc button:hover, +.main-grid nav.toc button:focus { + box-shadow: 1px 1px 5px rgba(0,0,0,0.2); +} +.main-grid nav.toc.hide-sidebar { + min-width: revert; + background-color: var(--body-background-color); + max-width: 20px; +} +.main-grid nav.toc.hide-sidebar div.toc-header, +.main-grid nav.toc.hide-sidebar ol.toc-list, +.main-grid nav.toc.hide-sidebar button.hide-sidebar { + display: none; +} +.main-grid nav.toc.hide-sidebar button.show-sidebar { + display: inline; +} +nav.toc div.toc-header { + padding: 15px; + display: inline-flex; + align-items: center; + color: var(--body-text-color); + font-size: 0.856em; + font-weight: bold; + white-space: nowrap; + overflow-x: hidden; + position: sticky; + min-height: 20px; +} +nav.toc > ol.toc-list { + overflow: hidden auto; + overscroll-behavior: contain; +} +nav.toc ol.toc-list { + list-style: none; + font-size: var(--nav-font-size); + padding-left: 0; + margin: 0; +} +a.current-selection { + font-weight: bold; +} +nav.toc a { + display: block; + padding: 8px; + overflow: hidden; + text-overflow: ellipsis; +} +nav.toc ol.toc-list ol.toc-list a { + padding-left: 24px; +} +nav.toc ol.toc-list ol.toc-list ol.toc-list a { + padding-left: 40px; +} +nav.toc a:hover { + background-color: var(--toc-hover-color); +} +nav.toc a.current-selection { + background-color: var(--toc-highlight-color); +} +nav.toc a:focus-visible { + background-color: var(--selected-background-color); + color: var(--selected-text-color); + outline: none; +} +/* + * Styles for lists. + */ +ul.details-list .block > ul, +ul.details-list .notes dd > ul { + margin: 12px 0; +} +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance div.inheritance { + margin-left:2em; +} +main > div.inheritance { + overflow-x:auto; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:4px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.ref-list { + padding:0; + margin:0; +} +ul.ref-list > li { + list-style:none; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +dl.notes > dd > ul.tag-list, dl.notes > dd > ul.tag-list-long { + padding-left: 0; + margin: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6; +} +ul.preview-feature-list input { + margin-right: 8px; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + border:1px solid var(--border-color); + border-top:0; + padding:0; + margin-bottom: 14px; +} +.caption { + overflow: auto hidden; + padding: 8px 0 0 1px; +} +.caption span, +.inherited-list h3 { + font-size: 0.98em; + font-weight:bold; + white-space:nowrap; + border-radius: var(--tab-border-radius); + margin: 0; +} +.caption span { + background-color: var(--navbar-background-color); + padding:5px 12px 7px 12px; + height:16px; + color:var(--navbar-text-color); + display:inline-block; +} +.inherited-list h3 { + background-color: var(--subnav-background-color); + padding:6px 12px 7px 12px; + height:17px; + width: fit-content; + max-width: 93%; +} +/* Background required for captions with links */ +.class-use-page .caption span, +.package-use-page .caption span, +.constants-summary-page .caption span, +.inherited-list h3 { + background-color: var(--subnav-background-color); + color: var(--block-text-color); +} +.caption a:link, +.caption a:visited, +.inherited-list h3 a:link, +.inherited-list h3 a:visited { + color:var(--subnav-link-color); +} +div.table-tabs { + padding: 8px 0 0 1px; + white-space: nowrap; + overflow-x: auto; +} +div.table-tabs > button { + font-size: 0.98em; + border: none; + cursor: pointer; + padding: 6px 12px; + font-weight: bold; + margin-right: 8px; + border-radius: var(--tab-border-radius); +} +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); +} +div.checkboxes { + line-height: 2; +} +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 6px 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { + font-size: var(--nav-font-size); + line-height: 1.6; + padding: 8px 3px 3px 7px; + overflow: auto hidden; +} +.summary-table > div.table-header, .details-table > div.table-header { + font-size: 0.92em; + line-height: 1.2; + height: 18px; +} +.table-header { + background: var(--table-header-color); + font-weight: bold; + border-bottom: 1px solid var(--border-color); +} +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; +} +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; +} +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + +} +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-second, .col-constructor-name { + overflow: auto; +} +body:not(.class-declaration-page) .col-first a:link, +.col-summary-item-name a:link { + font-weight:bold; +} +.even-row-color { + background-color:var(--even-row-color); +} +.odd-row-color { + background-color:var(--odd-row-color); +} +/* + * Styles for contents. + */ +div.block { + font-size:var(--block-font-size); + font-family:var(--block-font-family); + line-height:var(--block-line-height); +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:var(--code-font-size); + margin:8px 0 14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre-wrap; +} +.member-signature .type-parameters { + white-space: pre-wrap; +} +:is(h1, h2, h3, h4, h5, h6, sup, sub, small, big) code, +[style*=font-size] code { + font-size: inherit; +} +.doc-file-page main { + font-family: var(--block-font-family); + font-size: var(--block-font-size); + line-height: var(--block-line-height); +} +.doc-file-page main footer { + font-family: var(--body-font-family); + font-size: var(--body-font-size); +} +.tree-page .hierarchy, +.package-tree-page .hierarchy { + line-height: 1.4; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; +} +.block { + display:block; + margin:0 10px 5px 0; + color:var(--block-text-color); +} +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label, +.restricted-label { + font-weight:bold; +} +sup.preview-mark, +sup.restricted-mark { + font-family: var(--code-font-family); + font-weight: normal; + font-size: 8px; + background-color: var(--mark-background-color); + padding: 1px; + border-radius: 2px; +} +sup.preview-mark > a:link, +sup.restricted-mark > a:link { + font-weight: normal; +} +.deprecation-comment, .help-footnote, .preview-comment, .restricted-comment { + font-style:italic; +} +.deprecation-block, .preview-block, .restricted-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:6px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.deprecation-block code, .preview-block code, .restricted-block code { + font-size: 0.97em; +} +div.block div.deprecation-comment { + font-style:normal; +} +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-menu .ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + color: var(--selected-text-color); + /* Workaround for browser bug, see JDK-8275889 */ + margin: -1px 0; + border-top: 1px solid var(--selected-background-color); + border-bottom: 1px solid var(--selected-background-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 8px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + box-sizing: border-box; +} +.ui-autocomplete { + max-height:calc(98vh - var(--nav-height)); + max-width:min(75vw, calc(var(--max-content-width) * 0.748)); + overflow-y:auto; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); + overscroll-behavior: contain; +} +ul.ui-autocomplete { + position:fixed; + z-index:10; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; + box-sizing: border-box; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bold; + z-index: 10; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete > li.result-item:nth-child(even) { + background-color: var(--even-row-color) +} +.ui-autocomplete > li.result-item:nth-child(odd) { + background-color: var(--odd-row-color) +} +.ui-autocomplete { + display: grid; + grid-template-columns: auto auto; +} +.ui-autocomplete > li, +.ui-autocomplete > li > div { + grid-column: 1 / 3; +} +.ui-autocomplete > li.result-item, +.ui-autocomplete > li.result-item > div { + display: grid; + grid-template-columns: subgrid; +} +.ui-autocomplete > li.result-item { + font-family: var(--body-font-family); + font-size: var(--body-font-size); + line-height: 1.7; +} +.ui-autocomplete .search-result-label { + padding: 1px 4px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-autocomplete .search-result-desc { + font-size: var(--nav-font-size); + padding: 2px 4px; + color: #404040; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +.ui-menu .ui-state-active .search-result-desc { + color: #383838; +} +.ui-menu .ui-menu-item-wrapper { + padding: 3px 4px; +} +input[type="text"] { + background-image:url('glass.svg'); + background-size:13px; + background-repeat:no-repeat; + background-position:3px 4px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + border-radius: 4px; + padding-left:20px; + padding-right: 18px; + font-size: var(--nav-font-size); + height: 19px; +} +input#page-search-input { + width: calc(180px + 10vw); + margin: 10px 0; +} +input#search-input { + width: 270px; + margin: 0; +} +input.filter-input { + min-width: 40px; + width: 180px; + margin: 0 -8px 0 5px; +} +input#reset-search, input.reset-filter, input#page-search-reset { + background-color: transparent; + background-image:url('x.svg'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + min-width:12px; + min-height:12px; + font-size:0; + visibility:hidden; +} +input#reset-search { + position:absolute; + right:5px; + top:7px; +} +input.reset-filter { + position: relative; + right: 10px; + top: 0; +} +input#page-search-reset { + position: relative; + right: 18px; + top: -5px; +} +input::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +input:focus::placeholder { + color: transparent; +} +select#search-modules { + margin: 0 10px 10px 2px; + font-size: var(--nav-font-size); + padding: 3px 5px; + border-radius: 4px; + background: #f0f0f0; + border: 1px solid #909090; +} +kbd { + background-color: #eeeeee; + border: 1px solid #b0b0b0; + border-radius: 3px; + padding: 0 4px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.6) inset; + font-size: 0.9em; + font-weight: bold; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +dd > span:target, +h1 > span:target { + background-color: var(--search-tag-highlight-color); +} +section.class-description dd > span:target, +section.class-description h1 > span:target { + scroll-margin-top: 20em; +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +#result-container .result-highlight { + font-weight:bold; +} +#result-container div.result-table { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); +} +#result-container div.result-table > div.table-header, +#result-container div.result-table > a.search-result-link { + display: grid; + grid-template-columns: subgrid; + grid-column: 1 / 3; + margin: 0; +} +#result-container div.result-table > div.table-header > span { + padding: 5px 12px; + font-size: 0.93em; + background-color: var(--subnav-background-color); +} +#result-container div.result-table > a.search-result-link > span { + padding: 8px 12px; +} +#result-container div.result-table > a.search-result-link:nth-child(odd) { + background-color: var(--odd-row-color) +} +#result-container div.result-table > a.search-result-link:nth-child(even) { + background-color: var(--even-row-color) +} +#result-container div.result-table > a.search-result-link { + color: var(--block-text-color); + white-space: nowrap; +} +#result-container div.result-table > a.search-result-link:focus-visible, +#result-container div.result-table > a.search-result-link.selected { + background-color: var(--selected-background-color); + outline: none; +} +#result-container div.result-table > a.search-result-link .search-result-label { + overflow: hidden; + text-overflow: ellipsis; +} +#result-container div.result-table > a.search-result-link .search-result-desc { + font-size: var(--nav-font-size); + color: #404040; + overflow: hidden; + text-overflow: ellipsis; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + margin: 8px 0; + overflow: hidden; + display: none; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 5; +} +.horizontal-scroll { + overflow: auto hidden; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"] { + margin-bottom: 24px; + background-color: var(--section-background-color); +} +body.class-uses section.detail { + padding: 0 25px 5px 10px; + margin: 25px 0; +} +section.serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--detail-block-color); +} +section.serialized-class-details .detail { + overflow: auto; + padding-left: 12px; +} +section[class$="-details"] .detail { + background-color:var(--detail-background-color); +} +section[class$="-details"] .detail > div { + padding-left: 8px; +} +.inherited-list { + margin: 20px 0; + background-color:var(--detail-background-color); +} +.inherited-list > code { + padding: 8px; + display: block; + background-color: var(--code-background-color); + border-radius: 0; + line-height: var(--code-line-height); +} +.vertical-separator { + padding: 0 5px; +} +.help-section { + font-size: var(--block-font-size); + line-height: var(--block-line-height); +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s 0.1s; +} +:hover > a.anchor-link { + opacity: 90%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + font-size: var(--nav-font-size); + line-height: 1.2; + padding:0.3em; + background-color: transparent; + border: 1px solid transparent; + border-radius: 3px; + position: relative; + opacity: 80%; + transition: all 0.1s ease; + cursor: pointer; +} +button.copy:hover, +button.copy:active, +button.copy:focus, +button.copy.visible { + opacity: 100%; + background-color: inherit; + border-color: var(--button-border-color); + filter: var(--button-focus-filter); +} +button.copy:active { + filter: var(--button-active-filter); +} +button.copy img { + position: relative; +} +button.copy span { + color: var(--body-text-color); + position: relative; + padding: 0.2em; + top: -0.1em; + transition: opacity 0.1s ease; + opacity: 0; +} +button.copy:hover span, +button.copy:focus span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + top: -0.18em; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 4px; + right: 1px; + height: 32px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 2px 0; +} +button.snippet-copy span { + top: -7px; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Media queries for responsive design + */ +@media (prefers-reduced-motion: reduce) { + :root { + scroll-behavior: auto; + } +} +@media screen and (max-width: 1200px) { + input#search-input { + width: 22.5vw; + } +} +@media screen and (max-width: 1000px) { + .main-grid nav.toc { + display: none; + } + .top-nav nav.toc { + display: none; + position: absolute; + top: var(--top-nav-height); + left: 40vw; + width: 60vw; + z-index: 7; + background-color: var(--toc-background-color); + box-sizing: border-box; + } + .top-nav nav.toc div.toc-header { + padding: 6px 15px; + font-size: 0.94em; + background-color: var(--toc-background-color); + top: calc(var(--top-nav-height) + 10px); + } + .top-nav nav.toc ol.toc-list li { + font-size: 1.04em; + } + nav.toc a:link, nav.toc a:visited { + text-decoration:none; + color:var(--link-color); + } + nav.toc a[href]:hover, nav.toc a[href]:focus { + text-decoration:none; + color:var(--link-color-active); + } + :root { + scroll-behavior: auto; + } + header { + max-height: 100vh; + overflow-y: visible; + overscroll-behavior: contain; + } + nav { + overflow: visible; + } + ul.nav-list { + display: none; + position: absolute; + top: var(--top-nav-height); + overflow: auto; + z-index: 7; + background-color: var(--navbar-background-color); + width: 40%; + padding: 0; + box-sizing: border-box; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + .top-nav div.nav-menu-button { + flex: 1 1 auto; + } + .sub-nav ol.sub-nav-list { + margin-left: 4px; + padding-left: 4px; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 4px 0; + border-radius: 2px; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } + .ui-autocomplete { + display: block; + grid-template-columns: none; + } + .ui-autocomplete > li, + .ui-autocomplete > li > div, + .ui-autocomplete > li.result-item, + .ui-autocomplete > li.result-item > div { + grid-column: unset; + display: block; + grid-template-columns: none; + } + .ui-autocomplete > li.result-item { + line-height: 1.45; + } + .ui-autocomplete .search-result-label { + display: block; + } + .ui-autocomplete .search-result-desc { + display: block; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding: 0 16px; + max-width: 90%; + } + ul.nav-list li { + margin-left: 5px; + } + main { + padding: 10px 12px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 600px) { + .nav-list-search > a { + display: none; + } + .member-signature { + white-space: pre-line; + } + .member-signature .annotations { + white-space: pre-wrap; + } + input#search-input { + width: 18vw; + } + .inherited-list h3 { + overflow: auto clip; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0; + } +} +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 12px; +} +div.snippet-container { + position: relative; + padding-right: 30px; + background-color: var(--snippet-background-color); +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav, .main-grid nav.toc, button.copy { + display:none; + } +} diff --git a/deliverables/JAVADOC/resource-files/x.svg b/deliverables/JAVADOC/resource-files/x.svg new file mode 100644 index 0000000..1efb410 --- /dev/null +++ b/deliverables/JAVADOC/resource-files/x.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/deliverables/JAVADOC/script-files/jquery-3.7.1.min.js b/deliverables/JAVADOC/script-files/jquery-3.7.1.min.js new file mode 100644 index 0000000..7f37b5d --- /dev/null +++ b/deliverables/JAVADOC/script-files/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0{"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(x){x.ui=x.ui||{};x.ui.version="1.14.1";var n,s,C,k,o,l,a,r,u,i,h=0,c=Array.prototype.hasOwnProperty,d=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var s,n,o,l,a={},r=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?x.error("Invalid widget name: "+t):(l=r+"-"+t,e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[l.toLowerCase()]=function(t){return!!x.data(t,l)},x[r]=x[r]||{},s=x[r][t],n=x[r][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}a[e]="function"!=typeof s?s:function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},a,{constructor:n,namespace:r,widgetName:t,widgetFullName:l}),s?(x.each(s._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n)},x.widget.extend=function(t){for(var e,i,s=d.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n{var i=[];n.element.each(function(t,e){x.map(l.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),l._on(x(i),{remove:"_untrackClassesElement"})})(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),l.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,e={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return e.element.toggleClass(this._classes(e),s),this},_on:function(n,o,t){var l,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=l=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,l=this.widget()),x.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),s=t[1]+a.eventNamespace,t=t[2];t?l.on(s,t,i):o.on(s,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,l){x.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||l:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}}),x.widget;function E(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function T(t,e){return parseInt(x.css(t,e),10)||0}function W(t){return null!=t&&t===t.window}C=Math.max,k=Math.abs,o=/left|center|right/,l=/top|center|bottom/,a=/[\+\-]\d+(\.[\d]+)?%?/,r=/^\w+/,u=/%$/,i=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==s?s:(i=(e=x("
")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(k(s),k(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})):i.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,s=s.width,o=t.left-e.collisionPosition.marginLeft,l=n-o,a=o+e.collisionWidth-s-n;s",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(this.document[0].activeElement);!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active)&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]!==i[0])||i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),t=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(t,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),e=(i=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(i,"ui-menu-item")._addClass(e,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(e=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,i=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-e-i,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&"true"===this.element.prop("contentEditable"),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault();else if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){n?(n=!1,t.preventDefault()):this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("