local zoom_pig;
local zoom_book;
local zoom_door;

function OnSceneLoad(screen)
    LoadData(screen)
    DefaultOnSceneLoad('data/Scenes/06_Laundry_Main.lua', 'quest')
    
    if HasGameState('ToolFound', '06_button') then
        AddNoteToNotebook('LAUNDROMAT_2');
    end
    
    game_state._06_button_founded    = HasGameState('ToolFound', '06_button');
    game_state._06_ball_founded      = HasGameState('ToolFound', '06_ball');
    game_state._06_scoop_net_founded = HasGameState('ToolFound', '06_scoop_net');
    
    play_field:GetObject('rat1_anim'):GetAnimation():SetMode(HGEANIM_FWD + HGEANIM_NOLOOP);
    play_field:GetObject('rat1_anim'):GetAnimation():Stop();
    play_field:GetObject('rat1_anim'):SetVisible(false);
    
    play_field:GetObject('area_soap_apply'      ):SetVisible(false);
    play_field:GetObject('area_pig_zoom'        ):SetVisible(false);
    play_field:GetObject('area_book'            ):SetVisible(false);
    play_field:GetObject('area_door_close'      ):SetVisible(false);
    play_field:GetObject('area_laundry2'        ):SetVisible(false);
    play_field:GetObject('area_pig'             ):SetVisible(false);
    play_field:GetObject('area_ho_utility_room' ):SetVisible(false);
    
    play_field:GetObject('Laundress_soap'   ):SetOpacity(0);
    play_field:GetObject('Door_open'        ):SetOpacity(0);
    play_field:GetObject('Door_left_open'   ):SetOpacity(0);
    
    
    play_field:GetObject('pig_anim'):GetAnimation():SetMode(HGEANIM_FWD + HGEANIM_NOLOOP);
    play_field:GetObject('pig_anim'):GetAnimation():Stop();
    
    HideFindedHiddenObjects();
    
    if not HasGameState('ActionCompleted', 'data/Scenes/06_Laundry_Shelves_HO.lua(door_opened)') then
        play_field:GetObject('Shelve_door_open'):SetVisible(false)
    end
    
    zoom_pig = CreateZoomZone(  'area_pig_zoom',
                                'CloseZonePigBroken',
                                'ZOOM_pig',     true,
                                'area_key',     true,
                                'key_in_zoom',  true);
    
    play_field:GetObject('area_key'):GetAnimation():SetColor('0x01FFFFFF');
    
    zoom_book = CreateZoomZone( 'area_book',
                                'CloseZoneBook',
                                'ZOOM_book',    true);
    
    zoom_book.on_open = function()
        if not HasGameState('ActionCompleted', 'LaundyCodeFounded') then
            AddGameState('ActionCompleted', 'LaundyCodeFounded');
        end
        
        AddNoteToNotebook('LAUNDROMAT');
    --    ShowMonolog('C_06_BOOK_HINT', 'C_06_BOOK_HINT');
    end

    zoom_door = CreateZoomZone( 'area_door_close',
                                'CloseZoomDoor',
                                'ZOOM_door',    true,
                                'area_keyhole', true,
                                'Key_layer',    false);
    
    play_field:GetObject('area_keyhole'):GetAnimation():SetColor('0x01FFFFFF');
                                
    zoom_door.on_open = function()
