summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h')
-rw-r--r--src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h b/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h
index 4974324a0..62b37eb1d 100644
--- a/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h
+++ b/src/Simulator/IncrementalRedstoneSimulator/DropSpenserHandler.h
@@ -56,12 +56,18 @@ public:
bool WasPoweredPreviously = IsActivated(a_Meta);
if (IsPoweredNow && !WasPoweredPreviously)
{
- a_World.DoWithDropSpenserAt(a_Position.x, a_Position.y, a_Position.z, [](cDropSpenserEntity & a_DropSpenser)
+ class cSetPowerToDropSpenser :
+ public cDropSpenserCallback
+ {
+ public:
+ virtual bool Item(cDropSpenserEntity * a_DropSpenser) override
{
- a_DropSpenser.Activate();
+ a_DropSpenser->Activate();
return false;
}
- );
+ } DrSpSP;
+
+ a_World.DoWithDropSpenserAt(a_Position.x, a_Position.y, a_Position.z, DrSpSP);
}
// Update the internal dropspenser state if necessary