public override void OnDrawGui(VOGController ctrl)
    {
        BeginWindow();

        //Header
        Heading("Really?");
        Body("It's a lot more fun to sign up - that way you'll get a customisable avatar you can use across multiple games.");

        SetBackButton();
        if (BackButton("Oh, go on then!", ctrl.InputEnabled(this)))
        {
            ctrl.StartBackTransition(); ;
        }

        Body("If you really prefer not to, we won't hold it against you ;-)\nYou can continue as a guest by choosing a gender for your avatar:");

        GUILayout.BeginHorizontal();

        SetDefaultControl();
        SetDefaultButton();
        if (BackButton("Male", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(OnNewGuest(ctrl as VOGControllerAuth, AvatarGender.Male));
        }

        if (Button("Female", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(OnNewGuest(ctrl as VOGControllerAuth, AvatarGender.Female));
        }

        GUILayout.EndHorizontal();

        EndWindow();
    }
    public override void OnDrawGui(VOGController ctrl)
    {
        BeginWindow();

        //Header
        Heading("Welcome back!");
        Body("Please enter your vostopia password and we'll fetch your avatar for you:");
        SetDefaultControl();
        Password = PasswordField(Password, ctrl.InputEnabled(this));

        GUILayout.BeginHorizontal();

        SetBackButton();
        if (BackButton("Back", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            ctrl.StartBackTransition();
        }

        SetDefaultButton();
        if (Button("Continue", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(OnAuthenticate(ctrl as VOGControllerAuth));
        }

        GUILayout.EndHorizontal();

        Heading("Oops!");
        Body("Forgotten or never received your password? No problem.");
        if (Button("Send me a new password", ctrl.InputEnabled(this)))
        {
            StartCoroutine(OnSendNewPassword(ctrl as VOGControllerAuth));
        }

        EndWindow();
    }
    public override void OnDrawGui(VOGController ctrl)
    {
        if (Data == null)
        {
            Data = new DialogData();
        }

        ShadeScreen();

        BeginWindow(280, 150);

        HeadingCentered(Data.Header ?? "");
        BodyCentered(Data.Body ?? "");

        GUILayout.FlexibleSpace();
        if (Button("Ok", ctrl.InputEnabled(this)))
        {
            ctrl.StartBackTransition();
        }

        EndWindow();
    }
    public override void OnDrawGui(VOGController ctrl)
    {
        BeginWindow();

        //Header
        Heading("Please enter your email address:");
        Body("(or your pre-existing Vostopia username)");

        SetDefaultControl();
        Email = TextField(Email, ctrl.InputEnabled(this));

        GUILayout.BeginHorizontal();

        SetBackButton();
        if (BackButton("Back", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            ctrl.StartBackTransition();
        }

        SetDefaultButton();
        if (Button("Continue", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(Continue(ctrl));
        }

        GUILayout.EndHorizontal();

        Body("By continuing you agree to the Vostopia");
        if (LinkButton("terms and conditions", ctrl.InputEnabled(this)))
        {
            Application.OpenURL("http://vostopia.com/en/vossa/legal/tos/");
        }

        //Footer logo
        GUILayout.FlexibleSpace();
        GUILayout.Label(ctrl.GetTexture(VostopiaLogo), GUI.skin.FindStyle("image"), GUILayout.ExpandWidth(true));
        EndWindow();
    }
    public override void OnDrawGui(VOGController ctrl)
    {
        BeginWindow();

        //Header
        Heading("Welcome!");
        Body("Please choose what gender you'd like your avatar to be:");

        SetDefaultControl();
        GUILayout.BeginHorizontal();

        SetDefaultButton();
        if (Button("Male", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(OnNewUser(ctrl as VOGControllerAuth, AvatarGender.Male));
        }

        if (Button("Female", ctrl.InputEnabled(this), GUILayout.Width(SplitButtonWidth)))
        {
            StartCoroutine(OnNewUser(ctrl as VOGControllerAuth, AvatarGender.Male));
        }

        GUILayout.EndHorizontal();

        Body("Don't worry, you can change this later if you wish.");

        KeepInTouch = Toggle(KeepInTouch, "Keep in touch about avatar games", ctrl.InputEnabled(this));

        GUILayout.FlexibleSpace();

        SetBackButton();
        if (BackButton("Back", ctrl.InputEnabled(this)))
        {
            ctrl.StartBackTransition();
        }
        EndWindow();
    }