class CSkipForm : CScriptForm
{
    CSkipForm()
    {
        m_SkipClick.SetCallback(this, @OnSkipClick);
    }

    void Init(CGuiModule@ _pModule)
    {
        CScriptForm::Init(_pModule, "SkipForm");
    }

    void Release()
    {
        CScriptForm::Release();
    }

    void InitializeComponents()
    {
        CScriptForm::InitializeComponents();

        m_pThis.SetPosX(366);
        m_pThis.SetPosY(703);
        m_pThis.SetWidth(295);
        m_pThis.SetHeight(63);

        @m_pSkipButton = CreateButton("PressStartButton", "SkipButton");
        m_pSkipButton.SetText(GetGame().GetLocalizer().LocalizeText("LT_INGAME_SKIP"));
        m_pSkipButton.RegisterToEventClick(m_SkipClick);
        m_pThis.AddChildOnEnd(m_pSkipButton);
    }

    void ReleaseComponents()
    {
        m_pSkipButton.UnregisterFromEventClick(m_SkipClick);

        CScriptForm::ReleaseComponents();
    }

    private void OnSkipClick(CButton@ _pButton)
    {
        PlaySound("Data/GUI/SFX/PressButton.ogg", false);

        GetGame().GetCurrentLevel().GetTutorial().Skip();
    }

    private CButtonEventHandler m_SkipClick;
    private CButton@ m_pSkipButton;
}