feat: 新增资源、更新页面功能与资源配置

1. 新增两张UI纹理图片并配置导入参数
2. 更新个人中心重置密码面板注释
3. 为国家选择组件添加加载弹窗显示隐藏逻辑
4. 简化注册设置密码面板的冗余代码
5. 更新主场景资源位置配置
6. 替换个人中心密码页的UI精灵资源
7. 优化资源更新逻辑,添加内存bundle缓存清理与调试日志
This commit is contained in:
“虞渠成” 2026-07-29 09:31:30 +08:00
parent c6ce76cd76
commit 146938ef95
10 changed files with 151 additions and 18 deletions

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

View File

@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 557fcd7424c7d1a4396e29143f16dc29
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -468,7 +468,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 760f02f193c721a4b956dd41b1c75a8e, type: 3} m_Sprite: {fileID: 21300000, guid: 557fcd7424c7d1a4396e29143f16dc29, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -2572,7 +2572,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 760f02f193c721a4b956dd41b1c75a8e, type: 3} m_Sprite: {fileID: 21300000, guid: 557fcd7424c7d1a4396e29143f16dc29, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -2788,7 +2788,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 760f02f193c721a4b956dd41b1c75a8e, type: 3} m_Sprite: {fileID: 21300000, guid: 557fcd7424c7d1a4396e29143f16dc29, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@ -3062,7 +3062,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 760f02f193c721a4b956dd41b1c75a8e, type: 3} m_Sprite: {fileID: 21300000, guid: 557fcd7424c7d1a4396e29143f16dc29, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1

View File

@ -449,7 +449,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 05b49f3efc06bd84b91275be192861eb, type: 3} m_Script: {fileID: 11500000, guid: 05b49f3efc06bd84b91275be192861eb, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
resPosition: 1 resPosition: 2
commonList: commonList:
- common - common
- ui_common - ui_common

View File

@ -403,6 +403,7 @@ namespace Kill.Network
if (string.IsNullOrEmpty(streamingListJson)) if (string.IsNullOrEmpty(streamingListJson))
{ {
Debug.Log("没有跟包资源");
return; return;
} }
@ -411,6 +412,7 @@ namespace Kill.Network
if (!File.Exists(localListPath)) if (!File.Exists(localListPath))
{ {
Debug.Log("没有本地资源");
return; return;
} }
@ -419,7 +421,7 @@ namespace Kill.Network
if (new Version(streamingBundleList.version) >= new Version(localBundleList.version)) if (new Version(streamingBundleList.version) >= new Version(localBundleList.version))
{ {
Debug.Log($"跟包资源版本: {localBundleList.version} -> {streamingBundleList.version},正在清理本地过期资源..."); Debug.Log($"跟包资源版本: {streamingBundleList.version} ->本地资源版本: {localBundleList.version},正在清理本地过期资源...");
CleanLocalAssetBundleFiles(); CleanLocalAssetBundleFiles();
} }
else else
@ -440,6 +442,16 @@ namespace Kill.Network
{ {
try try
{ {
// 先清理内存中的已加载bundle缓存防止后续从磁盘加载时命中旧缓存
if (LoadRes.Instance.loadedBundles != null)
{
foreach (var kv in LoadRes.Instance.loadedBundles)
{
kv.Value.Unload(true);
}
LoadRes.Instance.loadedBundles.Clear();
}
string[] localAbFiles = Directory.GetFiles(localPath, "*.ab", SearchOption.AllDirectories); string[] localAbFiles = Directory.GetFiles(localPath, "*.ab", SearchOption.AllDirectories);
foreach (string abFile in localAbFiles) foreach (string abFile in localAbFiles)
{ {

View File

@ -6,6 +6,7 @@ using UnityEngine.UI;
using Kill.Managers; using Kill.Managers;
using Kill.Network; using Kill.Network;
using Kill.UI; using Kill.UI;
using Kill.UI.Components;
public class SelectCountry : MonoBehaviour public class SelectCountry : MonoBehaviour
{ {
@ -167,6 +168,7 @@ public class SelectCountry : MonoBehaviour
/// </summary> /// </summary>
private async System.Threading.Tasks.Task UpdateCountryCodeAsync(string code) private async System.Threading.Tasks.Task UpdateCountryCodeAsync(string code)
{ {
LoadingUI.Show();
try try
{ {
var requestData = new CountryCodeRequest var requestData = new CountryCodeRequest
@ -190,6 +192,7 @@ public class SelectCountry : MonoBehaviour
{ {
Debug.LogError($"更新国家代码失败: {ex.Message}"); Debug.LogError($"更新国家代码失败: {ex.Message}");
} }
LoadingUI.Hide();
} }
} }

View File

@ -2,10 +2,7 @@ using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
using Kill.Utils; using Kill.Utils;
using Kill.Managers; using Kill.Managers;
using System.Threading.Tasks;
using System;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using UnityEngine.WSA;
using Kill.UI.Components; using Kill.UI.Components;
namespace Kill.UI.Pages namespace Kill.UI.Pages
@ -53,11 +50,6 @@ namespace Kill.UI.Pages
Register, // 注册设置密码 Register, // 注册设置密码
ResetPassword // 忘记密码重置密码 ResetPassword // 忘记密码重置密码
} }
void Start()
{
OnInitialize();
OnShow();
}
protected override void OnInitialize() protected override void OnInitialize()
{ {
if (confirmBtn != null) if (confirmBtn != null)

View File

@ -10,10 +10,9 @@ using Kill.Network;
namespace Kill.UI.Pages namespace Kill.UI.Pages
{ {
/// <summary> /// <summary>
/// 设置密码页面 /// 个人中心重置密码
/// 用于注册设置密码和忘记密码重置密码 /// </summary>
/// </summary>
public class SelfSetPasswordPanel : MonoBehaviour public class SelfSetPasswordPanel : MonoBehaviour
{ {
[Header("输入组件")] [Header("输入组件")]