当前位置: 首页 > article >正文

unity 选择图片点击确定保存,取消则不保存

RespString respString = SuperSportNative.getPersistentData(DataCenter.sound, false);
int len = respString.len;
string str = respString.buff;
int soundNum = 2;
Log.I(TAG, “len value:” + len + " str: " + str);
if (str.IsNullOrEmpty())
{
//初始情况下设置声浪为2
if (SuperSportNative.SwitchSoundWave(2))
{
// SuperSportNative.setPersistentData(DataCenter.sound, “2”, false);
DataCenter.savesoundvalue.Value = 2;
}
else
{
DataCenter.savesoundvalue.Value = 0;
}

        }
        else
        {
            if (int.TryParse(str, out soundNum))
            {
                if (soundNum == 0)
                {
                    //关闭声浪直接执行
                    SuperSportNative.SwitchSoundWave(soundNum);
                    DataCenter.savesoundvalue.Value = soundNum;
                    return;
                }
                // 声浪不为0的时候,需要判断能否打开声浪;声浪过热的时候,返回false
                if (SuperSportNative.SwitchSoundWave(soundNum))
                {
                    DataCenter.savesoundvalue.Value = soundNum;
                }
                else
                {
                    // 声浪打不开就能设置关闭
                    DataCenter.savesoundvalue.Value = 0;
                }

            }
        }

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using UIFramework;
using System;
using UniRx;
public class MonophonicWaveRegulation : MonoBehaviour
{
// 声浪调节
[SerializeField]
private GameObject m_SoundWaveRegulation;
// 声浪调节 V8引擎
[SerializeField]
private Button Engine;
Vector3 vectorSoundWaveRegulation = new Vector3(-135f, -22f, 0f);
// 声浪调节 关
[SerializeField]
private Button Close;
Vector3 vectorClose = new Vector3(139f, -22f, 0f);
// 声浪调节 弹窗其他区域点击关闭弹窗
[SerializeField]
private Button MaskClose;
// 声浪调节 选中框
[SerializeField]
private Image Img_PitchOn;
Vector3 vectorPitchOnStart = new Vector3(-135f, -22f, 0f);

private PitchOn _currentlySelected = PitchOn.PitchEngine;

private PitchOn _savelySelected = PitchOn.PitchEngine;

private bool isClick = false;
enum PitchOn
{
    PitchEngine,
    PitchInductance,
    PitchClose
}

private static readonly string TAG = "SoundWaveRegulation";

private void Start()
{
    DataCenter.savesoundvalue.Subscribe(i =>
    {
        Log.I(TAG, "savesoundvalue value:" + i);
        if (DataCenter.savesoundvalue.Value == 2)
        {
            Img_PitchOn.transform.localPosition = vectorSoundWaveRegulation;
        }
        else
        {
            Img_PitchOn.transform.localPosition = vectorClose;
        }
    }).AddTo(this);

    //点击电感声浪按钮
    Engine.onClick.AddListener(() =>
    {
        Log.I(TAG, "Engine Button Clicked!");
        CancelInvoke("CloseWave");
        //Img_PitchOn.transform.localPosition = vectorSoundWaveRegulation;
        if (SuperSportNative.SwitchSoundWave(2))
        {
            DataCenter.savesoundvalue.Value = 2;
            SuperSportNative.setPersistentData(DataCenter.sound, "2", false);
            // 数据埋点
            DataTrackHelper.SetupDataTrackPoint("track_master_soundwave_settings","","","inductance");
        }
        else
        {
            Img_PitchOn.transform.localPosition = vectorSoundWaveRegulation;
            // 延迟1s执行按钮回弹
            Invoke("CloseWave", 1f);
        }

    });
    //点击关按钮  只是声浪的一种模式 不保存则数据无效  保存则静音
    Close.onClick.AddListener(() =>
    {
        Log.I(TAG, "Close Button Clicked!");
        //Img_PitchOn.transform.localPosition = vectorClose;
        SuperSportNative.SwitchSoundWave(0);
        DataCenter.savesoundvalue.Value = 0;
        SuperSportNative.setPersistentData(DataCenter.sound, "0", false);
        // 数据埋点
        DataTrackHelper.SetupDataTrackPoint("track_master_soundwave_settings", "","", "off");
    });
    //点击弹窗以外区域关闭当前弹窗 不保存数据
    MaskClose.onClick.AddListener(() =>
    {
        Log.I(TAG, "MaskClose Button Clicked!");
        m_SoundWaveRegulation.SetActive(false);
    });
}

private void CloseWave()
{
    DataCenter.savesoundvalue.Value = 0;
    Img_PitchOn.transform.localPosition = vectorClose;
}

}


http://www.kler.cn/a/450256.html

相关文章:

  • 浅显易懂地介绍 llm.c [译]
  • C++设计模式:中介者模式(聊天室系统)
  • 线性控制算法与非线性控制算法阐述与区分
  • 谷歌浏览器“你使用的是不受支持的命令行标志:--no-sandbox。这会带来稳定性和安全风险。”解决方法
  • NestJS中使用DynamicModule构建插件系统
  • EasyGBS国标GB28181公网平台P2P远程访问故障诊断:云端服务端排查指南
  • 微服务——技术选型与框架
  • PingCAP TiDB数据库专员PCTA认证笔记
  • 【杂谈】-为什么Python是AI的首选语言
  • C# winform 字符串通过枚举类型转成int类型的数据
  • 【全栈实战】基于 Vue3 + Wot Design Uni 动手封装组件
  • 低代码可视化-uniapp进销存销售表单-代码生成器
  • LeetCode 2605 从两个数字数组里生成最小数字
  • Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
  • Echarts的高级使用,动画,交互api
  • Vue3:uv-upload图片上传
  • LeetCode:101. 对称二叉树
  • Vue3 组件 view-shadcn-ui 2024.5.3 发布
  • 如何利用Java爬虫按关键字搜索苏宁易购商品
  • 精准提升:从94.5%到99.4%——目标检测调优全纪录