import { _decorator, Component, Node, Slider } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('slider_widget')
export class slider_widget extends Component {
    @property(Node) slider:Node = null;
    protected m_call_back = null;
    protected m_end_call = null;
    public getCurScale(){
        let progress = this.slider.getComponent(Slider).progress;
        return progress>0.5?(progress+0.5):1-(0.5-progress)
    }
    public initView(call,end_call){
        this.m_call_back = call;
        this.m_end_call =end_call;
        this.slider.on(Node.EventType.TOUCH_END,()=>{
            this.on_end()
        })
        this.slider.getComponent(Slider).handle.node.on(Node.EventType.TOUCH_END,()=>{
            this.on_end()
        })
        this.slider.getComponent(Slider).handle.node.on(Node.EventType.TOUCH_CANCEL,()=>{
            this.on_end()
        })
        this.slider.on(Node.EventType.TOUCH_CANCEL,()=>{
            this.on_end()
        })
    }
    on_end(){
        this.slider.getComponent(Slider).progress = 0.5;
        if(this.m_end_call!=null){
            this.m_end_call()
        }
    }
    public onSlider(){
        if(this.m_call_back!=null){
            this.m_call_back(this.getCurScale())
        }
    }
}


