2013-04-12 19:32:25 -07:00
|
|
|
package magic.model;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
2014-04-18 06:58:52 -07:00
|
|
|
import java.util.List;
|
2015-04-10 01:07:13 -07:00
|
|
|
import java.util.ListIterator;
|
2020-01-15 12:02:42 -08:00
|
|
|
|
2017-04-08 00:26:41 -07:00
|
|
|
import magic.utility.MagicSystem;
|
2013-04-12 19:32:25 -07:00
|
|
|
|
2015-08-17 02:44:00 -07:00
|
|
|
public class MagicLogBook {
|
2013-04-12 19:32:25 -07:00
|
|
|
|
2015-04-10 01:07:13 -07:00
|
|
|
private List<MagicMessage> messages = new ArrayList<>();
|
2013-10-30 14:27:04 -07:00
|
|
|
|
2013-04-12 19:32:25 -07:00
|
|
|
MagicLogBook() {}
|
|
|
|
|
2015-08-17 02:42:57 -07:00
|
|
|
public boolean add(final MagicMessage msg) {
|
2017-05-15 04:07:59 -07:00
|
|
|
final String player = msg.getPlayerIndex() == 0 ? "P" : "C";
|
2013-04-12 19:32:25 -07:00
|
|
|
MagicGameLog.log("LOG (" + player + "): " + msg.getText());
|
2015-03-24 18:44:09 -07:00
|
|
|
if (MagicSystem.isDebugMode()) {
|
2013-04-12 19:32:25 -07:00
|
|
|
System.err.println("LOG: " + msg.getText());
|
|
|
|
}
|
2015-04-10 01:07:13 -07:00
|
|
|
return messages.add(msg);
|
2013-04-12 19:32:25 -07:00
|
|
|
}
|
2013-06-23 18:33:35 -07:00
|
|
|
|
2013-04-12 19:32:25 -07:00
|
|
|
/** Removes all messages from end to given index, inclusive. */
|
2015-08-17 02:42:57 -07:00
|
|
|
public void removeTo(final int toIndex) {
|
2013-04-12 19:32:25 -07:00
|
|
|
for (int index=size()-1;index>=toIndex;index--) {
|
2015-04-10 01:07:13 -07:00
|
|
|
messages.remove(index);
|
2013-04-12 19:32:25 -07:00
|
|
|
}
|
|
|
|
}
|
2013-10-30 14:27:04 -07:00
|
|
|
|
2015-04-10 01:07:13 -07:00
|
|
|
public int size() {
|
|
|
|
return messages.size();
|
|
|
|
}
|
|
|
|
|
|
|
|
public ListIterator<MagicMessage> listIterator(int idx) {
|
|
|
|
return messages.listIterator(idx);
|
|
|
|
}
|
2013-04-12 19:32:25 -07:00
|
|
|
}
|