UIComms Class


This class is used for the global variabel (ptr) gCommsMgr

   private:
                _TCHAR                  User_[64];
                BOOL                    Online_;
                BOOL                    Update_;
                char                    Status_;
                char                    InCampaign_;
                VU_ID                   TargetGame_;            // The game we're interested in

               PlayerStats             *GameStats_;

               UI_Hash                 *RemoteLogbooks_;

                void (*Callback_[game_MaxGameTypes])(short uptype,VU_ID game,VU_ID session);

        public:
                HWND                    AppWnd_;

                UIComms();
                ~UIComms();

                BOOL Setup(HWND hwnd);
                void SetCallback(int game,void (*rtn)(short,VU_ID,VU_ID));
                void StartComms(ComDataClass *ComData);
                void StartCommsDoneCB(int success);
                void StopComms();
                void Cleanup();
                BOOL LookAtGame(VuGameEntity *game);
                VuGameEntity* GetTargetGame();
                VU_ID GetTargetGameID() { return(TargetGame_); }
                void SetUserInfo();
                _TCHAR *GetUserInfo() { return(&User_[0]); }

                BOOL Online()                                   { return(Online_); }

                void SetStatus(char stat)               { Status_=stat; }
                char GetStatus()                                { return(Status_); }
                BOOL RemoteUpdate()                             { return(Update_); }
                void Updated()                                  { Update_=FALSE; }
                VuGameEntity* GetGame()                 { return FalconLocalGame; }

                void *GetRemoteLB(long playerID);
                void SendLogbook(VU_ID requester);
                void SendImage(uchar type,VU_ID requester);
                void ReceiveLogbook(VU_ID from,LB_PILOT *pilot);
                void ReceiveImage(VU_ID from,uchar type,short sec,short blksize,long offset,long size,uchar *data);

                // Campaign Stuff
                void SetCampaignFlag(char gameType) { InCampaign_=gameType; }
                char InCampaign()                               { return(InCampaign_); }
                FalconSessionEntity *FindCampaignPlayer(VU_ID FlightID, uchar planeid);
                void SendGameStatus(uchar status);

                void SetStatsFile(char *filename);
                void SaveStats();
                void LoadStats();
                void UpdateGameIter();
                void RemoteUpdateIter(long newIter);