Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List

Packet.h

Go to the documentation of this file.
00001 /*
00002 Copyright 2003 - 2005 Elliott Kleinrock, Dan Neely, Kurt W. Over, Damon Domjan
00003 
00004 This file is part of FreeStars, a free clone of the Stars! game.
00005 
00006 FreeStars is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation; either version 2 of the License, or
00009 (at your option) any later version.
00010 
00011 FreeStars is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 GNU General Public License for more details.
00015 
00016 You should have received a copy of the GNU General Public License
00017 along with FreeStars; if not, write to the Free Software
00018 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 
00020 The full GPL Copyright notice should be in the file COPYING.txt
00021 
00022 Contact:
00023 Email Elliott at 9jm0tjj02@sneakemail.com
00024 */
00025 
00030 #ifndef Packet_h
00031 #define Packet_h
00032 
00033 //dan Neely 7-1-03
00034 
00035 #include "CargoHolder.h"
00036 #include "Planet.h"
00037 
00043 class Packet : public CargoHolder 
00044 {
00045 public:
00046         Packet() : mSpeed(0), mDriverSpeed(0), mDestination(NULL), mFirstYear(false) { SetID(0); }
00047         Packet(const CargoHolder &source, long speed, long driverSpeed, Planet * destination);
00048         virtual bool ParseNode(const TiXmlNode * node);
00049         virtual TiXmlNode * WriteNode(TiXmlNode * node, const Player * viewer) const;
00050 
00051         bool IsEmpty() const    { return mMaxSize == 0; }
00052         virtual long GetCargoCapacity() const   { return mMaxSize; }
00053         virtual long GetCloak(const Player *, bool) const;
00054         virtual double GetMaxTachyon() const            { return 0.0; }
00055         virtual long GetScanPen() const;
00056         virtual long GetScanSpace() const;
00057         virtual void SetCanLoadBy(const Player *)       {}
00058         virtual bool CanLoadBy(const Player *) const    { return true; }        // anyone can load from a packet
00059 
00060         long GetSpeed() const           { return mSpeed; }
00061         long GetDriverSpeed() const     { return mDriverSpeed; }
00062         Planet * GetDestination()       { return mDestination; }
00063         bool Move(bool FirstYear);
00064          ~Packet();
00065 
00066 private:
00067         void Collide();
00068         void Decay(long distance); //distance traveled this turn
00069         long mSpeed;
00070         long mDriverSpeed;
00071         long mMaxSize;
00072         Planet * mDestination;
00073         bool mFirstYear;
00074 };
00075 
00076 #endif // Packet_h

Generated on Mon Aug 8 21:33:44 2005 for Freestars by  doxygen 1.4.2-20050421