| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /*
- * @Author: mojunshou 1637302775@qq.com
- * @Date: 2025-03-20 15:40:20
- * @LastEditors: mojunshou 1637302775@qq.com
- * @LastEditTime: 2025-03-31 17:09:16
- * @Description:设置界面
- */
- import { _decorator } from "cc";
- import { oops } from "db://oops-framework/core/Oops";
- import { ecs } from "db://oops-framework/libs/ecs/ECS";
- import { CCComp } from "db://oops-framework/module/common/CCComp";
- import { UIID } from "../config/GameUIConfig";
- import { CCVMParentComp } from "db://oops-framework/module/common/CCVMParentComp";
- import { Toggle } from "cc";
- import { Account } from "../../account/Account";
- import { ImageAsset, Texture2D, SpriteFrame, Sprite } from "cc";
- import { IRemoteOptions, resLoader } from "db://oops-framework/core/common/loader/ResLoader";
- const { ccclass, property } = _decorator;
- /** 视图层对象 */
- @ccclass('SettingViewComp')
- @ecs.register('SettingView', false)
- export class SettingViewComp extends CCVMParentComp {
- data: any = {
- nickName: "金砖大王",
- uid: "1234567890",
- music_state: true,
- effect_state: true
- }
- /** 视图层逻辑代码分离演示 */
- start() {
- // const entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
- this.setButton();
- this.updateHead();
- }
- /** 视图对象通过 ecs.Entity.remove(SettingViewComp) 删除组件是触发组件处理自定义释放逻辑 */
- reset() {
- this.node.destroy();
- }
- private btn_about() {
- oops.gui.open(UIID.AboutUs);
- }
- private btn_close() {
- oops.gui.remove(UIID.Setting);
- }
- /**
- * @description: 设置音乐开关
- * @param {Toggle} toggle
- * @return {*}
- */
- private onMusicToggleContainerClick(toggle: Toggle) {
- switch (toggle.node.name) {
- case "On":
- this.data.music_state = true;
- break;
- case "Off":
- this.data.music_state = false;
- break;
- }
- console.log("音乐状态", this.data.music_state);
- oops.audio.switchMusic = this.data.music_state;
- }
- /**
- * @description: 设置音乐开关
- * @param {Toggle} toggle
- * @return {*}
- */
- private onEffectToggleContainerClick(toggle: Toggle) {
- switch (toggle.node.name) {
- case "On":
- this.data.effect_state = true;
- break;
- case "Off":
- this.data.effect_state = false;
- break;
- }
- console.log("音效状态", this.data.effect_state);
- oops.audio.switchEffect = this.data.effect_state;
- }
- //更新头像
- private updateHead() {
- let account = ecs.getEntity<Account>(Account);
- let sprite = this.node.getChildByPath("Bg/btn_head/sp_head")!.uiSprite;
- // let url = account.AccountModel.head;
- let url = "http://www.kuaipng.com/Uploads/pic/w/2020/07-16/89010/water_89010_698_698_.png"
- this.data.nickName = account.AccountModel.AccountName;
- this.data.uid = account.AccountModel.uid;
- var opt: IRemoteOptions = { ext: ".png" };
- var onComplete = (err: Error | null, data: ImageAsset) => {
- const texture = new Texture2D();
- texture.image = data;
- const spriteFrame = new SpriteFrame();
- spriteFrame.texture = texture;
- sprite.spriteFrame = spriteFrame;
- }
- resLoader.loadRemote<ImageAsset>(url, opt, onComplete);
- }
- }
|