From 8d0728872f512409895b6b6fea17b74d0633da81 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 26 五月 2026 15:38:40 +0800
Subject: [PATCH] 启动游戏时同步version config
---
Assets/Editor/Tool/ExportVersionConfigEx.cs | 65 ++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 13 deletions(-)
diff --git a/Assets/Editor/Tool/ExportVersionConfigEx.cs b/Assets/Editor/Tool/ExportVersionConfigEx.cs
index 4245a32..5615e9b 100644
--- a/Assets/Editor/Tool/ExportVersionConfigEx.cs
+++ b/Assets/Editor/Tool/ExportVersionConfigEx.cs
@@ -1,31 +1,70 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
+锘縰sing UnityEngine;
using UnityEditor;
using System.IO;
-using UnityEngine.UI;
-using System.Reflection;
+[InitializeOnLoad]
public class ExportVersionConfigEx : EditorWindow {
+ private const string VersionConfigAssetPath = "Assets/Resources/VersionConfig.asset";
+ private const string VersionConfigExAssetPath = "Assets/Resources/VersionConfigEx.txt";
+ static ExportVersionConfigEx()
+ {
+ EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
+ EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
+ }
[MenuItem("绋嬪簭/鍚屾VersionConfigEx.txt", false)]
- private static async void Export()
+ public static void Export()
{
- //鐢熸垚VersionConfigEx.txt 鎻愪緵缁橝OT鍚姩鏃朵娇鐢�
- await VersionConfig.GetAsync();
- var json = JsonUtility.ToJson(VersionConfig.config);
- string versionConfigExFile = Application.dataPath + "/Resources/VersionConfigEx.txt";
- if (File.Exists(versionConfigExFile))
+ SyncVersionConfigEx();
+ }
+
+ public static bool SyncVersionConfigEx()
+ {
+ var versionConfig = AssetDatabase.LoadAssetAtPath<VersionConfig>(VersionConfigAssetPath);
+ if (versionConfig == null)
{
- File.Delete(versionConfigExFile);
+ Debug.LogError($"鍚屾VersionConfigEx.txt澶辫触锛屾壘涓嶅埌閰嶇疆: {VersionConfigAssetPath}");
+ return false;
}
+
+ VersionConfig.config = versionConfig;
+ if (LocalSave.GetBool("RestoreTest"))
+ {
+ versionConfig.m_AppId = "test";
+ LocalSave.SetBool("RestoreTest", false);
+ EditorUtility.SetDirty(versionConfig);
+ Debug.Log("appid 鎭㈠test");
+ }
+
+ string versionConfigExFile = Path.Combine(Application.dataPath, "Resources", "VersionConfigEx.txt");
+ string versionConfigExDirectory = Path.GetDirectoryName(versionConfigExFile);
+ if (!Directory.Exists(versionConfigExDirectory))
+ {
+ Directory.CreateDirectory(versionConfigExDirectory);
+ }
+
+ var json = JsonUtility.ToJson(versionConfig);
File.WriteAllText(versionConfigExFile, json);
AssetDatabase.SaveAssets();
- AssetDatabase.Refresh();
+ AssetDatabase.ImportAsset(VersionConfigExAssetPath, ImportAssetOptions.ForceUpdate);
+ VersionConfigEx.config = null;
Debug.Log("鍚屾VersionConfigEx.txt鎴愬姛");
+ return true;
+ }
+ private static void OnPlayModeStateChanged(PlayModeStateChange state)
+ {
+ if (state != PlayModeStateChange.ExitingEditMode)
+ {
+ return;
+ }
+
+ if (!SyncVersionConfigEx())
+ {
+ EditorApplication.isPlaying = false;
+ }
}
--
Gitblit v1.8.0