001 package com.croftsoft.apps.mars.net;
002
003 import java.io.*;
004 import java.util.*;
005
006 import com.croftsoft.core.lang.NullArgumentException;
007 import com.croftsoft.core.util.NullIterator;
008
009 import com.croftsoft.apps.mars.model.GameAccessor;
010 import com.croftsoft.apps.mars.model.TankAccessor;
011 import com.croftsoft.apps.mars.model.WorldAccessor;
012 import com.croftsoft.apps.mars.model.seri.SeriTank;
013 import com.croftsoft.apps.mars.model.seri.SeriWorld;
014
015 /*********************************************************************
016 * A snapshot of the Game.
017 *
018 * @version
019 * 2003-05-31
020 * @since
021 * 2003-04-07
022 * @author
023 * <a href="https://www.croftsoft.com/">David Wallace Croft</a>
024 *********************************************************************/
025
026 public final class GameData
027 implements GameAccessor, Serializable
028 //////////////////////////////////////////////////////////////////////
029 //////////////////////////////////////////////////////////////////////
030 {
031
032 private static final long serialVersionUID = 0L;
033
034 //
035
036 private final SeriWorld seriWorld;
037
038 private final SeriTank playerSeriTank;
039
040 //////////////////////////////////////////////////////////////////////
041 //////////////////////////////////////////////////////////////////////
042
043 public GameData (
044 SeriWorld seriWorld,
045 SeriTank playerSeriTank )
046 //////////////////////////////////////////////////////////////////////
047 {
048 NullArgumentException.check ( this.seriWorld = seriWorld );
049
050 this.playerSeriTank = playerSeriTank;
051 }
052
053 //////////////////////////////////////////////////////////////////////
054 // interface GameAccessor methods
055 //////////////////////////////////////////////////////////////////////
056
057 public int getLevel ( ) { return 0; }
058
059 public Iterator getPath ( ) { return NullIterator.INSTANCE; }
060
061 public TankAccessor getPlayerTankAccessor ( )
062 //////////////////////////////////////////////////////////////////////
063 {
064 return playerSeriTank;
065 }
066
067 public WorldAccessor getWorldAccessor ( )
068 //////////////////////////////////////////////////////////////////////
069 {
070 return seriWorld;
071 }
072
073 //////////////////////////////////////////////////////////////////////
074 //////////////////////////////////////////////////////////////////////
075 }