/*
 * Created on 12.11.2004
 *
 */
package messages;

/**
 * @author root
 *
 */
abstract class Message {
	private int time;
	private int sender;
	private int receiver;
	private int directionOfSender;
	private int AbsoluteDirectionOfSender;
	
	public Message(int time, int sender, int receiver, int directionOfSender, int AbsoluteDirectionOfSender) {
		this.sender = sender;
		this.receiver = receiver;
		this.directionOfSender = directionOfSender;
		this.AbsoluteDirectionOfSender = AbsoluteDirectionOfSender;
		this.time = time;
	//	System.out.println("Message, Constructor: time = " + time);
	}
	/**
	 * Die Richtung, aus der die Nachricht kam
	 * @return Eine Zahl zwischen -180 und +180 relativ zur
	 */
	//TODO: Testen, wozu die hearDirection relativ ist
	public int getDirectionOfSender() {
		return directionOfSender;
	}

	/**
	 * Gibt die Nummer des Spielers zurueck, fuer den die Nachricht bestimmt ist
	 * @return Eine nummer zwischen 1 und 11, oder Sender.MSG_BROADCAST fuer eine BROADCAST-Message
	 */
	public int getReceiver() {
		return receiver;
	}

	/**
	 * Gibt die Nummer des Spielers zurueck, Der die Nachricht gesendet hat
	 * @return Eine nummer zwischen 1 und 11
	 */
	public int getSender() {
		return sender;
	}

	/** 
	 * Gibt die Zeit zurueck, zu der die Nachricht empfangen wurde.
	 * @return Returns the time.
	 */
	public int getTime() {
		return time;
	}
    /**
     * @return Returns the absoluteDirectionOfSender.
     */
    public int getAbsoluteDirectionOfSender() {
        return AbsoluteDirectionOfSender;
    }
}
