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 }