--        ShowMonolog('C_06_DOOR_HINT', 'C_06_DOOR_HINT');
    end
    
    RegisterToolApplyInfo('06_key', 'area_keyhole', nil, nil,   function(tool_name)
                                                                    zoom_door.SetObjectVisible('area_keyhole',  false);
                                                                    zoom_door.SetObjectVisible('Key_layer',     true);
                                                                    
                                                                    PlaySound('06_UseKey')
                                                                end,
                                                                function(tool_name)
                                                                    zoom_door.SetObjectVisible('area_keyhole',  false);
                                                                    zoom_door.SetObjectVisible('Key_layer',     true);
                                                                end);
    
    RegisterActiveObject('Key_layer',                           function(obj_name)
                                                                    local key  = play_field:GetObject('Key_layer');
                                                                    local time = 1;
                                                                    
                                                                    local eff = CreateAnimationEffector();
                                                                    eff:AttachTo(key)
                                                                    eff:SetMode(_ANIM_FWD + _ANIM_NOLOOP);
                                                                    
                                                                    eff:SetKey(_TRACK_A, 0,        key:GetAngle());
                                                                    eff:SetKey(_TRACK_A, time*0.9, key:GetAngle() + 182/180 * M_PI);
                                                                    eff:SetKey(_TRACK_A, time,     key:GetAngle() + M_PI);
                                                                    eff:Play();
                                                                    
                                                                    AddGameState('ActionCompleted', 'Laundry_right_door_open')
                                                                    
                                                                    PlaySound('06_KeyRotate');
                                                                    
                                                                    TimerDoString("OnKeyRotated();", time, play_field:GetTimer());
                                                                end,
                                                                function(obj_name)
                                                                    zoom_door.Disable();
                                                                    play_field:GetObject('Door_open'):SetOpacity(1);
                                                                    play_field:GetObject('area_laundry2'):SetVisible(true);
                                                                end);
                                                                
    RegisterToolFindInfo('06_valve', 'area_key',                function(tool_name)
                                                                    zoom_pig.SetObjectVisible('key_in_zoom', true);
                                                                    zoom_pig.Disable();
                                                                end,
                                                                function(tool_name)
                                                                    zoom_pig.Disable();
                                                                end);
    
    
    local on_enter_comics = CreateComics('06_OnEnter',
                                CreateComicsFrame('Laundress', 'C_06_START_1_LAUNDRESS',  'Laundress', 'Laundress_hand'),
                                CreateComicsFrame('Dupen',     'C_06_START_2_DUPEN',      'body', 'head1'),
                                CreateComicsFrame('Laundress', 'C_06_START_3_LAUNDRESS',  'Laundress', 'Laundress_hand'),
                                CreateComicsFrame('Dupen',     'C_06_START_4_DUPEN',      'body', 'head1'),
                                CreateComicsFrame('Laundress', 'C_06_START_5_LAUNDRESS',  'Laundress', 'Laundress_hand'));
    if on_enter_comics then
        on_enter_comics.AddNoFadeOnFineshObject('Laundress');
        on_enter_comics.AddNoFadeOnFineshObject('Laundress_hand');
            
        on_enter_comics.on_finish = function()  
            DoAfterEnterComics();
        end
        on_enter_comics.SetVisible( true );
    else
        play_field:GetObject('Laundress'      ):SetOpacity(1);
        play_field:GetObject('Laundress_hand' ):SetOpacity(1);
        
        DoAfterEnterComics();
    end
end

function OnKeyRotated()
    zoom_door.SetVisible(false);
    zoom_door.Disable();
    
    TimerDoString("OpenLaundry2Door();", ZOOM_ZONE_APPEARING_TIME, play_field:GetTimer());
end

function OpenLaundry2Door()
    play_field:GetObject('Door_open'):ChangeOpacity(0, 1, OPEN_DOOR_TIME);
    play_field:GetObject('area_laundry2'):SetVisible(true);
    
    PlaySound('06_OpenRightDoor')
end

function HideFindedHiddenObjects()
    local ho_path = 'data/Scenes/06_Laundry_Table_HO.lua';
    
    if HasGameState('TaskObjectFound', ho_path..'(Bell)') then
        play_field:GetObject("bell_layer"):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Broom)') then
        play_field:GetObject('broom_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Horseshoe)') then
        play_field:GetObject('horceshooe_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Iron)') then
        play_field:GetObject('iron_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Rope)') then
        play_field:GetObject('rope_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Tool1)') then
        play_field:GetObject('tool_1_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Tool2)') then
        play_field:GetObject('tool_2_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Tool3)') then
        play_field:GetObject('tool_3_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(WateringCan)') then
        play_field:GetObject('watering_can_layer'):SetVisible(false);
    end
    
    if HasGameState('TaskObjectFound', ho_path..'(Weigher)') then
        play_field:GetObject('weigher_layer'):SetVisible(false);
    end
end

