ScummVM API documentation
ags_galaxy_steam.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * of the License, or(at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef AGS_PLUGINS_AGS_GALAXY_STEAM_AGS_GALAXY_STEAM_H
23 #define AGS_PLUGINS_AGS_GALAXY_STEAM_AGS_GALAXY_STEAM_H
24 
25 #include "ags/plugins/ags_plugin.h"
26 #include "common/array.h"
27 #include "common/rect.h"
28 #include "common/str.h"
29 #include "engines/achievements.h"
30 
31 namespace AGS3 {
32 namespace Plugins {
33 namespace AGSGalaxySteam {
34 
35 class AGS2Client : public PluginBase {
36  SCRIPT_HASH(AGS2Client)
37 protected:
38  void IsAchievementAchieved(ScriptMethodParams &params);
39  void SetAchievementAchieved(ScriptMethodParams &params);
40  void ResetAchievement(ScriptMethodParams &params);
41  void GetIntStat(ScriptMethodParams &params);
42  void GetFloatStat(ScriptMethodParams &params);
43  void GetAverageRateStat(ScriptMethodParams &params);
44  void SetIntStat(ScriptMethodParams &params);
45  void SetFloatStat(ScriptMethodParams &params);
46  void UpdateAverageRateStat(ScriptMethodParams &params);
47  void ResetStatsAndAchievements(ScriptMethodParams &params);
48  void get_Initialized(ScriptMethodParams &params);
49  void get_CurrentLeaderboardName(ScriptMethodParams &params);
50  void RequestLeaderboard(ScriptMethodParams &params);
51  void UploadScore(ScriptMethodParams &params);
52  void geti_LeaderboardNames(ScriptMethodParams &params);
53  void geti_LeaderboardScores(ScriptMethodParams &params);
54  void get_LeaderboardCount(ScriptMethodParams &params);
55  void GetUserName(ScriptMethodParams &params);
56  void GetCurrentGameLanguage(ScriptMethodParams &params);
57  void FindLeaderboard(ScriptMethodParams &params);
58  void Initialize(ScriptMethodParams &params);
59 
60 public:
61  AGS2Client() : PluginBase() {}
62  virtual ~AGS2Client() {}
63 
64  void AGS_EngineStartup(IAGSEngine *engine) override;
65 };
66 
67 class AGSGalaxy : public AGS2Client {
68  SCRIPT_HASH_SUB(AGSGalaxy, AGS2Client)
69 public:
70  AGSGalaxy() : AGS2Client() {}
71  virtual ~AGSGalaxy() {}
72 
73  const char *AGS_GetPluginName() override;
74  void AGS_EngineStartup(IAGSEngine *engine) override;
75 };
76 
77 class AGSSteam : public AGS2Client {
78  SCRIPT_HASH_SUB(AGSSteam, AGS2Client)
79 public:
80  AGSSteam() : AGS2Client() {}
81  virtual ~AGSSteam() {}
82 
83  const char *AGS_GetPluginName() override;
84  void AGS_EngineStartup(IAGSEngine *engine) override;
85 };
86 
87 } // namespace AGSGalaxySteam
88 } // namespace Plugins
89 } // namespace AGS3
90 
91 #endif
Definition: ags_galaxy_steam.h:35
Definition: ags_galaxy_steam.h:67
Definition: plugin_base.h:171
Definition: ags_galaxy_steam.h:77
Definition: plugin_base.h:131
Definition: ags_plugin.h:328
Definition: ags.h:40