This commit is contained in:
2026-02-12 22:15:15 +08:00
parent 47a5cff08b
commit 502c6efedc
58 changed files with 2114 additions and 708 deletions

View File

@@ -0,0 +1,36 @@
using System;
namespace NBF
{
public static class GameUtil
{
/// <summary>
/// 格式化数字显示大于等于10000显示N万保留1位小数点整数1万、2万不要小数点
/// </summary>
/// <param name="number">要格式化的数字</param>
/// <returns>格式化后的字符串</returns>
public static string FormatNumber(this int number)
{
if (number < 10000)
{
return number.ToString(); // 小于10000直接显示
}
// 转换为万为单位
double valueInTenThousand = number / 10000.0;
// 判断是否为整数万
if (Math.Abs(valueInTenThousand - Math.Floor(valueInTenThousand)) < 0.00001) // 处理浮点数精度
{
// 整数万,不显示小数点
return $"{(int)valueInTenThousand}万";
}
// 非整数万向下取整并保留1位小数
double flooredValue = Math.Floor(valueInTenThousand * 10) / 10;
// 处理浮点数精度确保只显示1位小数
return $"{flooredValue:F1}万";
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f8eef66abe7f429ebc76870fe1d0e10c
timeCreated: 1770649984

View File

@@ -44,5 +44,64 @@ namespace NBF
Debug.LogWarning($"androidId={androidId}");
return androidId;
}
public static string GetDeviceModel()
{
string deviceModel = string.Empty;
#if UNITY_EDITOR
// 在编辑器中使用 SystemInfo
deviceModel = SystemInfo.deviceModel;
#elif UNITY_ANDROID
if (Application.platform == RuntimePlatform.Android)
{
try
{
// 方法1使用 SystemInfo.deviceModel推荐最简单
deviceModel = SystemInfo.deviceModel;
// 方法2通过 Android API 获取更详细的信息(可选)
/*
using (AndroidJavaClass buildClass = new AndroidJavaClass("android.os.Build"))
{
string manufacturer = buildClass.GetStatic<string>("MANUFACTURER");
string model = buildClass.GetStatic<string>("MODEL");
string product = buildClass.GetStatic<string>("PRODUCT");
string device = buildClass.GetStatic<string>("DEVICE");
// 可以根据需要组合不同的信息
deviceModel = $"{manufacturer} {model}";
// 或者更详细的deviceModel = $"{manufacturer} {model} (Product: {product}, Device: {device})";
}
*/
}
catch (System.Exception e)
{
Debug.LogError("Error while fetching device model: " + e.Message);
deviceModel = SystemInfo.deviceModel; // 失败时回退到 SystemInfo
}
}
else
{
deviceModel = SystemInfo.deviceModel;
}
#elif UNITY_IOS
// iOS平台
deviceModel = SystemInfo.deviceModel;
// 如果需要获取更友好的设备名称(如 "iPhone 14 Pro" 而不是 "iPhone15,2"
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
deviceModel = UnityEngine.iOS.Device.generation.ToString();
}
#else
// 其他平台
deviceModel = SystemInfo.deviceModel;
#endif
Debug.LogWarning($"Device Model: {deviceModel}");
return deviceModel;
}
}
}