// Learn TypeScript:
//  - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html

import { TIP_SPRITEITEM_TYPE } from "../../mgr/EffectMgr";
import PoolMgr, { NODEPOOLPREFABTYPE } from "../../mgr/PoolMgr";

const { ccclass, property } = cc._decorator;

@ccclass
export default class TipSpriteItemUI extends cc.Component {

    @property(cc.Sprite)
    public spr_tipSpr: cc.Sprite = null;

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {}

    start() {

    }

    // update (dt) {}

    init(tipSpriteItemType: TIP_SPRITEITEM_TYPE) {
        this.spr_tipSpr.node.active = false;
        let url = `game/texture/tip/${tipSpriteItemType}`;
        mk.loader.load(url,cc.SpriteFrame).then((spriteFrame)=>{
            this.spr_tipSpr.spriteFrame = spriteFrame;
            this.spr_tipSpr.node.active = true;
            this.move();
        })
       
    }

    //移动
    move() {
        this.node.scaleX = this.node.scaleY = 0;
        cc.tween(this.node).to(0.5, { scale: 1 }, { easing: "backOut" })
            .delay(0.5)
            .to(0.1, { scale: 1.2 })
            .to(0.2, { scale: 0 })
            .call(() => {
                PoolMgr.Inst.recyclePoolPrefab(NODEPOOLPREFABTYPE.TipSpriteItemUI, this.node);
            })
            .start();
    }
}