function DoAfterEnterComics()
    AddNoteToNotebook('LAUNDRY_LADY');
    
    play_field:GetObject('area_soap_apply'):SetVisible(true);
    
    RegisterToolApplyInfo('05_soap', 'area_soap_apply', nil, nil,   function(tool_name)
                                                                        play_field:GetObject('area_soap_apply'):SetVisible(false);
                                                                        
                                                                        local comics = CreateComics('06_ThanksDialog',
                                                                                        CreateComicsFrame('Laundress', 'C_06_THANKS_1_LAUNDRESS', 'Laundress', 'Laundress_soap'));
                                                                        if comics then
                                                                            play_field:GetObject('Laundress'):SetOpacity(1.);
                                                                            play_field:GetObject('Laundress_hand'):ChangeOpacity(1, 0, ZOOM_ZONE_APPEARING_TIME);
                                                                            
                                                                            comics.on_finish = function()  
                                                                                RegisterHOLinks();
                                                                            end
                                                                            comics.SetVisible( true );
                                                                        end
                                                                    end,
                                                                    function(tool_name)
                                                                        play_field:GetObject('area_soap_apply'):SetVisible(false);
                                                                        play_field:GetObject('Laundress'):SetOpacity(0);
                                                                        play_field:GetObject('Laundress_hand'):SetOpacity(0);
                                                                        
                                                                        RegisterHOLinks();
                                                                    end);
    PlayAnimationPeriodicallyVsDelay('rat1_anim', 90)
end

function RegisterHOLinks()
    if not HasGameState('MiniGameCompleted', '06_laundry') then
        play_field:GetObject('area_book'):SetVisible(true);
    end
    
    play_field:GetObject('area_door_close'      ):SetVisible(true);
    play_field:GetObject('area_pig'             ):SetVisible(true);
    
    LinkScene(  'area_ho_table',
                'CursorGlass',
                'data/Scenes/06_Laundry_Table_HO.lua',
                true);
    
    LinkScene(  'area_ho_shelves',
                'CursorGlass',
                'data/Scenes/06_Laundry_Shelves_HO.lua',
                true);
    
    LinkScene(  'area_laundry2',
                'CursorUp',
                'data/Scenes/06_Laundry2_Main.lua',
                false);
    
    LinkScene(  'area_mg_table',
                'CursorGlass',
                'data/Scenes/Minigames/06_laundry.lua',
                false);
                
    RegisterToolApplyInfo('06_hammer', 'area_pig', nil, nil,        function(obj_name)
                                                                        play_field:GetObject('area_pig'     ):SetVisible(false);
                                                                        play_field:GetObject('area_pig_zoom'):SetVisible(true);
                                                                        
                                                                        play_field:GetObject('pig_anim'):GetAnimation():Play();
                                                                        
                                                                        PlaySound('06_BreakPig')
                                                                    end,
                                                                    function(obj_name)
                                                                        play_field:GetObject('area_pig'     ):SetVisible(false);
                                                                        play_field:GetObject('area_pig_zoom'):SetVisible(true);
                                                                        
                                                                        local pig = play_field:GetObject('pig_anim'):GetAnimation();
                                                                        pig:SetFrame(pig:GetFrames() - 1);
                                                                    end)
                                                                    
    RegisterActiveObject('area_open_left_door',                     function(obj_name)
                                                                        AddGameState('ActionCompleted', 'Laundry_left_door_open');
                                                                        
                                                                        play_field:GetObject('Door_left_open'):ChangeOpacity(0, 1, OPEN_DOOR_TIME);
                                                                        
                                                                        play_field:GetObject( obj_name               ):SetVisible(false);
                                                                        play_field:GetObject( 'area_ho_utility_room' ):SetVisible(true);
                                                                        
                                                                        PlaySound('06_OpenLeftDoor');
                                                                        
                                                                        LinkScene(  'area_ho_utility_room',
                                                                                    'CursorLeft',
                                                                                    'data/Scenes/06_Laundry_Utility_Room_HO.lua',
                                                                                    true);
                                                                    end,
                                                                    function(obj_name)
                                                                        play_field:GetObject('Door_left_open'):SetOpacity(1);
                                                                        
                                                                        play_field:GetObject( obj_name               ):SetVisible(false);
                                                                        play_field:GetObject( 'area_ho_utility_room' ):SetVisible(true);
                                                                        
                                                                        LinkScene(  'area_ho_utility_room',
                                                                                    'CursorLeft',
                                                                                    'data/Scenes/06_Laundry_Utility_Room_HO.lua',
                                                                                    true);
                                                                    end);
end

function OnSceneFree(screen)
    DefaultOnSceneFree()
    FreeData(screen)
end

function OnUpdate(dt)
    if game_state.fly_tools:GetNReferences() == 0
      and game_state.locker:GetNReferences() == 0
      and game_state._06_ball_founded
      and game_state._06_button_founded
      and game_state._06_scoop_net_founded
      and not game_state.final
    then
        TimerDoString("ShowFinalDialog();", 0.5, play_field:GetTimer());
        game_state.final = true;
    end
    
    DefaultOnUpdate(dt)
