////////////////////////////////////////
// Programming project code
// UniBw M, 2022, 2023, 2024
// www.unibw.de/inf2
// (c) Mark Minas (mark.minas@unibw.de)
////////////////////////////////////////

package pp.battleship.message.server;

/**
 * An interface for processing server messages.
 * Implementations of this interface can be used to handle different types of server messages.
 */
public interface ServerInterpreter {

    /**
     * Handles a GameDetails message received from the server.
     *
     * @param msg the GameDetails message received
     */
    void received(GameDetails msg);

    /**
     * Handles a StartBattleMessage received from the server.
     *
     * @param msg the StartBattleMessage received
     */
    void received(StartBattleMessage msg);

    /**
     * Handles an EffectMessage received from the server.
     *
     * @param msg the EffectMessage received
     */
    void received(EffectMessage msg);
}
