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
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
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, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef AGS_PLUGINS_CORE_OBJECT_H
24 #define AGS_PLUGINS_CORE_OBJECT_H
25 
26 #include "ags/plugins/ags_plugin.h"
27 
28 namespace AGS3 {
29 namespace Plugins {
30 namespace Core {
31 
32 class Object : public ScriptContainer {
BUILT_IN_HASH(Object)33 	BUILT_IN_HASH(Object)
34 public:
35 	virtual ~Object() {}
36 	void AGS_EngineStartup(IAGSEngine *engine) override;
37 
38 	void Animate(ScriptMethodParams &params);
39 	void IsCollidingWithObject(ScriptMethodParams &params);
40 	void GetName(ScriptMethodParams &params);
41 	void GetProperty(ScriptMethodParams &params);
42 	void GetPropertyText(ScriptMethodParams &params);
43 	void GetTextProperty(ScriptMethodParams &params);
44 	void MergeIntoBackground(ScriptMethodParams &params);
45 	void Move(ScriptMethodParams &params);
46 	void RemoveTint(ScriptMethodParams &params);
47 	void RunInteraction(ScriptMethodParams &params);
48 	void SetPosition(ScriptMethodParams &params);
49 	void SetView(ScriptMethodParams &params);
50 	void StopAnimating(ScriptMethodParams &params);
51 	void StopMoving(ScriptMethodParams &params);
52 	void Tint(ScriptMethodParams &params);
53 	void GetObjectAtRoom(ScriptMethodParams &params);
54 	void GetObjectAtScreen(ScriptMethodParams &params);
55 	void GetAnimating(ScriptMethodParams &params);
56 	void GetBaseline(ScriptMethodParams &params);
57 	void SetBaseline(ScriptMethodParams &params);
58 	void GetBlockingHeight(ScriptMethodParams &params);
59 	void SetBlockingHeight(ScriptMethodParams &params);
60 	void GetBlockingWidth(ScriptMethodParams &params);
61 	void SetBlockingWidth(ScriptMethodParams &params);
62 	void GetClickable(ScriptMethodParams &params);
63 	void SetClickable(ScriptMethodParams &params);
64 	void GetFrame(ScriptMethodParams &params);
65 	void GetGraphic(ScriptMethodParams &params);
66 	void SetGraphic(ScriptMethodParams &params);
67 	void GetID(ScriptMethodParams &params);
68 	void GetIgnoreScaling(ScriptMethodParams &params);
69 	void SetIgnoreScaling(ScriptMethodParams &params);
70 	void GetIgnoreWalkbehinds(ScriptMethodParams &params);
71 	void SetIgnoreWalkbehinds(ScriptMethodParams &params);
72 	void GetLoop(ScriptMethodParams &params);
73 	void GetMoving(ScriptMethodParams &params);
74 	void GetName_New(ScriptMethodParams &params);
75 	void GetSolid(ScriptMethodParams &params);
76 	void SetSolid(ScriptMethodParams &params);
77 	void GetTransparency(ScriptMethodParams &params);
78 	void SetTransparency(ScriptMethodParams &params);
79 	void GetView(ScriptMethodParams &params);
80 	void GetVisible(ScriptMethodParams &params);
81 	void SetVisible(ScriptMethodParams &params);
82 	void GetX(ScriptMethodParams &params);
83 	void SetX(ScriptMethodParams &params);
84 	void GetY(ScriptMethodParams &params);
85 	void SetY(ScriptMethodParams &params);
86 };
87 
88 } // namespace Core
89 } // namespace Plugins
90 } // namespace AGS3
91 
92 #endif
93