tutorial = tutorial or {}
global_allow_change_key_state = false
function tutorial.hide_all_hints()
	hide_ex(0, false, "tutorial_refrigerator_door")
	hide_ex(0, false, "tutorial_refrigerator")
	hide_ex(0, false, "tutorial_egg")
	hide_ex(0, false, "tutorial_exit03")
	hide_ex(0, false, "tutorial_exit02")
	hide_ex(0, false, "tutorial_exit01")
	hide_ex(0, false, "tutorial_cat")
	hide_ex(0, false, "tutorial_box")
	hide_ex(0, false, "tutorial_key")
	hide_ex(0, false, "tutorial_object")	 
	if global_allow_change_key_state then
		change_invent_state_by_id("Key01", "__inv")
	end
end

function tutorial.start()
    --tutorial.state_lamp_show = false
    tutorial.state_inv_lamp = 1 
    tutorial.state_lamp = nil
    tutorial.state_book = nil
    tutorial.inventory_arrow = nil

	--add_score = tutorial.add_score

    tutorial.last_correct_action_time = tutorial.tutorial_timer.Get().GetTime()
	form_event([[
	
		while true do
			if is_object_on_level("Key01") then 
			--если ключ на сцене тогда
			    if state("Button","button_scene00_03") then
				--если мы в холодильнике тогда
				       tutorial.hide_all_hints()
				       -- спрятать все хинты 
					   -- показать на выход
					   show_ex(0, false, "tutorial_exit03")
				elseif state("Button","button_scene00_02") then
				--инче если мы на кухне тогда 
				       tutorial.hide_all_hints()
				       -- спрятать все
				       -- показать на жилую комнату
					   show_ex(0, false, "tutorial_exit02")
				elseif state("Button","button_scene00_01")  and is_easy_difficulty() then
				--иначе
				       tutorial.hide_all_hints()
				       -- спрятать все
				       -- показываем на ключ
			     	   show_ex(0, false, "tutorial_key")
					   show_ex(0, false, "tutorial_object")
                --енд
				elseif state("Button","button_scene00_01")  and not is_easy_difficulty() then
				--иначе
				       tutorial.hide_all_hints()
				       -- спрятать все
				       -- показываем на ключ
			     	   show_ex(0, false, "tutorial_key")
	            --енд
				end
			elseif cursor("Key01") then
			--иначеесли ключ в курсоре тогда
			    -- нужно показать путь до ящика
				if state("Button","button_scene00_03") then
				--если мы в холодильнике тогда
				       tutorial.hide_all_hints()
				       -- спрятать все хинты 
					   -- показать на выход
					   show_ex(0, false, "tutorial_exit03")
				elseif state("Button","button_scene00_02") then
				--инче если мы на кухне тогда 
				       tutorial.hide_all_hints()
				       -- спрятать все
					   -- показать на жилую комнату
					   show_ex(0, false, "tutorial_exit02")
				elseif state("Button","button_scene00_01") then
				--иначе
				       tutorial.hide_all_hints()
				       -- спрятать все
					    -- показываем на ящик
			     	   show_ex(0, false, "tutorial_box")
				--енд
				end
			elseif is_object_in_inventory("Key01") then
			---иначе если ключ в инвентаре тогда
						tutorial.hide_all_hints()
						-- спрятать все
						-- меняем состояние его на ключ со стрелкой хинта 
						if not global_allow_change_key_state then
							sleep(1000)
							global_allow_change_key_state = true
						end
						change_invent_state_by_id("Key01", "__inv2")								  
			elseif state("Table_box01","table_box01_02") and is_object_on_level("Disk01") then	  
			--иначеесли ящик открыт и диск на уровне(невидимый еще не взятый) тогда
			--нужно показать путь до ящика 
				if state("Button","button_scene00_03") then
				--если мы в холодильнике тогда
				       tutorial.hide_all_hints()
				       -- спрятать все хинты 
					   -- показать на выход
					   show_ex(0, false, "tutorial_exit03")
				elseif state("Button","button_scene00_02") then
				--инче если мы на кухне тогда 
				       tutorial.hide_all_hints()
				       -- спрятать все
					   -- показать на жилую комнату
					   show_ex(0, false, "tutorial_exit02")
				elseif state("Button","button_scene00_01") then
				--иначе
				       tutorial.hide_all_hints()
				       -- спрятать все
					    -- показываем на ящик
			     	   show_ex(0, false, "tutorial_box")
				--енд
				end
		    elseif not is_object_on_level("Disk01") and not is_hide("tutorial_box") then
			--иначе если диск есть, а стрелочка горит
			    hide_ex(0, false, "tutorial_box")
				-- прячем стрелку ящика
			else 
			    if is_hide("button_dialogue") and is_object_on_level("Mini_egg") then
				--если прошел диалог с лохматым И на уровне яйца тогда 
				    -- -- нужно показать до них туториал
					if state("Button","button_scene00_03") then
					--если мы в холодильнике тогда
					    if state("Mini_refrigerator_door01","mini_refrigerator_door01_01") then 
					     -- если дверь закрыта тогда
					        tutorial.hide_all_hints()
							-- прячем все 
							show_ex(0, false, "tutorial_refrigerator_door")
					        -- показываем на дверь 
						elseif state("Mini_refrigerator_door01","mini_refrigerator_door01_02") then 
					     -- если дверь открыта тогда
					        tutorial.hide_all_hints()
							show_ex(0, false, "tutorial_egg")
							-- прячем все 
					        -- покзываем на яйца
						end	
					  --енд 
				    elseif state("Button","button_scene00_02") then
				        --инче если мы на кухне тогда 
				         tutorial.hide_all_hints()
				         -- спрятать все
						 show_ex(0, false, "tutorial_refrigerator")
					     --показать на холодильник
					elseif state("Button","button_scene00_01") then
				    --иначе
				       tutorial.hide_all_hints()
				       -- спрятать все
					   show_ex(0, false, "tutorial_exit01")
					   -- показываем на кухню
			    	--енд
				    end
				elseif not is_object_on_level("Mini_egg") and not is_hide("tutorial_egg") then
			    --иначе если яйца взяли есть, а стрелочка горит
			           hide_ex(0, false, "tutorial_egg")
				       -- прячем стрелку яиц
				elseif is_hide("button_dialogue") and not is_object_on_level("Mini_egg") then
				--иначе если прошел диалог с лохматым И нет на уровне яйц тогда
				    if state("Button_refrigerator","button_refrigeraror01") and state("Button","button_scene00_03") then
				    --если мы еще не нажимали выход и мы на сцене с холодильником тогда
					    tutorial.hide_all_hints()
					    -- прячем все 
						show_ex(0, false, "tutorial_exit03")
						-- показываем на выход из холодильника
					elseif state("Button_refrigerator","button_refrigeraror02") and not is_hide("tutorial_exit03") then
				    --если мы еще нажимали выход и стрелка горит
					    hide_ex(0, false, "tutorial_exit03")
					    -- прячем стрелку выхода						
					--енд
					end
				--енд
				end
			--енд
			end
			if state("Cat","cat02") then
			--если кот в нужном состоянии тогда
				-- показываем туториал на кота
				if state("Button","button_scene00_03") then
				--если мы в холодильнике тогда
				       tutorial.hide_all_hints()
				       -- спрятать все хинты 
					   -- показать на выход
					   show_ex(0, false, "tutorial_exit03")
				elseif state("Button","button_scene00_02") then
				--инче если мы на кухне тогда 
				      tutorial.hide_all_hints()
				       -- спрятать все хинты 
				       -- показать на кота
					   show_ex(0, false, "tutorial_cat")
				elseif state("Button","button_scene00_01") then
				--иначе если мы в комнате, показать на кухню
				       tutorial.hide_all_hints()
				       -- спрятать все
				       -- показываем на кухню
			     	   show_ex(0, false, "tutorial_exit01")
				--енд
				end
			elseif state("Cat","cat03") and not is_hide("tutorial_cat") then
			--иначе если кот ушел и стрелка есть тогда
			    hide_ex(0, false, "tutorial_cat")
				-- прячем стрелку кота
			--енд
			end
			if state("Cat","cat03") and not is_object_on_level("Mini_egg")
			     and state("Button_refrigerator","button_refrigeraror02")
				 and not is_object_on_level("Disk01")then
			--если кот ушел и яиц нет и выходили и диска нет на уровне тогда
			    tutorial.hide_all_hints()
			     -- прячем все 
				 break
			end
			--енд
		  sleep(50)
		end

	]])
	
end
