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         }