public override void OnFirstShow()
    {
        activeGame = GameManager.Instance.ActiveGame;

        hooks = canvas.GetComponent<TeamCheckControlHooks> ();
        if (hooks == null)
            return;

        hooks.OnBackHook = Back;
        hooks.OnForwardHook = Forward;

        hooks.OnPlayerHook = PlayerClicked;

        hooks.ForwardButtonInteractable = false;
        hooks.GroupNameVisibility = false;
        hooks.BackGround = AssetsManager.Instance.TeamCheckBackGroundSprites [0];
        lastPlayer = 0;

        this.playerAvatars = hooks.players;
        foreach (CharacterControlHooks playerHook in this.playerAvatars) {
            playerHook.OnClick = PlayerClicked;
        }

        GuiManager.Instance.messageCanvas.SetAndShow (MessageCanvasControl.LOADING_MESSAGE, false);
        Loom loom = Loom.Instance;
        loom.RunAsync (() =>
        {
            GameManager manager = GameManager.Instance;
            if (manager.UseDatabase) {
                try {
                    List<Player> players = manager.Entity.PlayersTable.GetAllShallow (manager.ActiveGame);

                    foreach (Player player in activeGame.Players) {
                        Player matchingPlayer = players.Find (plr => player.Id == plr.Id);
                        player.InUse = matchingPlayer.InUse;
                        player.Time = matchingPlayer.Time;
                        player.WasUsed = matchingPlayer.WasUsed;
                    }
                } catch (Database.DatabaseException) {
                    //Empty on purpose!
                }
            }
            loom.QueueOnMainThread (() =>
            {
                UpdateScene ();
                GuiManager.Instance.messageCanvas.Hide ();
            });
        });
    }
    public override void OnFirstShow()
    {
        base.OnFirstShow ();

        hooks = canvas.GetComponent<TeamCheckControlHooks> ();
        if (hooks == null)
            return;

        hooks.OnBackHook = Back;
        hooks.OnForwardHook = Forward;
        hooks.OnSelectHook = InputCaretFixing;
        hooks.OnGroupNameChangeHook = GroupNameChanged;

        hooks.ForwardButtonInteractable = false;
        hooks.GroupNameVisibility = true;
        hooks.BackGround = AssetsManager.Instance.TeamCheckBackGroundSprites [1];

        this.playerAvatars = hooks.players;

        fixedUIError = false;
        updateScene ();
    }