当前位置: 首页> 健康> 美食 > 义乌互联网公司_进入百度app_咸阳网站建设公司_seo搜索引擎

义乌互联网公司_进入百度app_咸阳网站建设公司_seo搜索引擎

时间:2025/9/5 21:48:27来源:https://blog.csdn.net/weixin_44919646/article/details/142567345 浏览次数:0次
义乌互联网公司_进入百度app_咸阳网站建设公司_seo搜索引擎

using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;

using UnityEngine;

namespace Server
{
public class ObservableValues where T : ITuple
{
public event EventHandler<ValuesChangedEventArgs> ValuesChanged;
public T Values { get; private set; }

    public ObservableValues(T initialValues){

#if UNITY_EDITOR

#endif
Values = initialValues;
}

    public void SetValues(T newValues){if (!EqualityComparer<T>.Default.Equals(Values, newValues)){T oldValues = Values;Values = newValues;OnValuesChanged(new ValuesChangedEventArgs<T>(Values));}}protected virtual void OnValuesChanged(ValuesChangedEventArgs<T> e){ValuesChanged?.Invoke(this, e);}public void Invoke(){ValuesChanged?.Invoke(this, new ValuesChangedEventArgs<T>(Values));}
}public class ValuesChangedEventArgs<T> : EventArgs where T : ITuple
{public T NewValues { get; }public ValuesChangedEventArgs(T newValues){NewValues = newValues;}
}public static class Test
{public static void ObservableValuesTest(){// 创建一个单值元组ObservableValues<ValueTuple<int>> observableSingle1 = new ObservableValues<ValueTuple<int>>(ValueTuple.Create(5));observableSingle1.ValuesChanged += (sender, e) =>{DebugUtils.Log($"Single value updated to {e.NewValues.Item1}");};observableSingle1.SetValues(ValueTuple.Create(10));// 创建一个双值元组ObservableValues<(int, string)> observablePair1 = new ObservableValues<(int, string)>((10, "ten"));observablePair1.ValuesChanged += (sender, e) =>{DebugUtils.Log($"Pair values updated to ({e.NewValues.Item1}, {e.NewValues.Item2})");};observablePair1.SetValues((20, "twenty"));DebugUtils.Log($"{observablePair1.Values.Item1}");// 创建一个三值元组ObservableValues<(int, string, bool)> observableTriple1 = new ObservableValues<(int, string, bool)>((15, "fifteen", true));observableTriple1.ValuesChanged += (sender, e) =>{DebugUtils.Log($"Triple values updated to ({e.NewValues.Item1}, {e.NewValues.Item2}, {e.NewValues.Item3})");};observableTriple1.SetValues((30, "thirty", false));// 创建一个四值元组ObservableValues<(int, string, bool, double)> observableQuadruple1 = new ObservableValues<(int, string, bool, double)>((20, "twenty", false, 20.0));observableQuadruple1.ValuesChanged += (sender, e) =>{DebugUtils.Log($"Quadruple values updated to ({e.NewValues.Item1}, {e.NewValues.Item2}, {e.NewValues.Item3}, {e.NewValues.Item4})");};observableQuadruple1.SetValues((40, "forty", true, 40.0));}
}public static class DebugUtils
{public static void Log(string message,[CallerMemberName] string memberName = "",[CallerFilePath] string filePath = "",[CallerLineNumber] int lineNumber = 0){string logMessage = FormatMessage("Info", message, memberName, filePath, lineNumber);Debug.Log(logMessage);if (Debug.isDebugBuild){CustomLogger.Instance.Log(logMessage);}}public static void LogError(string message,[CallerMemberName] string memberName = "",[CallerFilePath] string filePath = "",[CallerLineNumber] int lineNumber = 0){string logMessage = FormatMessage("Error", message, memberName, filePath, lineNumber);Debug.LogError(logMessage);if (Debug.isDebugBuild){CustomLogger.Instance.LogError(logMessage);}}public static void LogWarning(string message,[CallerMemberName] string memberName = "",[CallerFilePath] string filePath = "",[CallerLineNumber] int lineNumber = 0){string logMessage = FormatMessage("Warning", message, memberName, filePath, lineNumber);Debug.LogWarning(logMessage);if (Debug.isDebugBuild){CustomLogger.Instance.LogWarning(logMessage);}}private static string FormatMessage(string logType, string message, string memberName, string filePath, int lineNumber){string fileName = System.IO.Path.GetFileName(filePath);string projectName = Application.productName;return $"【{projectName}】 {logType} - {fileName}:{lineNumber} <{memberName}> : {message}";}
}

}

关键字:义乌互联网公司_进入百度app_咸阳网站建设公司_seo搜索引擎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: