projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New sound effects
[supertux.git]
/
src
/
trigger
/
secretarea_trigger.cpp
diff --git
a/src/trigger/secretarea_trigger.cpp
b/src/trigger/secretarea_trigger.cpp
index
56e85a1
..
3242f45
100644
(file)
--- a/
src/trigger/secretarea_trigger.cpp
+++ b/
src/trigger/secretarea_trigger.cpp
@@
-32,7
+32,8
@@
SecretAreaTrigger::SecretAreaTrigger(const Reader& reader) :
message_timer(),
message_displayed(),
message(),
message_timer(),
message_displayed(),
message(),
- fade_tilemap()
+ fade_tilemap(),
+ script()
{
reader.get("x", bbox.p1.x);
reader.get("y", bbox.p1.y);
{
reader.get("x", bbox.p1.x);
reader.get("y", bbox.p1.y);
@@
-45,15
+46,17
@@
SecretAreaTrigger::SecretAreaTrigger(const Reader& reader) :
if(message == "") {
message = _("You found a secret area!");
}
if(message == "") {
message = _("You found a secret area!");
}
+ reader.get("script", script);
message_displayed = false;
}
message_displayed = false;
}
-SecretAreaTrigger::SecretAreaTrigger(const Rectf& area, std::string fade_tilemap) :
+SecretAreaTrigger::SecretAreaTrigger(const Rectf& area, std::string fade_tilemap
_
) :
message_timer(),
message_displayed(),
message(_("You found a secret area!")),
message_timer(),
message_displayed(),
message(_("You found a secret area!")),
- fade_tilemap(fade_tilemap)
+ fade_tilemap(fade_tilemap_),
+ script()
{
bbox = area;
message_displayed = false;
{
bbox = area;
message_displayed = false;
@@
-63,6
+66,12
@@
SecretAreaTrigger::~SecretAreaTrigger()
{
}
{
}
+std::string
+SecretAreaTrigger::get_fade_tilemap_name()
+{
+ return fade_tilemap;
+}
+
void
SecretAreaTrigger::draw(DrawingContext& context)
{
void
SecretAreaTrigger::draw(DrawingContext& context)
{
@@
-91,13
+100,17
@@
SecretAreaTrigger::event(Player& , EventType type)
// fade away tilemaps
Sector& sector = *Sector::current();
for(Sector::GameObjects::iterator i = sector.gameobjects.begin(); i != sector.gameobjects.end(); ++i) {
// fade away tilemaps
Sector& sector = *Sector::current();
for(Sector::GameObjects::iterator i = sector.gameobjects.begin(); i != sector.gameobjects.end(); ++i) {
- TileMap* tm = dynamic_cast<TileMap*>(
*i
);
+ TileMap* tm = dynamic_cast<TileMap*>(
i->get()
);
if (!tm) continue;
if (tm->get_name() != fade_tilemap) continue;
tm->fade(0.0, 1.0);
}
}
if (!tm) continue;
if (tm->get_name() != fade_tilemap) continue;
tm->fade(0.0, 1.0);
}
}
+ if(script != "") {
+ std::istringstream stream(script);
+ Sector::current()->run_script(stream, "SecretAreaScript");
+ }
}
}
}
}
}
}