Exemplo n.º 1
0
    //---------------------------------------------------------
    public void RegisterButtonTouchDelegate(string widgetID, GUIBase_Button.TouchDelegate f)
    {
        if (m_Initialized == false)
        {
            LateInit();
        }

        if (m_Elements != null)
        {
            foreach (GUIBase_Element element in m_Elements)
            {
                if (element.name == widgetID)
                {
                    GUIBase_Button button = element.GetComponent <GUIBase_Button>();

                    if (button != null)
                    {
                        button.RegisterTouchDelegate(f);
                    }

                    return;
                }
            }
        }
    }
Exemplo n.º 2
0
    // -----
    protected override void OnViewInit()
    {
        base.OnViewInit();

        if (m_ScreenLayout == null)
        {
            Debug.LogError("GuiConfirmDialog<" + name + "> :: There is not any layout specified for dialog!");
            return;
        }

        GUIBase_Button.TouchDelegate[] upgradeDlgts = new GUIBase_Button.TouchDelegate[]
        { Upgrade1Touch, Upgrade2Touch, Upgrade3Touch, Upgrade4Touch };

        for (int i = 0; i < ResearchItem.MAX_PARAMS; i++)
        {
            m_Params[i]         = new Param();
            m_Params[i].Parent  = GuiBaseUtils.GetChild <GUIBase_Widget>(Layout, "Param" + (i + 1));
            m_Params[i].OrigPos = m_Params[i].Parent.transform.localPosition;
            m_Params[i].Name    = GuiBaseUtils.GetChildLabel(m_Params[i].Parent, "ParamName");
            m_Params[i].Value   = GuiBaseUtils.GetChildLabel(m_Params[i].Parent, "ParamValue");
        }

        m_UpgradeArea = GetWidget(Layout, "Upgrade_Area").GetComponent <GUIBase_Widget>();
        for (int i = 0; i < ResearchItem.MAX_UPGRADES; i++)
        {
            GUIBase_Widget parent = GuiBaseUtils.GetChild <GUIBase_Widget>(m_UpgradeArea, "Upgrade" + (i + 1));
            m_Upgrades[i].m_Parent = parent;
            m_Upgrades[i].m_UpgradeIcon.Relink(parent);
            m_Upgrades[i].m_Button = GuiBaseUtils.GetChild <GUIBase_Button>(parent, "Button");
            m_Upgrades[i].m_Button.RegisterTouchDelegate(upgradeDlgts[i]);
            m_Upgrades[i].m_CostGold   = GuiBaseUtils.GetChild <GUIBase_Widget>(parent, "CostGold");
            m_Upgrades[i].m_CostMoney  = GuiBaseUtils.GetChild <GUIBase_Widget>(parent, "CostMoney");
            m_Upgrades[i].m_CostVal    = GuiBaseUtils.GetChild <GUIBase_Label>(parent, "CostVal");
            m_Upgrades[i].m_Name       = GuiBaseUtils.GetChild <GUIBase_Label>(parent, "Name");
            m_Upgrades[i].m_Researched = GuiBaseUtils.GetChild <GUIBase_Widget>(parent, "Researched");
        }

        m_ResearchButton = PrepareButton(m_ScreenLayout, "Research_Button", null, Delegate_Research);
        PrepareButton(m_ScreenLayout, "Close_Button", null, Delegate_Close);
        PrepareButton(m_ScreenLayout,
                      "Funds_Button",
                      null,
                      (widget) =>
        {
            if (BuildInfo.Version.Stage != BuildInfo.Stage.Beta)
            {
                IViewOwner owner = Owner;
                owner.Back();
                owner.ShowScreen("Shop:3");
            }
        });

        m_Name        = PrepareLabel(m_ScreenLayout, "Name");
        m_Explanation = PrepareTextArea(m_ScreenLayout, "Explanation");
        m_Description = PrepareTextArea(m_ScreenLayout, "Description");
        m_Price       = PrepareLabel(m_ScreenLayout, "Price");
        m_PriceArea   = GetWidget(Layout, "Price_Area").GetComponent <GUIBase_Widget>();
        m_Image       = GetWidget(Layout, "Image").GetComponent <GUIBase_Sprite>();
    }
Exemplo n.º 3
0
 //---------------------------------------------------------
 public static void RegisterButtonDelegate(GUIBase_Button button, GUIBase_Button.TouchDelegate touch, GUIBase_Button.ReleaseDelegate release)
 {
     if (button != null)
     {
         button.RegisterTouchDelegate(touch);
         button.RegisterReleaseDelegate(release);
     }
     else
     {
         Debug.LogError("Invalid agrument - button (null)");
     }
 }
Exemplo n.º 4
0
 protected GUIBase_Button RegisterButtonDelegate(string buttonName,
                                                 GUIBase_Button.TouchDelegate inPressed,
                                                 GUIBase_Button.ReleaseDelegate inReleased)
 {
     if (m_ScreenLayout == null)
     {
         // be quiet when there is not any delegate specified
         if (inPressed != null || inReleased != null)
         {
             Debug.LogError(GetType().Name + "<" + name + ">.RegisterButtonDelegate() :: Attempt to register button '" + buttonName +
                            "' but there is not any layout specified!");
         }
         return(null);
     }
     return(GuiBaseUtils.RegisterButtonDelegate(m_ScreenLayout, buttonName, inPressed, inReleased));
 }
Exemplo n.º 5
0
    //---------------------------------------------------------
    public static GUIBase_Button RegisterButtonDelegate(GUIBase_Layout layout,
                                                        string buttonName,
                                                        GUIBase_Button.TouchDelegate touch,
                                                        GUIBase_Button.ReleaseDelegate release)
    {
        GUIBase_Button control = GetControl <GUIBase_Button>(layout, buttonName);

        if (control != null)
        {
            RegisterButtonDelegate(control, touch, release);
        }
        else
        {
            Debug.LogError("Can't find button '" + buttonName + "'");
        }
        return(control);
    }
Exemplo n.º 6
0
    //---------------------------------------------------------
    public static void RegisterButtonDelegate(GUIBase_Pivot pivot,
                                              string layoutName,
                                              string buttonName,
                                              GUIBase_Button.TouchDelegate touch,
                                              GUIBase_Button.ReleaseDelegate release)
    {
        if (pivot)
        {
            GUIBase_Layout layout = GetLayout(layoutName, pivot);

            if (layout)
            {
                RegisterButtonDelegate(layout, buttonName, touch, release);
            }
            else
            {
                Debug.LogError("Can't find layout '" + layoutName);
            }
        }
    }
Exemplo n.º 7
0
 // ------
 public void SetButtonCallback(GUIBase_Button.TouchDelegate callback)
 {
     gameObject.GetComponentInChildren <GUIBase_Button>().RegisterTouchDelegate(callback);
 }