import JsbSystem from "../../../mk/system/JsbSystem";
import Rule from "./Rule";


const { ccclass, property } = cc._decorator;

/**
 * 账号设置
 * @author 邹勇
 */
@ccclass
export default class Setting extends cc.Component {
    @property({ type: cc.Sprite, displayName: "头像" })
    img_head: cc.Sprite = null;
    @property({ type: cc.Label, displayName: "昵称" })
    lbl_nickname: cc.Label = null;
    @property({ type: cc.Label, displayName: "ID" })
    lbl_id: cc.Label = null;
    @property({ type: cc.Sprite, displayName: "音乐开关" })
    img_music: cc.Sprite = null;
    @property({ type: cc.Sprite, displayName: "音效开关" })
    img_effect: cc.Sprite = null;
    @property({ type: cc.Label, displayName: "版本号" })
    lbl_version: cc.Label = null;
    @property({ type: cc.Node, displayName: "协议内容" })
    node_rule: cc.Node = null;

    onLoad() {
        this.initData();
    }

    private async initData() {
        this.lbl_id.string = "ID:" + gData.wechatData.unionid;
        this.lbl_nickname.string = gData.wechatData.nickName;
        let music = "module/setting/texture/" + (mk.audio.getSwitchMusic() ? "on" : "off");
        let effect = "module/setting/texture/" + (mk.audio.getSwitchEffect() ? "on" : "off");
        this.img_music.spriteFrame = await mk.loader.load(music, cc.SpriteFrame);
        this.img_effect.spriteFrame = await mk.loader.load(effect, cc.SpriteFrame);


        let result = await mk.loader.loadRemote(gData.wechatData.avatar, null);
        console.log("loadHead:", result);
        // this.img_head.spriteFrame = result;
    }

    clickCopy() {
        JsbSystem.setClipboard(gData.wechatData.unionid);
    }

    async clickMusic() {
        mk.audio.switchMusicFunc();

        let music = "module/setting/texture/" + (mk.audio.getSwitchMusic() ? "on" : "off");
        this.img_music.spriteFrame = await mk.loader.load(music, cc.SpriteFrame);
    }

    async clickEffect() {
        mk.audio.switchEffectFunc();

        let effect = "module/setting/texture/" + (mk.audio.getSwitchEffect() ? "on" : "off");
        this.img_effect.spriteFrame = await mk.loader.load(effect, cc.SpriteFrame);
    }

    clickUpdate() {

    }

    clickRule(e,data) {
        let sc = this.node_rule.getComponent(Rule) as Rule;
        sc.setContent(data);
        this.node_rule.active = true;
    }

    update() {

    }

    onDestroy() {

    }
}