//--------------------------------------------------------- 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; } } } }
// ----- 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>(); }
//--------------------------------------------------------- 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)"); } }
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)); }
//--------------------------------------------------------- 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); }
//--------------------------------------------------------- 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); } } }
// ------ public void SetButtonCallback(GUIBase_Button.TouchDelegate callback) { gameObject.GetComponentInChildren <GUIBase_Button>().RegisterTouchDelegate(callback); }