end

function ShowFinalDialog()
    local comics = CreateComics('06_Final', CreateComicsFrame('Dupen', 'C_06_FINAL_DUPEN', 'body', 'head1'));
    
    if comics then
        comics.on_finish = function() 
            game_state.parent_scene = nil; 
            TimerDoString("CompleteLevel('Laundry');", ZOOM_ZONE_APPEARING_TIME, play_field:GetTimer());
        end
        comics.SetVisible( true );
    else
        game_state.parent_scene = nil;
        CompleteLevel('Laundry');
    end
end

function OnAllItemsFound()
    DefaultOnAllItemsFound()
end

function OnLose()
    DefaultOnLose()
end

function OnExit()
    DefaultOnExit()
end

function OnClose()
    DefaultOnClose()
end

function OnObjectMouseEnter(object)
    DefaultOnObjectMouseEnter(object)
end

function OnObjectMouseLeave(object)
    DefaultOnObjectMouseLeave(object)
end

function OnObjectMouseDown(object)
    local is_wrong_click = not DefaultOnObjectMouseDown(object)
    local obj_name = object:GetName()
    local pf = play_field
    
    if obj_name == 'area_soap_apply'
    then
        ShowMonolog('C_06_SOAP_HINT', 'C_06_SOAP_HINT');
    elseif obj_name == 'area_pig'
    then
        ShowMonolog('C_06_PIG_HINT', 'C_06_PIG_HINT');
    elseif obj_name == 'ZOOM_book'
    then
        ShowMonolog('C_06_BOOK_HINT', 'C_06_BOOK_HINT');
    elseif obj_name == 'ZOOM_door'
        or obj_name == 'area_keyhole'
    then
        ShowMonolog('C_06_DOOR_HINT', 'C_06_DOOR_HINT');
    end
    
    DefaultOnObjectMouseDownProcessed(is_wrong_click);
end

function OnObjectMouseUp(object)
    DefaultOnObjectMouseUp(object)
end

function OnObjectFound(object)
    DefaultOnObjectFound(object)
end

function OnToolFound(tool)
    DefaultOnToolFound(tool)
end

function OnToolApply(tool, object)
    DefaultOnToolApply(tool, object)
end

function OnObjectReachPanel(object)
    DefaultOnObjectReachPanel(object)
end

function OnButtonPress(title)
    DefaultOnButtonPress(title)
end

function OnMouseMove(previous_pos, current_pos)
    DefaultOnMouseMove(previous_pos, current_pos)
end

function OnSetTool(tool)
    DefaultOnSetTool(tool)
end

function LevelLoaded(level)
end

function OnSceneDestroy(playfield)
    DefaultOnSceneDestroy(playfield)
end

