class 'l_10_Dead_ship_shore_Z_Cauldron' (ZoomZone)

function l_10_Dead_ship_shore_Z_Cauldron:__init(name, mode, PlayField)
	ZoomZone.__init(self, name, mode, PlayField)
	local tool_glue 		= '12_glue'
	local tool_mop 			= '13_mop'
	local tool_lighter 		= '07_lighter'
	local tool_glue_stick 	= '10_glue_stick'
	local tool_button 		= '10_remote_control_button_2'
	local isFire = false
	
	-- apply_glue -------------------------------------------------------------
	do 
		local function on_apply_glue(e)
			self:entityHide(e.target)
			if e.save then
				self:entityShow('zc_glue')
				if isFire then
					self:entityShow('zc_bubbles')
				end
			else
				self:entityFadeShow('zc_glue')
			end

			if isFire then
				self:entityFadeShow('zc_bubbles')
				self:entityShow('area_apply_mop')
			else
				isFire = true
			end
		end
		self:registerToolApplyInfo(tool_glue, 'area_apply_glue', on_apply_glue, 'BBT_10_NEED_GLUE')
	end 	
	--------------------------------------------------------------------------

	-- apply_lighter -------------------------------------------------------------
	do
		local function on_apply_lighter(e)
			self:entityHide(e.target)
			if e.save then
				self:entityShow('zc_fire')
				if isFire then
					self:entityShow('zc_bubbles')
				end
			else
				self:entityFadeShow('zc_fire')
			end

			if isFire then
				self:entityFadeShow('zc_bubbles')
				self:entityShow('area_apply_mop')
			else
				isFire = true
			end
		end
		self:registerToolApplyInfo(tool_lighter, 'area_apply_lighter', on_apply_lighter, 'BBT_10_NEED_LIGHTER')
	end
	--------------------------------------------------------------------------

	-- apply_mop -------------------------------------------------------------
	do
		local function on_apply_mop(e)
			self:entityHide(e.target)
			self:entityShow('area_find_glue_stick')

			if e.save then
				self:entityShow('zc_mop')
			else
				self:entityFadeShow('zc_mop')
			end
		end
		self:registerToolApplyInfo(tool_mop, 'area_apply_mop', on_apply_mop, 'BBT_10_NEED_MOP')
	end
	--------------------------------------------------------------------------

	-- find_glue_stick -------------------------------------------------------------
	do
		local function on_find_glue_stick(e)
			self:entityHide(e.target)

			if e.save then
				self:entityHide('zc_mop')
			else
				self:entityFadeHide('zc_mop')
			end
			
			if IsToolFound(tool_button) then 
				self:closeAndDisable()
			end
		end
		self:registerToolFindInfo(tool_glue_stick, 'area_find_glue_stick', on_find_glue_stick)
	end
	--------------------------------------------------------------------------

	-- find_button -------------------------------------------------------------
	do
		local function on_find_button(e)
			self:entityHide(e.target)
			
			if e.save then
				self:entityHide('zc_button')
			else
				self:entityFadeHide('zc_button')
			end

			if IsToolFound(tool_glue_stick) then 
				self:closeAndDisable()
			end
		end
		self:registerToolFindInfo(tool_button, 'area_find_button', on_find_button)
	end 
	--------------------------------------------------------------------------
end

--------------------------------------------------------------------------------
--                      GENERATED CONTENT. DO NOT EDIT.                       --
--------------------------------------------------------------------------------

function l_10_Dead_ship_shore_Z_Cauldron:CreateLoaderTable()
	local objects =
	{
		{ name = 'zc_bg',  entityType = 'SpriteEntity',  x = 512,  y = 384,  order = 0,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_bg.jpg',  width = 640,  height = 480,  },
		{ name = 'zc_drova',  entityType = 'SpriteEntity',  x = 470.081,  y = 575.595,  order = 5,  isVisible = false,  isRespondable = false,  isActive = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_woods.png',  width = 330,  height = 97,  },
		{ name = 'zc_fire',  entityType = 'SpriteEntity',  x = 453.324,  y = 513.432,  order = 10,  isVisible = false,  isRespondable = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_fire.png',  width = 469,  height = 222,  },
		{ name = 'zc_glue',  entityType = 'SpriteEntity',  x = 463.054,  y = 301,  order = 5,  isVisible = false,  isRespondable = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_glue.png',  width = 345,  height = 223,  },
		{ name = 'zc_button',  entityType = 'SpriteEntity',  x = 740,  y = 517,  order = 5,  isRespondable = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_button.png',  width = 49,  height = 40,  },
		{ name = 'zc_bubbles',  entityType = 'SpriteEntity',  x = 474,  y = 337,  order = 10,  isVisible = false,  isRespondable = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_bubbles.png',  width = 273,  height = 151,  },
		{ name = 'zc_mop',  entityType = 'SpriteEntity',  x = 565,  y = 310,  order = 15,  isVisible = false,  isRespondable = false,  editingLocked = false,  treeItemIsExpanded = true,  hotSpot = {x = 127, y = 176.5},  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_mop.png',  width = 254,  height = 353,  },
		{ name = 'zc_mop_path',  entityType = 'SpriteEntity',  x = 483,  y = 446,  order = 20,  isRespondable = false,  isActive = false,  editingLocked = false,  treeItemIsExpanded = true,  texturePath = 'Data/Textures/Scenes/10_Dead_ship_shore/Z_Cauldron/zc_patch.png',  width = 96,  height = 98,  },
		{ name = 'area_find_button',  entityType = 'SpriteEntity',  x = 739.615,  y = 513.692,  order = 30,  scale = 10,  color = {r = 1, g = 1, b = 1, a = 0.00392157},  editingLocked = false,  treeItemIsExpanded = true,  width = 10,  height = 10,  },
		{ name = 'area_apply_lighter',  entityType = 'SpriteEntity',  x = 479.615,  y = 573.692,  order = 30,  scaleX = 35,  scaleY = 10,  color = {r = 1, g = 1, b = 1, a = 0.00392157},  editingLocked = false,  treeItemIsExpanded = false,  width = 10,  height = 10,  },
		{ name = 'area_apply_glue',  entityType = 'SpriteEntity',  x = 461.795,  y = 283.692,  order = 30,  angle = -14,  scaleX = 27,  scaleY = 20,  color = {r = 1, g = 1, b = 1, a = 0.00392157},  editingLocked = false,  treeItemIsExpanded = false,  width = 10,  height = 10,  },
		{ name = 'area_apply_mop',  entityType = 'SpriteEntity',  x = 461.795,  y = 283.692,  order = 25,  isVisible = false,  isRespondable = false,  isActive = false,  angle = -14,  scaleX = 27,  scaleY = 20,  color = {r = 1, g = 1, b = 1, a = 0.00392157},  editingLocked = false,  treeItemIsExpanded = false,  width = 10,  height = 10,  },
		{ name = 'area_find_glue_stick',  entityType = 'SpriteEntity',  x = 559,  y = 283,  order = 30,  isVisible = false,  isRespondable = false,  isActive = false,  scaleX = 22,  scaleY = 25,  color = {r = 1, g = 1, b = 1, a = 0.00392157},  editingLocked = false,  treeItemIsExpanded = true,  width = 10,  height = 10,  },
	}
	return objects
end
