public void Awake()
    {
        if (instance != null)
        {
            Debug.LogWarning("You have multiple copies of the ADAGEMenu object running. Overriding...");
            DestroyImmediate(instance.gameObject);
        }
        DontDestroyOnLoad(this);
        instance = this;

        Messenger.AddListener(ADAGE.k_OnGameStart, OnGameStart);
        Messenger <int, string> .AddListener(ADAGE.k_OnError, ShowError);

        Messenger <string> .AddListener(ADAGE.k_OnConnectionTimeout, OnConnectionTimeout);

        Messenger <int, string> .AddListener(ADAGE.k_OnLoginComplete, OnLogin);

        //Messenger.AddListener(ADAGE.k_OnLoggingIn, ShowPanel<ADAGESplashPanel>);

        popup          = null;
        menuRect       = new Rect(112, 84, 800, 600);
        logoRect       = new Rect(312, 104, 400, 150);
        errorRect      = new Rect(212, 614, 600, 50);
        screenRect     = new Rect(0, 0, defaultResolution.x, defaultResolution.y);
        backgroundRect = overlayRect = screenRect;

        logo = Resources.Load("Images/GLS_Logo_Dark") as Texture2D;

        error     = "";
        errorTime = 0f;

        loading = true;
    }
 private void OnConnectionTimeout(string connectionType)
 {
     popup = new ADAGEConnectionFailurePopup(ADAGEWebJob.maxAttempts);
 }
 public static void ShowPopup(ADAGEMenuPopup popup)
 {
     instance.popup = popup;
 }