/*--------------------------------------------------- ----------------------------------------------------- Filename: glow.m Version: 1.0 Type: maki/glow class Date: 16. Jun. 2007 - 23:13 Author: Martin Poehlmann aka Deimos E-Mail: martin@skinconsortium.com Internet: www.skinconsortium.com www.martin.deimos.de.vu Usage: 1: #include glow.m 2: #define GLOW_OBJECT MyGlow 3: call _MyGlow_GlowInit (someObj, otherObj) to init the objects. You can also call _MyGlow_GlowInit (NULL, otherObj) and load a bunch of GuiObjects in _MyGlow_GlowTrigger or load up to 5 objects via _MyGlow_addTarget(obj); ----------------------------------------------------- ---------------------------------------------------*/ #ifndef included #error This script can only be compiled as a #include #endif #ifndef GLOW_OBJECT #error GLOW_OBJECT not defined! #endif Class GuiObject _##GLOW_OBJECT##_GlowTrigger; Global _##GLOW_OBJECT##_GlowTrigger _##GLOW_OBJECT##_trigger0, _##GLOW_OBJECT##_trigger1, _##GLOW_OBJECT##_trigger2, _##GLOW_OBJECT##_trigger3, _##GLOW_OBJECT##_trigger4, _##GLOW_OBJECT##_trigger5; Global GuiObject _##GLOW_OBJECT##_glow; Global float _##GLOW_OBJECT##_fdoutspeed; Global boolean _##GLOW_OBJECT##_mouseDown; Function _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed); Function _##GLOW_OBJECT##_addTrigger (GuiObject triggerObject); _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed) { if (triggerObject) _##GLOW_OBJECT##_trigger0 = triggerObject; if (glowObject) _##GLOW_OBJECT##_glow = glowObject; _##GLOW_OBJECT##_fdoutspeed = fdoutspeed; } _##GLOW_OBJECT##_addTrigger(GuiObject triggerObject) { if (triggerObject) { if (!_##GLOW_OBJECT##_trigger1) { _##GLOW_OBJECT##_trigger1 = triggerObject; return; } if (!_##GLOW_OBJECT##_trigger2) { _##GLOW_OBJECT##_trigger2 = triggerObject; return; } if (!_##GLOW_OBJECT##_trigger3) { _##GLOW_OBJECT##_trigger3 = triggerObject; return; } if (!_##GLOW_OBJECT##_trigger4) { _##GLOW_OBJECT##_trigger4 = triggerObject; return; } if (!_##GLOW_OBJECT##_trigger5) { _##GLOW_OBJECT##_trigger5 = triggerObject; return; } } } _##GLOW_OBJECT##_GlowTrigger.onEnterArea () { _##GLOW_OBJECT##_glow.cancelTarget(); _##GLOW_OBJECT##_glow.setAlpha(255); } _##GLOW_OBJECT##_GlowTrigger.onLeftButtonDown (int x, int y) { _##GLOW_OBJECT##_mouseDown = 1; _##GLOW_OBJECT##_glow.cancelTarget(); _##GLOW_OBJECT##_glow.setAlpha(0); } _##GLOW_OBJECT##_GlowTrigger.onLeftButtonUp (int x, int y) { _##GLOW_OBJECT##_mouseDown = 0; _##GLOW_OBJECT##_glow.cancelTarget(); if (_##GLOW_OBJECT##_GlowTrigger.isMouseOverRect()) _##GLOW_OBJECT##_glow.setAlpha(255); } _##GLOW_OBJECT##_GlowTrigger.onLeaveArea () { if (_##GLOW_OBJECT##_mouseDown) return; _##GLOW_OBJECT##_glow.cancelTarget(); _##GLOW_OBJECT##_glow.setTargetA(0); _##GLOW_OBJECT##_glow.setTargetX(_##GLOW_OBJECT##_glow.getGuiX()); _##GLOW_OBJECT##_glow.setTargetSpeed(_##GLOW_OBJECT##_fdoutspeed); _##GLOW_OBJECT##_glow.gotoTarget(); } #undef GLOW_OBJECT