mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-05-11 03:34:07 +00:00
ru:: hints
This commit is contained in:
parent
9bb368a1de
commit
98edbb9f48
@ -191,6 +191,17 @@ struct npc : public entity {
|
||||
void act() override;
|
||||
};
|
||||
|
||||
struct hint : public entity {
|
||||
string hint_text;
|
||||
int state;
|
||||
int width, height;
|
||||
double sx() override { return width; }
|
||||
double sy() override { return height; }
|
||||
string glyph() override { return " "; }
|
||||
color_t color() override { return 0; }
|
||||
void act() override;
|
||||
};
|
||||
|
||||
struct item : public entity {
|
||||
int id;
|
||||
string pickup_message;
|
||||
|
@ -194,4 +194,12 @@ void npc::act() {
|
||||
}
|
||||
}
|
||||
|
||||
void hint::act() {
|
||||
bool cur = intersect(get_pixel_bbox(), m.get_pixel_bbox());
|
||||
if(cur && !state) {
|
||||
addMessage(hint_text);
|
||||
}
|
||||
state = cur;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -127,6 +127,12 @@ void load_room(fhstream& f, cell *c) {
|
||||
b->text = scanline_noblank(f);
|
||||
r.entities.emplace_back(std::move(b));
|
||||
}
|
||||
else if(cap == "HINT") {
|
||||
auto b = std::make_unique<hint>();
|
||||
sscanf(param.c_str(), "%lf%lf%d%d", &b->where_x, &b->where_y, &b->width, &b->height);
|
||||
b->hint_text = scanline_noblank(f);
|
||||
r.entities.emplace_back(std::move(b));
|
||||
}
|
||||
else println(hlog, "unknown mapline ", s);
|
||||
}
|
||||
else println(hlog, "unknown mapline ", s);
|
||||
|
Loading…
x
Reference in New Issue
Block a user