12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // -----------------------------------------------------------
- class HoverEffect : ScriptedWidgetEventHandler
- {
- reference float speed;
- reference float amount;
- protected float m_orginal_width;
- protected float m_orginal_height;
- protected Widget m_root;
- protected ref AnimatorTimer m_anim;
-
- void HoverEffect()
- {
- m_anim = new AnimatorTimer();
- }
-
- // -----------------------------------------------------------
- void OnWidgetScriptInit(Widget w)
- {
- m_root = w;
- m_root.SetHandler(this);
- }
-
- // -----------------------------------------------------------
- protected void Update()
- {
- float p = amount * m_anim.GetValue();
- m_root.SetSize(m_orginal_width + (m_orginal_width * p), m_orginal_height + (m_orginal_height * p));
-
- float c = 1.0 - (0.5 * m_anim.GetValue());
- m_root.SetColor(ARGBF(1, 1, c, c));
- }
-
- // -----------------------------------------------------------
- override bool OnMouseEnter(Widget w, int x, int y)
- {
- if ( !m_anim.IsRunning() ) m_root.GetSize(m_orginal_width, m_orginal_height);
- m_anim.Animate(1.0, speed);
-
- return false;
- }
-
- // -----------------------------------------------------------
- override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
- {
- m_anim.Animate(0.0, speed);
- return false;
- }
- };
|