Ejemplo n.º 1
0
    public T ShowPopup <T>(string screenName, string data = null, Action <object> positive = null, Action <object> negative = null) where T : UIPopup
    {
        if (!mListScreen.ContainsKey(screenName))
        {
            throw new KeyNotFoundException("ScreenManager: Show failed. Screen with name '" + screenName + "' does not exist.");
        }

        GameObject newDupeScreen = GameObject.Instantiate(mListScreen[screenName].gameObject);

        newDupeScreen.transform.SetParent(transform, false);
        UIPopup popup = newDupeScreen.GetComponent <UIPopup>();

        popup.Initialize(this, true);
        popup.SetData(data);
        popup.SetCallback(positive, negative);

        newDupeScreen.name = screenName + " (" + (popup.ID) + ")";


        return(ShowScreen(popup, true) as T);
    }