namespace map {
-MapState::MapState(const Map *map)
+MapState::MapState(Map *map)
: map(map)
, controlled(0)
, tempTarget(20, 20)
} else {
controlled->SetSpeed(0.0f);
}
+ if (!controlled->AnimationRunning()) {
+ controlled->StartAnimation(*this);
+ }
} else {
controlled->SetSpeed(0.0f);
+ controlled->StopAnimation();
}
if (nowLock != lastLock) {
lastLock = nowLock;
}
void MapState::OnGridLock() {
- // TODO: check for adjacent monsters and triggers on the current tile
+ Trigger *trigger(map->TriggerAt(Vector<int>(controlled->Position())));
+ if (trigger) {
+ // TODO: run trigger
+ }
+ // TODO: check for adjacent monsters
// TODO: force all entities into their grid positions?
}