大调整

This commit is contained in:
Bob.Song
2025-12-23 18:03:53 +08:00
parent 649e869038
commit 652aa00644
10072 changed files with 70310 additions and 197003 deletions

View File

@@ -1,9 +1,14 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using FairyGUI;
using Fantasy;
using Fantasy.Async;
using NBC;
using NBC.Asset;
using NBF.Fishing2;
using UnityEngine;
using Log = Fantasy.Log;
namespace NBF
{
@@ -22,7 +27,6 @@ namespace NBF
public static event Action OnApplicationQuitAction;
public static event Action OnApplicationPauseAction;
public static void SetInitCallback(GameObject root, Action callback = null)
{
@@ -35,7 +39,6 @@ namespace NBF
private void Awake()
{
Instance = this;
// CameraConfig = Resources.Load<CameraScriptObject>(nameof(CameraConfig));
}
private void Start()
@@ -75,16 +78,18 @@ namespace NBF
private async FTask StartAsync()
{
// 初始化框架
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
List<System.Reflection.Assembly> loadAssemblies = new List<System.Reflection.Assembly>();
foreach (var assembly in assemblies)
{
// 跳过系统程序集以提高性能(可选)
if (IsSystemAssembly(assembly))
continue;
loadAssemblies.Add(assembly);
}
var task = Assets.Initialize();
await task.Task;
// // 初始化框架
// var assemblies = AppDomain.CurrentDomain.GetAssemblies();
// // List<System.Reflection.Assembly> loadAssemblies = new List<System.Reflection.Assembly>();
// foreach (var assembly in assemblies)
// {
// // 跳过系统程序集以提高性能(可选)
// if (IsSystemAssembly(assembly))
// continue;
// loadAssemblies.Add(assembly);
// }
// 1. 初始化 Fantasy 框架
await Fantasy.Platform.Unity.Entry.Initialize();
@@ -93,10 +98,82 @@ namespace NBF
// Scene 是 Fantasy 框架的核心容器,所有功能都在 Scene 下运行
// SceneRuntimeMode.MainThread 表示在 Unity 主线程运行
_scene = await Scene.Create(SceneRuntimeMode.MainThread);
// UI = _scene.AddComponent<UIComponent>();
LoadData();
InitLanguage();
InitUI();
OnInitialized?.Invoke();
}
#region Config
private void LoadData()
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var jsonAsset = Assets.Load<TextAsset>("Config/configs");
if (jsonAsset != null)
{
ConfigTableHelper.Initialize(jsonAsset.text);
}
stopwatch.Stop();
Log.Info($"解析表格耗时={stopwatch.ElapsedMilliseconds}");
// ConfigAssets.Init();
}
#endregion
#region
private void InitLanguage()
{
// var map = LanguageConst.languageMap;
Lan.Inst.AddLanguageModule((int)LanguageModuleType.Text, new LanguageText());
Lan.Inst.AddLanguageModule((int)LanguageModuleType.Image, new LanguageImage());
Lan.Inst.AddLanguageModule((int)LanguageModuleType.Font, new LanguageFont());
foreach (var key in LanguageConst.languageMap.Keys)
{
Lan.Inst.AddLanguage(key);
}
UI.Inst.SetUILanguage<UILangeageConfig>();
Lan.Inst.AutoUseLanguage();
}
#endregion
#region UI
private void InitUI()
{
GRoot.inst.SetContentScaleFactor(UIDef.DefaultScreen.Width, UIDef.DefaultScreen.Height,
UIContentScaler.ScreenMatchMode.MatchWidthOrHeight);
Binder.BindAll();
UIObjectFactory.SetLoaderExtension(typeof(XGLoader));
UIConst.UIPackRootUrl = UIDef.UIRoot;
UIConfig.verticalScrollBar = "ui://6hgkvlauoomej";
UIConfig.defaultFont = "AlibabaPuHuiTi-3-Medium";
UI.Inst.SetUILanguage<UILangeageConfig>();
UIConfig.modalLayerColor = new Color(0, 0, 0, 0.99f);
AddUIPackages();
}
private void AddUIPackages()
{
UI.Inst.AddPackage("Common/Common");
UI.Inst.AddPackage("CommonNew/CommonNew");
UI.Inst.AddPackage("CommonFlag/CommonFlag");
UI.Inst.AddPackage("CommonIcon/CommonIcon");
}
#endregion
// 判断是否是系统程序集(可选优化)
private static bool IsSystemAssembly(System.Reflection.Assembly assembly)
{