diff --git a/fancy_demo/fancy.asc b/fancy_demo/fancy.asc index 8e2c7a1..1aac748 100644 --- a/fancy_demo/fancy.asc +++ b/fancy_demo/fancy.asc @@ -81,31 +81,25 @@ int _get_new_fancybtn_index(int id) { return index; } +void _set_fancybtn(int index, int id, DynamicSprite* normal, DynamicSprite* over, DynamicSprite* pushed) +{ + _fancybtn[index].ID = id; + _fancybtn[index].Normal = normal; + _fancybtn[index].Over = over; + _fancybtn[index].Pushed = pushed; +} + void _remove_fancybtn(int id) { int index = _get_fancybtn_index(id); if(index != -1) return; // already removed for(int i=index; i<_fancybtn_count-1; i++) { - _fancybtn[i].ID = _fancybtn[i+1].ID; - _fancybtn[i].Normal = _fancybtn[i+1].Normal; - _fancybtn[i].Over = _fancybtn[i+1].Over; - _fancybtn[i].Pushed = _fancybtn[i+1].Pushed; + _set_fancybtn(i, _fancybtn[i+1].ID, _fancybtn[i+1].Normal, _fancybtn[i+1].Over, _fancybtn[i+1].Pushed); } - _fancybtn[_fancybtn_count-1].ID = -1; - _fancybtn[_fancybtn_count-1].Normal = null; - _fancybtn[_fancybtn_count-1].Over = null; - _fancybtn[_fancybtn_count-1].Pushed = null; + _set_fancybtn(_fancybtn_count-1, -1, null, null, null); _fancybtn_count--; } -void _set_fancybtn(int index, int id, DynamicSprite* normal, DynamicSprite* over, DynamicSprite* pushed) -{ - _fancybtn[index].ID = id; - _fancybtn[index].Normal = normal; - _fancybtn[index].Over = over; - _fancybtn[index].Pushed = pushed; -} - #region TEXT_TOKEN_REG managed struct TokenState { int color;