feat(upserver): 接入认证与KV存档并完成限定钓鱼闭环
This commit is contained in:
23
Client/Assets/Editor/KVGameLoadValidation.cs
Normal file
23
Client/Assets/Editor/KVGameLoadValidation.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
#if UNITY_EDITOR
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public static class KVGameLoadValidation
|
||||
{
|
||||
// Fixed assembly/type/method and explicit case allow-list; no arbitrary reflection arguments.
|
||||
public static async Task<string> RunAsync(string caseId)
|
||||
{
|
||||
if (caseId != "M08-M23" && caseId != "M21-M22-M24" && caseId != "M09-M10-M12" &&
|
||||
caseId != "M14" && caseId != "M07" && caseId != "M20-M21-M22-M24-M28-M29" && caseId != "M16-M17" &&
|
||||
caseId != "M06-M13" && caseId != "M15-M26-M27" && caseId != "M30" && caseId != "M19" && caseId != "M11" && caseId != "M25" &&
|
||||
caseId != "M01-M02-M21-M22-M24" && caseId != "M04-M21-M22-M24" && caseId != "M05-M21-M22-M24" && caseId != "M03" && caseId != "M18" && caseId != "M31" && caseId != "B2-20") throw new ArgumentException("Unknown fixed validation case.");
|
||||
var assembly = AppDomain.CurrentDomain.GetAssemblies().Single(a => a.GetName().Name == "HotUpdate");
|
||||
var type = assembly.GetType("game.PlayerDataStorage.PlayerKVEditorValidationHost", true);
|
||||
var method = type.GetMethod("RunAsync", BindingFlags.Static | BindingFlags.NonPublic, null, new[] { typeof(string) }, null);
|
||||
if (method == null) throw new InvalidOperationException("Validation entry unavailable.");
|
||||
return await (Task<string>)method.Invoke(null, new object[] { caseId });
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user