--------------------------------------------------------------------------------
-- CLEAR_ON_SAVE_BEGIN
-- Do not edit code listed below (generated by the editor on each save)
function LoadData(screen)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Layers/background.jpg',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('background',anim,512,384,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Characters/Dupen/body.png',0,0,376,520,1,0)
	anim:SetHotSpot(188,260)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('body',anim,245,508,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Characters/Dupen/head1.png',0,0,185,244,1,0)
	anim:SetHotSpot(92,122)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('head1',anim,278,203,111,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/05_Gendarmery/Zone_wart/Animations/fly_anim.png',0,0,217,217,8,13)
	anim:SetHotSpot(108,108)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('fly_anim_2',anim,445,240,101,0,0.9,0.9)
	local anim = CreateAnimation('data/Texture/Scenes/11_Restaurant/Zone_HO/Animations/Fly_anim.png',0,0,33,88,23,10)
	anim:SetHotSpot(15,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Fly_anim',anim,943,216,104,90,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/11_Restaurant/Zone_HO/Animations/Fly_anim.png',0,0,33,88,23,8)
	anim:SetHotSpot(15,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Fly_anim_22',anim,58,55,104,270,0.6,0.6)
	local anim = CreateAnimation('data/Texture/Scenes/05_Gendarmery/Zone_wart/Animations/rat1_anim.png',0,0,389,109,44,25)
	anim:SetHotSpot(194,54)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('rat1_anim',anim,619,576,101,0,-0.95,0.95)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_ho_shelves',anim,788,406,102,0,10,20)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_ho_table',anim,323,267,103,0,15,15)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_mg_table',anim,337,411,103,0,10,5)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area_circle.png',0,0,128,128,1,0)
	anim:SetHotSpot(64,64)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_soap_apply',anim,743,343,114,0,3.5,4)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Animations/pig_anim.png',0,0,163,98,21,25)
	anim:SetHotSpot(81,49)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pig_anim',anim,476,599,102,0,-1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area_circle.png',0,0,128,128,1,0)
	anim:SetHotSpot(64,64)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_pig',anim,446,613,103,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area_circle.png',0,0,128,128,1,0)
	anim:SetHotSpot(64,64)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_pig_zoom',anim,477,613,104,0,1.3,0.7)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Zoom_pig/Layers/ZOOM_pig.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('ZOOM_pig',anim,512,384,150,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_key',anim,448,314,152,0,10,10)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/bell_layer.png',0,0,45,55,1,0)
	anim:SetHotSpot(22,27)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bell_layer',anim,380,409,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/broom_layer.png',0,0,43,84,1,0)
	anim:SetHotSpot(21,42)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('broom_layer',anim,123,388,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/horceshooe_layer.png',0,0,38,35,1,0)
	anim:SetHotSpot(19,17)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('horceshooe_layer',anim,393,158,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/iron_layer.png',0,0,39,26,1,0)
	anim:SetHotSpot(19,13)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('iron_layer',anim,303,323,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/rope_layer.png',0,0,57,78,1,0)
	anim:SetHotSpot(28,39)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('rope_layer',anim,215,178,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/tool_1_layer.png',0,0,106,43,1,0)
	anim:SetHotSpot(53,21)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('tool_1_layer',anim,250,101,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/tool_2_layer.png',0,0,103,56,1,0)
	anim:SetHotSpot(51,28)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('tool_2_layer',anim,149,151,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/tool_3_layer.png',0,0,62,44,1,0)
	anim:SetHotSpot(31,22)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('tool_3_layer',anim,757,154,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/watering_can_layer.png',0,0,67,62,1,0)
	anim:SetHotSpot(33,31)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('watering_can_layer',anim,591,485,102,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Items/weigher_layer.png',0,0,42,49,1,0)
	anim:SetHotSpot(21,24)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('weigher_layer',anim,337,168,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Zoom_pig/Layers/key_in_zoom.png',0,0,84,64,1,0)
	anim:SetHotSpot(42,32)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('key_in_zoom',anim,449,311,151,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_book',anim,453,397,100,0,7,4)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Zoom_book/ZOOM_book.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('ZOOM_book',anim,512,384,160,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Zoom_door/ZOOM_door.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('ZOOM_door',anim,512,384,170,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_door_close',anim,585,400,101,0,8,8)
	local anim = CreateAnimation('data/Texture/Characters/Laundress/Laundress.png',0,0,596,1010,1,0)
	anim:SetHotSpot(298,505)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Laundress',anim,744,555,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Characters/Laundress/Laundress_hand.png',0,0,240,239,1,0)
	anim:SetHotSpot(120,119)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Laundress_hand',anim,629,354,111,0,1,1)
	local anim = CreateAnimation('data/Texture/Characters/Laundress/Laundress_soap.png',0,0,224,333,1,0)
	anim:SetHotSpot(112,166)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Laundress_soap',anim,677,313,112,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('area_keyhole',anim,493,407,172,0,20,50)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_laundry2',anim,631,375,102,0,17,25)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Layers/Door_open.png',0,0,196,266,1,0)
	anim:SetHotSpot(98,133)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Door_open',anim,627,363,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Zoom_door/Key_layer.png',0,0,21,108,1,0)
	anim:SetHotSpot(10,54)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Key_layer',anim,503,465,171,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Layers/Door_left_open.png',0,0,114,258,1,0)
	anim:SetHotSpot(57,129)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Door_left_open',anim,192,322,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_open_left_door',anim,193,324,102,0,10,20)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_ho_utility_room',anim,193,324,103,0,10,20)
	local anim = CreateAnimation('data/Texture/Scenes/06_Laundry/Zone_main/Layers/Shelve_door_open.png',0,0,73,291,1,0)
	anim:SetHotSpot(36,145)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Shelve_door_open',anim,788,308,101,0,1,1)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
