#include "util/reader.hpp"
Platform::Platform(const Reader& reader) :
- MovingSprite(reader, Vector(0,0), LAYER_OBJECTS, COLGROUP_STATIC),
+ MovingSprite(reader, Vector(0,0), LAYER_OBJECTS, COLGROUP_STATIC),
path(),
walker(),
- speed(Vector(0,0)),
- automatic(false),
- player_contact(false),
+ speed(Vector(0,0)),
+ automatic(false),
+ player_contact(false),
last_player_contact(false)
{
bool running = true;
/*
Platform::Platform(const Platform& other) :
- MovingSprite(other),
- ScriptInterface(other),
- speed(other.speed),
- automatic(other.automatic),
- player_contact(false),
+ MovingSprite(other),
+ ScriptInterface(other),
+ speed(other.speed),
+ automatic(other.automatic),
+ player_contact(false),
last_player_contact(false)
{
name = other.name;
// Travel to node nearest to nearest player
// FIXME: does not really use nearest player
- Player* player = 0;
+ Player* player = 0;
std::vector<Player*> players = Sector::current()->get_players();
for (std::vector<Player*>::iterator playerIter = players.begin(); playerIter != players.end(); ++playerIter) {
player = *playerIter;
goto_node(nearest_node_id);
}
}
- }
+ }
if (player_contact && !last_player_contact && !walker->is_moving()) {
// Player touched platform, didn't touch last frame and Platform is not moving
int farthest_node_id = path->get_farthest_node_no(get_pos());
if (farthest_node_id != -1) {
goto_node(farthest_node_id);
- }
+ }
}
// Clear player_contact flag set by collision() method
Platform::expose(HSQUIRRELVM vm, SQInteger table_idx)
{
if (name.empty()) return;
- Scripting::Platform* interface = new Scripting::Platform(this);
- expose_object(vm, table_idx, interface, name, true);
+ scripting::Platform* _this = new scripting::Platform(this);
+ expose_object(vm, table_idx, _this, name, true);
}
void
Platform::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
{
if (name.empty()) return;
- Scripting::unexpose_object(vm, table_idx, name);
+ scripting::unexpose_object(vm, table_idx, name);
}
-IMPLEMENT_FACTORY(Platform, "platform");
-
/* EOF */