networking

This commit is contained in:
2025-07-13 15:47:42 +03:00
parent f5b26be510
commit a9c28b8940
345 changed files with 142130 additions and 174 deletions

View File

@@ -0,0 +1,64 @@
//========= Copyright © 1996-2009, Valve LLC, All rights reserved. ============
//
// Purpose: Class for tracking leaderboards
//
//=============================================================================
#ifndef LEADERBOARDS_H
#define LEADERBOARDS_H
#include "SpaceWar.h"
#include "GameEngine.h"
#include "StatsAndAchievements.h"
#include "SpaceWarClient.h"
class ISteamUser;
class CSpaceWarClient;
class CLeaderboardMenu;
class CLeaderboards
{
public:
// Constructor
CLeaderboards( IGameEngine *pGameEngine );
// Run a frame
void RunFrame();
// shows / refreshes leaderboard
void Show();
// Updates leaderboards with stats from our just finished game
void UpdateLeaderboards( CStatsAndAchievements *pStats );
// handles input from leaderboard menu
void OnMenuSelection( LeaderboardMenuItem_t selection );
private:
void FindLeaderboards();
// Engine
IGameEngine *m_pGameEngine;
// Called when SteamUserStats()->FindOrCreateLeaderboard() returns asynchronously
void OnFindLeaderboard( LeaderboardFindResult_t *pFindLearderboardResult, bool bIOFailure );
CCallResult<CLeaderboards, LeaderboardFindResult_t> m_SteamCallResultCreateLeaderboard;
// Called when SteamUserStats()->UploadLeaderboardScore() returns asynchronously
void OnUploadScore( LeaderboardScoreUploaded_t *pFindLearderboardResult, bool bIOFailure );
CCallResult<CLeaderboards, LeaderboardScoreUploaded_t> m_SteamCallResultUploadScore;
// handles to our leaderboards
SteamLeaderboard_t m_hQuickestWinLeaderboard;
SteamLeaderboard_t m_hFeetTraveledLeaderboard;
int m_bLoading; // true if we looking up a leaderboard handle
CLeaderboardMenu *m_pLeaderboardMenu; // Displays the current leaderboard
int m_nCurrentLeaderboard; // Index for leaderboard the user is currently viewing
};
#endif // LEADERBOARDS_H