123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- class BannerHandlerBase extends ScriptedWidgetEventHandler
- {
- protected Widget m_Root;
- protected Widget m_Parent; //frame
- protected Widget m_BannerBody;
- protected Widget m_BannerWedge;
- protected TextWidget m_BannerText;
-
- void BannerHandlerBase(Widget parent)
- {
- m_Parent = parent;
- m_Root = GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/dlc_panels/BannerTemplate.layout", m_Parent);
- m_Root.SetHandler(this);
-
- m_BannerBody = m_Root.FindAnyWidget("BadgeBody");
- m_BannerWedge = m_Root.FindAnyWidget("BadgeWedge");
- m_BannerText = TextWidget.Cast(m_Root.FindAnyWidget("BadgeText"));
-
- m_BannerBody.SetAlpha(1.0);
- m_BannerWedge.SetAlpha(1.0);
- }
-
- void SetBannerColor(int argb)
- {
- m_BannerBody.SetColor(argb);
- m_BannerWedge.SetColor(argb);
- }
-
- void SetBannerText(string text)
- {
- m_BannerText.SetText(text);
- }
-
- override bool OnUpdate(Widget w)
- {
- if (w == m_BannerText)
- {
- float w0,h0,x0,y0;
- m_BannerText.GetScreenSize(w0,h0);
- float bannerBodyWidth = w0 + 20;
-
- m_BannerBody.SetScreenSize(bannerBodyWidth,h0);
- m_BannerBody.GetScreenPos(x0,y0);
-
- m_BannerWedge.GetScreenSize(w0,h0);
- m_BannerWedge.SetScreenPos(Math.Ceil(x0 - w0),y0);
- }
-
- return super.OnUpdate(w);
- }
- }
|