32 lines
903 B
TypeScript
32 lines
903 B
TypeScript
import { _decorator, Color, EventTouch, Slider, Sprite } from 'cc';
|
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
@ccclass('UmSliderCustom')
|
|
export class UmSliderCustom extends Slider {
|
|
public onTouchEnded: ((event?: EventTouch) => void) | undefined;
|
|
public onTouchCancelled: ((event?: EventTouch) => void) | undefined;
|
|
|
|
@property(Sprite) public bg: Sprite = null!;
|
|
|
|
_onTouchEnded(event?: EventTouch) {
|
|
super._onTouchEnded(event);
|
|
this.onTouchEnded?.(event);
|
|
}
|
|
|
|
protected _onTouchCancelled(event?: EventTouch) {
|
|
super._onTouchCancelled(event);
|
|
this.onTouchCancelled?.(event);
|
|
}
|
|
|
|
public setOpacity(opacity: number) {
|
|
this.handle?.setOpacity(opacity);
|
|
this.bg?.setOpacity(opacity);
|
|
}
|
|
|
|
public setColor(color: Color) {
|
|
this.bg?.setColor(color);
|
|
this.handle?.getComponent(Sprite)?.setColor(color);
|
|
}
|
|
}
|