2013-04-12 19:32:25 -07:00
|
|
|
package magic.model;
|
|
|
|
|
2015-03-24 18:44:09 -07:00
|
|
|
import magic.utility.MagicSystem;
|
|
|
|
|
2013-04-12 19:32:25 -07:00
|
|
|
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.Iterator;
|
|
|
|
import java.util.ListIterator;
|
2013-04-12 19:32:25 -07:00
|
|
|
|
2015-04-10 01:07:13 -07:00
|
|
|
public class MagicLogBook implements Iterable<MagicMessage> {
|
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) {
|
2013-04-12 19:32:25 -07:00
|
|
|
final String player = msg.getPlayer().getIndex() == 0 ? "P" : "C";
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Iterator<MagicMessage> iterator() {
|
|
|
|
return messages.iterator();
|
|
|
|
}
|
|
|
|
|
|
|
|
public ListIterator<MagicMessage> listIterator(int idx) {
|
|
|
|
return messages.listIterator(idx);
|
|
|
|
}
|
2013-04-12 19:32:25 -07:00
|
|
|
}
|