FalconGameEntity


public:
  FalconGameType gameType;
  RulesClass  rules;
 
 public:
  // constructors & destructor
  FalconGameEntity(ulong domainMask, char *gameName);
  FalconGameEntity(VU_BYTE **stream);
  FalconGameEntity(FILE *file);
  virtual ~FalconGameEntity();

  // encoders
  virtual int SaveSize();
  virtual int Save(VU_BYTE **stream);
  virtual int Save(FILE *file);

  void DoFullUpdate(void);

  // accessors
  FalconGameType GetGameType (void);
  RulesClass *GetRules(void)     { return &rules; }

  // setters
  void SetGameType (FalconGameType type);
  void UpdateRules (RulesStruct *newrules);
  void EncipherPassword(char *pw,long size);
  long CheckPassword(_TCHAR *passwd);

  // event Handlers
  virtual VU_ERRCODE Handle(VuFullUpdateEvent *event);

  // Other crap
  virtual VU_ERRCODE Distribute(VuSessionEntity *sess);

 private:
  int LocalSize(void);