From 2fa6e3fa7893a5f8e277d1bbd77b8e145b097a5e Mon Sep 17 00:00:00 2001 From: Pavel Schoffer Date: Tue, 27 Mar 2018 08:01:13 +0200 Subject: [PATCH] Removes default empty state to be set * This used to break moving new machine without state --- CorsixTH/Lua/dialogs/place_objects.lua | 2 +- CorsixTH/Luatest/spec/entities/machine_spec.lua | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CorsixTH/Lua/dialogs/place_objects.lua b/CorsixTH/Lua/dialogs/place_objects.lua index 6b544ca97..f1e635b1b 100644 --- a/CorsixTH/Lua/dialogs/place_objects.lua +++ b/CorsixTH/Lua/dialogs/place_objects.lua @@ -510,7 +510,7 @@ function UIPlaceObjects:placeObject(dont_close_if_empty) self.world:prepareFootprintTilesForBuild(object_footprint, self.object_cell_x, self.object_cell_y) real_obj = self.world:newObject(object.object.id, self.object_cell_x, self.object_cell_y, self.object_orientation) - real_obj:setState(object.state or {}) + real_obj:setState(object.state) end if room then room.objects[real_obj] = true diff --git a/CorsixTH/Luatest/spec/entities/machine_spec.lua b/CorsixTH/Luatest/spec/entities/machine_spec.lua index 7e1b79814..f8793c771 100644 --- a/CorsixTH/Luatest/spec/entities/machine_spec.lua +++ b/CorsixTH/Luatest/spec/entities/machine_spec.lua @@ -61,4 +61,16 @@ describe("object.lua: ", function() assert.are.equal(machine1.times_used, machine2.times_used) assert.are.equal(machine1.total_usage, machine2.total_usage) end) + it("setting null state doesn't clear values", function() + local machine = createMachineWithFakeInput() + machine:updateDynamicInfo() + + assert.are.equal(1, machine.times_used) + assert.are.equal(1, machine.total_usage) + + machine:setState(nil) + + assert.are.equal(1, machine.times_used) + assert.are.equal(1, machine.total_usage) + end) end)