123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- class ModsMenuSimpleEntry extends ScriptedWidgetEventHandler
- {
- protected ButtonWidget m_ModButton;
- protected ImageWidget m_Icon;
- protected Widget m_Hover;
- protected bool m_HasLogoOver;
- protected ModInfo m_Data;
- protected ModsMenuSimple m_ParentMenu;
- void ModsMenuSimpleEntry(ModInfo data, int index, Widget parent, ModsMenuSimple parent_menu)
- {
- m_ModButton = ButtonWidget.Cast(GetGame().GetWorkspace().CreateWidgets("gui/layouts/new_ui/mods_menu/mods_menu_simple_entry.layout", parent));
- m_Icon = ImageWidget.Cast(m_ModButton.FindAnyWidget("Icon"));
- m_Hover = m_ModButton.FindAnyWidget("Overlay");
- m_Data = data;
- m_ParentMenu = parent_menu;
-
- m_ModButton.SetSort(index);
- m_ModButton.SetHandler(this);
-
- LoadData();
- }
-
- void ~ModsMenuSimpleEntry()
- {
- delete m_ModButton;
- }
- void LoadData()
- {
- string logo = m_Data.GetLogo();
- string logo_over = m_Data.GetLogoOver();
-
- if (logo != "")
- {
- m_Icon.LoadImageFile(0, logo);
- }
- else
- {
- m_Icon.LoadImageFile(0, ModInfo.DEFAULT_LOGO);
- }
-
- if (logo_over != "")
- {
- m_Icon.LoadImageFile(1, logo_over);
- }
- else
- {
- m_Icon.LoadImageFile(1, ModInfo.DEFAULT_LOGO_OVER);
- }
- m_HasLogoOver = true;
- }
-
- override bool OnClick(Widget w, int x, int y, int button)
- {
- if( w == m_ModButton )
- {
- m_ParentMenu.Select( m_Data );
- return true;
- }
- return false;
- }
-
- override bool OnMouseEnter(Widget w, int x, int y)
- {
- if( w == m_ModButton )
- {
- if( m_HasLogoOver )
- m_Icon.SetImage( 1 );
- m_Hover.Show( true );
- return true;
- }
- return false;
- }
-
- override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
- {
- if( enterW != m_ModButton )
- {
- if( m_HasLogoOver )
- m_Icon.SetImage( 0 );
- m_Hover.Show( false );
- return true;
- }
- return false;
- }
-
- override bool OnFocus( Widget w, int x, int y )
- {
- if( w == m_ModButton )
- {
- if( m_HasLogoOver )
- m_Icon.SetImage( 1 );
- m_Hover.Show( true );
- return true;
- }
- return false;
- }
-
- override bool OnFocusLost( Widget w, int x, int y )
- {
- if( w == m_ModButton )
- {
- if( m_HasLogoOver )
- m_Icon.SetImage( 0 );
- m_Hover.Show( false );
- return true;
- }
- return false;
- }
- }
|