mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
Merge pull request #25 from ALEXTANGXIAO/TEngine_v_3.0.0
TEngine v 3.0.0
This commit is contained in:
@@ -18,6 +18,5 @@ namespace GameBase
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine.UI;
|
||||
using TEngine;
|
||||
|
||||
namespace GameLogic
|
||||
@@ -13,21 +15,23 @@ namespace GameLogic
|
||||
{
|
||||
m_textError = FindChildComponent<Text>("m_textError");
|
||||
m_btnClose = FindChildComponent<Button>("m_btnClose");
|
||||
m_btnClose.onClick.AddListener(OnClickCloseBtn);
|
||||
m_btnClose.onClick.AddListener(UniTask.UnityAction(OnClickCloseBtn));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 事件
|
||||
|
||||
private void OnClickCloseBtn()
|
||||
private async UniTaskVoid OnClickCloseBtn()
|
||||
{
|
||||
await UniTask.Delay(TimeSpan.FromSeconds(0.5f));
|
||||
|
||||
Close();
|
||||
}
|
||||
#endregion
|
||||
|
||||
public override void OnRefresh()
|
||||
{
|
||||
m_textError.text = UserData.ToString();
|
||||
}
|
||||
|
||||
public override void OnRefresh()
|
||||
{
|
||||
m_textError.text = UserData.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -52,7 +52,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
private void Start()
|
||||
{
|
||||
GameTime.StartFrame();
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -65,7 +65,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
{
|
||||
GameTime.StartFrame();
|
||||
TProfiler.BeginFirstSample("Update");
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -81,7 +81,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
{
|
||||
GameTime.StartFrame();
|
||||
TProfiler.BeginFirstSample("FixedUpdate");
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -97,7 +97,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
{
|
||||
GameTime.StartFrame();
|
||||
TProfiler.BeginFirstSample("LateUpdate");
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -112,7 +112,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
private void OnDestroy()
|
||||
{
|
||||
GameTime.StartFrame();
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -125,7 +125,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
GameTime.StartFrame();
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
@@ -137,7 +137,7 @@ public partial class GameApp:Singleton<GameApp>
|
||||
|
||||
private void OnApplicationPause(bool isPause)
|
||||
{
|
||||
var listLogic = m_listLogicMgr;
|
||||
var listLogic = _listLogicMgr;
|
||||
var logicCnt = listLogic.Count;
|
||||
for (int i = 0; i < logicCnt; i++)
|
||||
{
|
||||
|
@@ -3,11 +3,11 @@ using TEngine;
|
||||
|
||||
public partial class GameApp
|
||||
{
|
||||
private List<ILogicSys> m_listLogicMgr;
|
||||
private List<ILogicSys> _listLogicMgr;
|
||||
|
||||
private void Init()
|
||||
{
|
||||
m_listLogicMgr = new List<ILogicSys>();
|
||||
_listLogicMgr = new List<ILogicSys>();
|
||||
RegisterAllSystem();
|
||||
InitSystemSetting();
|
||||
}
|
||||
@@ -35,7 +35,7 @@ public partial class GameApp
|
||||
/// <returns></returns>
|
||||
protected bool AddLogicSys(ILogicSys logicSys)
|
||||
{
|
||||
if (m_listLogicMgr.Contains(logicSys))
|
||||
if (_listLogicMgr.Contains(logicSys))
|
||||
{
|
||||
Log.Fatal("Repeat add logic system: {0}", logicSys.GetType().Name);
|
||||
return false;
|
||||
@@ -47,7 +47,7 @@ public partial class GameApp
|
||||
return false;
|
||||
}
|
||||
|
||||
m_listLogicMgr.Add(logicSys);
|
||||
_listLogicMgr.Add(logicSys);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using TEngine;
|
||||
using TEngine.Localization;
|
||||
using TEngine;
|
||||
using YooAsset;
|
||||
using ProcedureOwner = TEngine.IFsm<TEngine.IProcedureManager>;
|
||||
|
||||
|
@@ -420,6 +420,51 @@ Camera:
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &291980957
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 291980958}
|
||||
- component: {fileID: 291980959}
|
||||
m_Layer: 0
|
||||
m_Name: Localization
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &291980958
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 291980957}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &291980959
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 291980957}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a3ccdd8df93488782ad0f5f240bece9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_LocalizationHelperTypeName: TEngine.DefaultLocalizationHelper
|
||||
m_CustomLocalizationHelper: {fileID: 0}
|
||||
--- !u!1 &828420965
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1011,6 +1056,7 @@ Transform:
|
||||
- {fileID: 1538699881}
|
||||
- {fileID: 1176880018}
|
||||
- {fileID: 1947304785}
|
||||
- {fileID: 291980958}
|
||||
- {fileID: 2108959336}
|
||||
m_Father: {fileID: 1729961660}
|
||||
m_RootOrder: 0
|
||||
@@ -1066,7 +1112,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2061060682}
|
||||
m_RootOrder: 9
|
||||
m_RootOrder: 10
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2108959337
|
||||
MonoBehaviour:
|
||||
|
@@ -0,0 +1,56 @@
|
||||
using UnityEditor;
|
||||
|
||||
namespace TEngine.Editor.Inspector
|
||||
{
|
||||
[CustomEditor(typeof(LocalizationModule))]
|
||||
internal sealed class LocalizationModuleInspector : GameFrameworkInspector
|
||||
{
|
||||
private HelperInfo<LocalizationHelperBase> m_LocalizationHelperInfo = new HelperInfo<LocalizationHelperBase>("Localization");
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
|
||||
serializedObject.Update();
|
||||
|
||||
LocalizationModule t = (LocalizationModule)target;
|
||||
|
||||
EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
|
||||
{
|
||||
m_LocalizationHelperInfo.Draw();
|
||||
}
|
||||
EditorGUI.EndDisabledGroup();
|
||||
|
||||
if (EditorApplication.isPlaying && IsPrefabInHierarchy(t.gameObject))
|
||||
{
|
||||
EditorGUILayout.LabelField("Language", t.Language.ToString());
|
||||
EditorGUILayout.LabelField("System Language", t.SystemLanguage.ToString());
|
||||
EditorGUILayout.LabelField("Dictionary Count", t.DictionaryCount.ToString());
|
||||
}
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
Repaint();
|
||||
}
|
||||
|
||||
protected override void OnCompileComplete()
|
||||
{
|
||||
base.OnCompileComplete();
|
||||
|
||||
RefreshTypeNames();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
m_LocalizationHelperInfo.Init(serializedObject);
|
||||
|
||||
RefreshTypeNames();
|
||||
}
|
||||
|
||||
private void RefreshTypeNames()
|
||||
{
|
||||
m_LocalizationHelperInfo.Refresh();
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1886d664f9344745b7bca0786434076d
|
||||
timeCreated: 1681895173
|
@@ -45,6 +45,8 @@ namespace TEngine.Editor
|
||||
|
||||
EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
|
||||
{
|
||||
EditorGUILayout.PropertyField(m_EditorLanguage);
|
||||
|
||||
EditorGUILayout.BeginVertical("box");
|
||||
{
|
||||
EditorGUILayout.LabelField("Global Helpers", EditorStyles.boldLabel);
|
||||
|
3
Assets/TEngine/Runtime/GameFramework/Bugly.meta
Normal file
3
Assets/TEngine/Runtime/GameFramework/Bugly.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2e8f0a34b8444829a115ceca00610ee
|
||||
timeCreated: 1681895814
|
14
Assets/TEngine/Runtime/GameFramework/Bugly/BuglyConfig.cs
Normal file
14
Assets/TEngine/Runtime/GameFramework/Bugly/BuglyConfig.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
[CreateAssetMenu]
|
||||
public class BuglyConfig : ScriptableObject
|
||||
{
|
||||
public string channelId;
|
||||
public string androidId;
|
||||
public string androidKey;
|
||||
public string iosId;
|
||||
public string iosKey;
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acf9017ac21e41dc97f7c328c0d6017f
|
||||
timeCreated: 1681895834
|
90
Assets/TEngine/Runtime/GameFramework/Bugly/BuglyManager.cs
Normal file
90
Assets/TEngine/Runtime/GameFramework/Bugly/BuglyManager.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
public class BuglyManager
|
||||
{
|
||||
private static BuglyManager _buglyManager;
|
||||
|
||||
public static BuglyManager Instance => _buglyManager ??= new BuglyManager();
|
||||
|
||||
public void Init(BuglyConfig config,string version = "")
|
||||
{
|
||||
if (config!= null)
|
||||
{
|
||||
ConfigDefault(config.channelId, string.IsNullOrEmpty(version) ? Version.GameVersion : version);
|
||||
BuglyAgent.ConfigDebugMode (false);
|
||||
#if UNITY_IPHONE || UNITY_IOS
|
||||
BuglyAgent.InitWithAppId (config.iosId);
|
||||
#elif UNITY_ANDROID
|
||||
BuglyAgent.InitWithAppId (config.androidId);
|
||||
#endif
|
||||
BuglyAgent.EnableExceptionHandler();
|
||||
Debug.Log($"Init Bugly Successes");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Init Bugly Fatal buglyConfig.asset is null!");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 启动C#异常捕获上报,默认自动上报级别为LogError,那么LogError、LogException的异常日志都会自动捕获上报。
|
||||
/// </summary>
|
||||
public void EnableExceptionHandle()
|
||||
{
|
||||
BuglyAgent.EnableExceptionHandler();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置自动上报日志信息的级别,默认LogError,则>=LogError的日志都会自动捕获上报。
|
||||
/// </summary>
|
||||
/// <param name="logLevel"></param> 日志级别
|
||||
public void SetReportLogLevel(LogSeverity logLevel)
|
||||
{
|
||||
BuglyAgent.ConfigAutoReportLogLevel(logLevel);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置上报的用户唯一标识,项目组可在收到服务器登录回调后调用。
|
||||
/// </summary>
|
||||
/// <param name="userId">用户唯一标识。</param>
|
||||
public void SetUserId(string userId)
|
||||
{
|
||||
BuglyAgent.SetUserId(userId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上报已捕获C#异常
|
||||
/// </summary>
|
||||
/// <param name="e">异常。</param>
|
||||
/// <param name="description">描述。</param>
|
||||
public void ReportException(System.Exception e, string description)
|
||||
{
|
||||
BuglyAgent.ReportException(e, description);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上报自定义错误信息
|
||||
/// </summary>
|
||||
/// <param name="name"></param>错误名称
|
||||
/// <param name="reason"></param>错误原因
|
||||
/// <param name="traceback"></param>错误堆栈
|
||||
public void ReportError(string name, string reason, string traceback)
|
||||
{
|
||||
BuglyAgent.ReportException(name, reason, traceback);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改默认配置
|
||||
/// </summary>
|
||||
/// <param name="channel"></param>渠道号
|
||||
/// <param name="version"></param>版本号
|
||||
/// <param name="userID"></param>用户唯一标识
|
||||
/// <param name="time"></param>初始化延时
|
||||
public void ConfigDefault(string channel, string version, string userID = "Unknow", long time = 0)
|
||||
{
|
||||
BuglyAgent.ConfigDefault(channel = null, version, userID = "Unknow", time = 0);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94102b3b00fd4c9293073236adec064c
|
||||
timeCreated: 1681895834
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f513275928c09f42ad6c2cbdd56cbec
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,19 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: acf9017ac21e41dc97f7c328c0d6017f, type: 3}
|
||||
m_Name: BuglyConfig
|
||||
m_EditorClassIdentifier:
|
||||
channelId: TEngine
|
||||
androidId: 100001
|
||||
androidKey: TEngine
|
||||
iosId: 100001
|
||||
iosKey: TEngine
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 574540cb1bee6a247aa8a2539b87b0fb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 默认本地化辅助器。
|
||||
/// </summary>
|
||||
public class DefaultLocalizationHelper : LocalizationHelperBase
|
||||
{
|
||||
private static readonly string[] ColumnSplitSeparator = new string[] { "\t" };
|
||||
private const int ColumnCount = 4;
|
||||
|
||||
private ResourceModule m_ResourceModule = null;
|
||||
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
public override Language SystemLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (Application.systemLanguage)
|
||||
{
|
||||
case UnityEngine.SystemLanguage.Afrikaans: return Language.Afrikaans;
|
||||
case UnityEngine.SystemLanguage.Arabic: return Language.Arabic;
|
||||
case UnityEngine.SystemLanguage.Basque: return Language.Basque;
|
||||
case UnityEngine.SystemLanguage.Belarusian: return Language.Belarusian;
|
||||
case UnityEngine.SystemLanguage.Bulgarian: return Language.Bulgarian;
|
||||
case UnityEngine.SystemLanguage.Catalan: return Language.Catalan;
|
||||
case UnityEngine.SystemLanguage.Chinese: return Language.ChineseSimplified;
|
||||
case UnityEngine.SystemLanguage.ChineseSimplified: return Language.ChineseSimplified;
|
||||
case UnityEngine.SystemLanguage.ChineseTraditional: return Language.ChineseTraditional;
|
||||
case UnityEngine.SystemLanguage.Czech: return Language.Czech;
|
||||
case UnityEngine.SystemLanguage.Danish: return Language.Danish;
|
||||
case UnityEngine.SystemLanguage.Dutch: return Language.Dutch;
|
||||
case UnityEngine.SystemLanguage.English: return Language.English;
|
||||
case UnityEngine.SystemLanguage.Estonian: return Language.Estonian;
|
||||
case UnityEngine.SystemLanguage.Faroese: return Language.Faroese;
|
||||
case UnityEngine.SystemLanguage.Finnish: return Language.Finnish;
|
||||
case UnityEngine.SystemLanguage.French: return Language.French;
|
||||
case UnityEngine.SystemLanguage.German: return Language.German;
|
||||
case UnityEngine.SystemLanguage.Greek: return Language.Greek;
|
||||
case UnityEngine.SystemLanguage.Hebrew: return Language.Hebrew;
|
||||
case UnityEngine.SystemLanguage.Hungarian: return Language.Hungarian;
|
||||
case UnityEngine.SystemLanguage.Icelandic: return Language.Icelandic;
|
||||
case UnityEngine.SystemLanguage.Indonesian: return Language.Indonesian;
|
||||
case UnityEngine.SystemLanguage.Italian: return Language.Italian;
|
||||
case UnityEngine.SystemLanguage.Japanese: return Language.Japanese;
|
||||
case UnityEngine.SystemLanguage.Korean: return Language.Korean;
|
||||
case UnityEngine.SystemLanguage.Latvian: return Language.Latvian;
|
||||
case UnityEngine.SystemLanguage.Lithuanian: return Language.Lithuanian;
|
||||
case UnityEngine.SystemLanguage.Norwegian: return Language.Norwegian;
|
||||
case UnityEngine.SystemLanguage.Polish: return Language.Polish;
|
||||
case UnityEngine.SystemLanguage.Portuguese: return Language.PortuguesePortugal;
|
||||
case UnityEngine.SystemLanguage.Romanian: return Language.Romanian;
|
||||
case UnityEngine.SystemLanguage.Russian: return Language.Russian;
|
||||
case UnityEngine.SystemLanguage.SerboCroatian: return Language.SerboCroatian;
|
||||
case UnityEngine.SystemLanguage.Slovak: return Language.Slovak;
|
||||
case UnityEngine.SystemLanguage.Slovenian: return Language.Slovenian;
|
||||
case UnityEngine.SystemLanguage.Spanish: return Language.Spanish;
|
||||
case UnityEngine.SystemLanguage.Swedish: return Language.Swedish;
|
||||
case UnityEngine.SystemLanguage.Thai: return Language.Thai;
|
||||
case UnityEngine.SystemLanguage.Turkish: return Language.Turkish;
|
||||
case UnityEngine.SystemLanguage.Ukrainian: return Language.Ukrainian;
|
||||
case UnityEngine.SystemLanguage.Unknown: return Language.Unspecified;
|
||||
case UnityEngine.SystemLanguage.Vietnamese: return Language.Vietnamese;
|
||||
default: return Language.Unspecified;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 读取字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryAssetName">字典资源名称。</param>
|
||||
/// <param name="dictionaryAsset">字典资源。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否读取字典成功。</returns>
|
||||
public override bool ReadData(ILocalizationManager localizationManager, string dictionaryAssetName, object dictionaryAsset, object userData)
|
||||
{
|
||||
TextAsset dictionaryTextAsset = dictionaryAsset as TextAsset;
|
||||
if (dictionaryTextAsset != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
Log.Warning("Dictionary asset '{0}' is invalid.", dictionaryAssetName);
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryString">要解析的字典字符串。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否解析字典成功。</returns>
|
||||
public override bool ParseData(ILocalizationManager localizationManager, string dictionaryString, object userData)
|
||||
{
|
||||
try
|
||||
{
|
||||
int position = 0;
|
||||
while (dictionaryString.ReadLine(ref position) is { } dictionaryLineString)
|
||||
{
|
||||
if (dictionaryLineString[0] == '#')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
string[] splitLine = dictionaryLineString.Split(ColumnSplitSeparator, StringSplitOptions.None);
|
||||
if (splitLine.Length != ColumnCount)
|
||||
{
|
||||
Log.Warning("Can not parse dictionary line string '{0}' which column count is invalid.", dictionaryLineString);
|
||||
return false;
|
||||
}
|
||||
|
||||
string dictionaryKey = splitLine[1];
|
||||
string dictionaryValue = splitLine[3];
|
||||
if (!localizationManager.AddRawString(dictionaryKey, dictionaryValue))
|
||||
{
|
||||
Log.Warning("Can not add raw string with dictionary key '{0}' which may be invalid or duplicate.", dictionaryKey);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Log.Warning("Can not parse dictionary string with exception '{0}'.", exception);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryBytes">要解析的字典二进制流。</param>
|
||||
/// <param name="startIndex">字典二进制流的起始位置。</param>
|
||||
/// <param name="length">字典二进制流的长度。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否解析字典成功。</returns>
|
||||
public override bool ParseData(ILocalizationManager localizationManager, byte[] dictionaryBytes, int startIndex, int length, object userData)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (MemoryStream memoryStream = new MemoryStream(dictionaryBytes, startIndex, length, false))
|
||||
{
|
||||
using (BinaryReader binaryReader = new BinaryReader(memoryStream, Encoding.UTF8))
|
||||
{
|
||||
while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length)
|
||||
{
|
||||
string dictionaryKey = binaryReader.ReadString();
|
||||
string dictionaryValue = binaryReader.ReadString();
|
||||
if (!localizationManager.AddRawString(dictionaryKey, dictionaryValue))
|
||||
{
|
||||
Log.Warning("Can not add raw string with dictionary key '{0}' which may be invalid or duplicate.", dictionaryKey);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Log.Warning("Can not parse dictionary bytes with exception '{0}'.", exception);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 释放字典资源。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryAsset">要释放的字典资源。</param>
|
||||
public override void ReleaseDataAsset(ILocalizationManager localizationManager, object dictionaryAsset)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
m_ResourceModule = GameEntry.GetModule<ResourceModule>();
|
||||
if (m_ResourceModule == null)
|
||||
{
|
||||
Log.Fatal("Resource component is invalid.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b69c074d153b41c99c25df7314599299
|
||||
timeCreated: 1681894549
|
@@ -0,0 +1,16 @@
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化辅助器接口。
|
||||
/// </summary>
|
||||
public interface ILocalizationHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
Language SystemLanguage
|
||||
{
|
||||
get;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: df6453894ad04aa4a525dc3d44506780
|
||||
timeCreated: 1681892003
|
@@ -0,0 +1,477 @@
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化管理器接口。
|
||||
/// </summary>
|
||||
public interface ILocalizationManager
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置本地化语言。
|
||||
/// </summary>
|
||||
Language Language
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
Language SystemLanguage
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取字典数量。
|
||||
/// </summary>
|
||||
int DictionaryCount
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置资源管理器。
|
||||
/// </summary>
|
||||
/// <param name="resourceManager">资源管理器。</param>
|
||||
void SetResourceManager(IResourceManager resourceManager);
|
||||
|
||||
/// <summary>
|
||||
/// 设置本地化辅助器。
|
||||
/// </summary>
|
||||
/// <param name="localizationHelper">本地化辅助器。</param>
|
||||
void SetLocalizationHelper(ILocalizationHelper localizationHelper);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString(string key);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">字典参数的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg">字典参数。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T>(string key, T arg);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2>(string key, T1 arg1, T2 arg2);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3>(string key, T1 arg1, T2 arg2, T3 arg3);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <typeparam name="T16">字典参数 16 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <param name="arg16">字典参数 16。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16);
|
||||
|
||||
/// <summary>
|
||||
/// 是否存在字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否存在字典。</returns>
|
||||
bool HasRawString(string key);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典值。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>字典值。</returns>
|
||||
string GetRawString(string key);
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典值取主键。
|
||||
/// </summary>
|
||||
/// <param name="value">字典值</param>
|
||||
/// <returns></returns>
|
||||
string GetKey(string value);
|
||||
|
||||
/// <summary>
|
||||
/// 增加字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="value">字典内容。</param>
|
||||
/// <returns>是否增加字典成功。</returns>
|
||||
bool AddRawString(string key, string value);
|
||||
|
||||
/// <summary>
|
||||
/// 移除字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否移除字典成功。</returns>
|
||||
bool RemoveRawString(string key);
|
||||
|
||||
/// <summary>
|
||||
/// 清空所有字典。
|
||||
/// </summary>
|
||||
void RemoveAllRawStrings();
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 632a6e2e7fd74b3bb4db2293092df904
|
||||
timeCreated: 1681892003
|
@@ -1,4 +1,4 @@
|
||||
namespace TEngine.Localization
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化语言。
|
||||
|
@@ -0,0 +1,52 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化辅助器基类。
|
||||
/// </summary>
|
||||
public abstract class LocalizationHelperBase : MonoBehaviour, ILocalizationHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
public abstract Language SystemLanguage { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 读取字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryAssetName">字典资源名称。</param>
|
||||
/// <param name="dictionaryAsset">字典资源。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否读取字典成功。</returns>
|
||||
public abstract bool ReadData(ILocalizationManager localizationManager, string dictionaryAssetName, object dictionaryAsset, object userData);
|
||||
|
||||
/// <summary>
|
||||
/// 解析字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryString">要解析的字典字符串。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否解析字典成功。</returns>
|
||||
public abstract bool ParseData(ILocalizationManager localizationManager, string dictionaryString, object userData);
|
||||
|
||||
/// <summary>
|
||||
/// 解析字典。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryBytes">要解析的字典二进制流。</param>
|
||||
/// <param name="startIndex">字典二进制流的起始位置。</param>
|
||||
/// <param name="length">字典二进制流的长度。</param>
|
||||
/// <param name="userData">用户自定义数据。</param>
|
||||
/// <returns>是否解析字典成功。</returns>
|
||||
public abstract bool ParseData(ILocalizationManager localizationManager, byte[] dictionaryBytes, int startIndex, int length, object userData);
|
||||
|
||||
/// <summary>
|
||||
/// 释放字典资源。
|
||||
/// </summary>
|
||||
/// <param name="localizationManager">本地化管理器。</param>
|
||||
/// <param name="dictionaryAsset">要释放的字典资源。</param>
|
||||
public abstract void ReleaseDataAsset(ILocalizationManager localizationManager, object dictionaryAsset);
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5421e747a0504b168542c877c61c24b8
|
||||
timeCreated: 1681894135
|
@@ -0,0 +1,875 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化管理器。
|
||||
/// </summary>
|
||||
internal sealed partial class LocalizationManager : GameFrameworkModule, ILocalizationManager
|
||||
{
|
||||
private readonly Dictionary<string, string> m_Dictionary;
|
||||
private IResourceManager m_ResourceManager;
|
||||
private ILocalizationHelper m_LocalizationHelper;
|
||||
private Language m_Language;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化本地化管理器的新实例。
|
||||
/// </summary>
|
||||
public LocalizationManager()
|
||||
{
|
||||
m_Dictionary = new Dictionary<string, string>(StringComparer.Ordinal);
|
||||
m_LocalizationHelper = null;
|
||||
m_Language = Language.Unspecified;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置本地化语言。
|
||||
/// </summary>
|
||||
public Language Language
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_Language;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == Language.Unspecified)
|
||||
{
|
||||
throw new GameFrameworkException("Language is invalid.");
|
||||
}
|
||||
|
||||
m_Language = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
public Language SystemLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_LocalizationHelper == null)
|
||||
{
|
||||
throw new GameFrameworkException("You must set localization helper first.");
|
||||
}
|
||||
|
||||
return m_LocalizationHelper.SystemLanguage;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取字典数量。
|
||||
/// </summary>
|
||||
public int DictionaryCount
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_Dictionary.Count;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 本地化管理器轮询。
|
||||
/// </summary>
|
||||
/// <param name="elapseSeconds">逻辑流逝时间,以秒为单位。</param>
|
||||
/// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param>
|
||||
internal override void Update(float elapseSeconds, float realElapseSeconds)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关闭并清理本地化管理器。
|
||||
/// </summary>
|
||||
internal override void Shutdown()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置资源管理器。
|
||||
/// </summary>
|
||||
/// <param name="resourceManager">资源管理器。</param>
|
||||
public void SetResourceManager(IResourceManager resourceManager)
|
||||
{
|
||||
m_ResourceManager = resourceManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置本地化辅助器。
|
||||
/// </summary>
|
||||
/// <param name="localizationHelper">本地化辅助器。</param>
|
||||
public void SetLocalizationHelper(ILocalizationHelper localizationHelper)
|
||||
{
|
||||
if (localizationHelper == null)
|
||||
{
|
||||
throw new GameFrameworkException("Localization helper is invalid.");
|
||||
}
|
||||
|
||||
m_LocalizationHelper = localizationHelper;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString(string key)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">字典参数的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg">字典参数。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T>(string key, T arg)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3}", key, value, arg, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2>(string key, T1 arg1, T2 arg2)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4}", key, value, arg1, arg2, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3>(string key, T1 arg1, T2 arg2, T3 arg3)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5}", key, value, arg1, arg2, arg3, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6}", key, value, arg1, arg2, arg3, arg4, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7}", key, value, arg1, arg2, arg3, arg4, arg5, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15}", key, value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
string args = Utility.Text.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13}", arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3}", key, value, args, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
string args = Utility.Text.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}", arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3}", key, value, args, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <typeparam name="T16">字典参数 16 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <param name="arg16">字典参数 16。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16)
|
||||
{
|
||||
string value = GetRawString(key);
|
||||
if (value == null)
|
||||
{
|
||||
return Utility.Text.Format("<NoKey>{0}", key);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return Utility.Text.Format(value, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
string args = Utility.Text.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15}", arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
|
||||
return Utility.Text.Format("<Error>{0},{1},{2},{3}", key, value, args, exception);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典值取主键。
|
||||
/// </summary>
|
||||
/// <param name="value">字典值</param>
|
||||
/// <returns></returns>
|
||||
public string GetKey(string value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
foreach (var item in m_Dictionary)
|
||||
{
|
||||
if (item.Value == value)
|
||||
{
|
||||
return item.Key;
|
||||
}
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否存在字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否存在字典。</returns>
|
||||
public bool HasRawString(string key)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new GameFrameworkException("Key is invalid.");
|
||||
}
|
||||
|
||||
return m_Dictionary.ContainsKey(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典值。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>字典值。</returns>
|
||||
public string GetRawString(string key)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new GameFrameworkException("Key is invalid.");
|
||||
}
|
||||
|
||||
string value = null;
|
||||
if (m_Dictionary.TryGetValue(key, out value))
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 增加字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="value">字典内容。</param>
|
||||
/// <returns>是否增加字典成功。</returns>
|
||||
public bool AddRawString(string key, string value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new GameFrameworkException("Key is invalid.");
|
||||
}
|
||||
|
||||
if (m_Dictionary.ContainsKey(key))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
m_Dictionary.Add(key, value ?? string.Empty);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否移除字典成功。</returns>
|
||||
public bool RemoveRawString(string key)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new GameFrameworkException("Key is invalid.");
|
||||
}
|
||||
|
||||
return m_Dictionary.Remove(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清空所有字典。
|
||||
/// </summary>
|
||||
public void RemoveAllRawStrings()
|
||||
{
|
||||
m_Dictionary.Clear();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 777d2d6055cc4068b2256ffa91dbefe1
|
||||
timeCreated: 1681892090
|
@@ -0,0 +1,598 @@
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地化组件。
|
||||
/// </summary>
|
||||
[DisallowMultipleComponent]
|
||||
public sealed class LocalizationModule : GameFrameworkModuleBase
|
||||
{
|
||||
private const int DefaultPriority = 0;
|
||||
|
||||
private ILocalizationManager m_LocalizationManager = null;
|
||||
|
||||
[SerializeField]
|
||||
private string m_LocalizationHelperTypeName = "TEngine.DefaultLocalizationHelper";
|
||||
|
||||
[SerializeField]
|
||||
private LocalizationHelperBase m_CustomLocalizationHelper = null;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置本地化语言。
|
||||
/// </summary>
|
||||
public Language Language
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_LocalizationManager.Language;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_LocalizationManager.Language = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取系统语言。
|
||||
/// </summary>
|
||||
public Language SystemLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_LocalizationManager.SystemLanguage;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取字典数量。
|
||||
/// </summary>
|
||||
public int DictionaryCount
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_LocalizationManager.DictionaryCount;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 游戏框架组件初始化。
|
||||
/// </summary>
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
m_LocalizationManager = GameFrameworkEntry.GetModule<ILocalizationManager>();
|
||||
if (m_LocalizationManager == null)
|
||||
{
|
||||
Log.Fatal("Localization manager is invalid.");
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
RootModule rootModule = GameEntry.GetModule<RootModule>();
|
||||
if (rootModule == null)
|
||||
{
|
||||
Log.Fatal("Base component is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
ResourceModule resourceModule = GameEntry.GetModule<ResourceModule>();
|
||||
if (resourceModule == null)
|
||||
{
|
||||
Log.Fatal("Base component is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
m_LocalizationManager.SetResourceManager(GameFrameworkEntry.GetModule<IResourceManager>());
|
||||
|
||||
LocalizationHelperBase localizationHelper = Helper.CreateHelper(m_LocalizationHelperTypeName, m_CustomLocalizationHelper);
|
||||
if (localizationHelper == null)
|
||||
{
|
||||
Log.Error("Can not create localization helper.");
|
||||
return;
|
||||
}
|
||||
|
||||
localizationHelper.name = "Localization Helper";
|
||||
Transform transform = localizationHelper.transform;
|
||||
transform.SetParent(this.transform);
|
||||
transform.localScale = Vector3.one;
|
||||
|
||||
m_LocalizationManager.SetLocalizationHelper(localizationHelper);
|
||||
m_LocalizationManager.Language = resourceModule.playMode == EPlayMode.EditorSimulateMode && rootModule.EditorLanguage != Language.Unspecified
|
||||
? rootModule.EditorLanguage : m_LocalizationManager.SystemLanguage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString(string key)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T">字典参数的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg">字典参数。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T>(string key, T arg)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2>(string key, T1 arg1, T2 arg2)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3>(string key, T1 arg1, T2 arg2, T3 arg3)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典内容字符串。
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">字典参数 1 的类型。</typeparam>
|
||||
/// <typeparam name="T2">字典参数 2 的类型。</typeparam>
|
||||
/// <typeparam name="T3">字典参数 3 的类型。</typeparam>
|
||||
/// <typeparam name="T4">字典参数 4 的类型。</typeparam>
|
||||
/// <typeparam name="T5">字典参数 5 的类型。</typeparam>
|
||||
/// <typeparam name="T6">字典参数 6 的类型。</typeparam>
|
||||
/// <typeparam name="T7">字典参数 7 的类型。</typeparam>
|
||||
/// <typeparam name="T8">字典参数 8 的类型。</typeparam>
|
||||
/// <typeparam name="T9">字典参数 9 的类型。</typeparam>
|
||||
/// <typeparam name="T10">字典参数 10 的类型。</typeparam>
|
||||
/// <typeparam name="T11">字典参数 11 的类型。</typeparam>
|
||||
/// <typeparam name="T12">字典参数 12 的类型。</typeparam>
|
||||
/// <typeparam name="T13">字典参数 13 的类型。</typeparam>
|
||||
/// <typeparam name="T14">字典参数 14 的类型。</typeparam>
|
||||
/// <typeparam name="T15">字典参数 15 的类型。</typeparam>
|
||||
/// <typeparam name="T16">字典参数 16 的类型。</typeparam>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <param name="arg1">字典参数 1。</param>
|
||||
/// <param name="arg2">字典参数 2。</param>
|
||||
/// <param name="arg3">字典参数 3。</param>
|
||||
/// <param name="arg4">字典参数 4。</param>
|
||||
/// <param name="arg5">字典参数 5。</param>
|
||||
/// <param name="arg6">字典参数 6。</param>
|
||||
/// <param name="arg7">字典参数 7。</param>
|
||||
/// <param name="arg8">字典参数 8。</param>
|
||||
/// <param name="arg9">字典参数 9。</param>
|
||||
/// <param name="arg10">字典参数 10。</param>
|
||||
/// <param name="arg11">字典参数 11。</param>
|
||||
/// <param name="arg12">字典参数 12。</param>
|
||||
/// <param name="arg13">字典参数 13。</param>
|
||||
/// <param name="arg14">字典参数 14。</param>
|
||||
/// <param name="arg15">字典参数 15。</param>
|
||||
/// <param name="arg16">字典参数 16。</param>
|
||||
/// <returns>要获取的字典内容字符串。</returns>
|
||||
public string GetString<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(string key, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16)
|
||||
{
|
||||
return m_LocalizationManager.GetString(key, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否存在字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否存在字典。</returns>
|
||||
public bool HasRawString(string key)
|
||||
{
|
||||
return m_LocalizationManager.HasRawString(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典主键获取字典值。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>字典值。</returns>
|
||||
public string GetRawString(string key)
|
||||
{
|
||||
return m_LocalizationManager.GetRawString(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据字典值取主键。
|
||||
/// </summary>
|
||||
/// <param name="value">字典值</param>
|
||||
/// <returns></returns>
|
||||
public string GetKey(string value)
|
||||
{
|
||||
return m_LocalizationManager.GetKey(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除字典。
|
||||
/// </summary>
|
||||
/// <param name="key">字典主键。</param>
|
||||
/// <returns>是否移除字典成功。</returns>
|
||||
public bool RemoveRawString(string key)
|
||||
{
|
||||
return m_LocalizationManager.RemoveRawString(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清空所有字典。
|
||||
/// </summary>
|
||||
public void RemoveAllRawStrings()
|
||||
{
|
||||
m_LocalizationManager.RemoveAllRawStrings();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a3ccdd8df93488782ad0f5f240bece9
|
||||
timeCreated: 1681893590
|
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using TEngine.Localization;
|
||||
|
||||
namespace TEngine
|
||||
{
|
||||
@@ -110,6 +109,8 @@ namespace TEngine
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
BuglyManager.Instance.Init(Resources.Load<BuglyConfig>("BuglyConfig"));
|
||||
|
||||
GameTime.StartFrame();
|
||||
|
||||
InitTextHelper();
|
||||
|
8
Assets/TEngine/Runtime/Plugins.meta
Normal file
8
Assets/TEngine/Runtime/Plugins.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8eaf3c7fb019ec4393fe8d9fb91c484
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/TEngine/Runtime/Plugins/Android.meta
Normal file
8
Assets/TEngine/Runtime/Plugins/Android.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e270de18454c9d34bb5de575c0970bcf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
8
Assets/TEngine/Runtime/Plugins/Android/BuglyPlugins.meta
Normal file
8
Assets/TEngine/Runtime/Plugins/Android/BuglyPlugins.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8958f050e22651e4eb88468e84e82067
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 694411f45e4e64facb88eebfc2e1df1c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 644a9f5710e62403c94066ef9b61e775
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dbe6ceb596d63f5418beb7a12d34993b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f1342562738e5d4dae6ca9bd5a4d02e
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude iOS: 1
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: ARM64
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
AddToEmbeddedBinaries: false
|
||||
CPU: AnyCPU
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb7b442d8e32443e5856838741007f70
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 432060a129574479db0cfd441cdf3d69
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude iOS: 1
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: ARMv7
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
AddToEmbeddedBinaries: false
|
||||
CPU: AnyCPU
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74c10c94ce6f83b44998e0ad9de920bc
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,32 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1db231dca0f72420cb880590f799d7d5
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 79531ba82725e4071861c982307805c3
|
||||
folderAsset: yes
|
||||
timeCreated: 1443426231
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 16eaf0ec67588418783d6f5311aa71ce
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 0
|
||||
Exclude Editor: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude iOS: 1
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
AddToEmbeddedBinaries: false
|
||||
CPU: AnyCPU
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
1084
Assets/TEngine/Runtime/Plugins/Android/BuglyPlugins/BuglyAgent.cs
Normal file
1084
Assets/TEngine/Runtime/Plugins/Android/BuglyPlugins/BuglyAgent.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be621fe31508b4f2ab134ee879ec97b4
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
@@ -0,0 +1,27 @@
|
||||
// ----------------------------------------
|
||||
//
|
||||
// BuglyCallbackDelegate.cs
|
||||
//
|
||||
// Author:
|
||||
// Yeelik, <bugly@tencent.com>
|
||||
//
|
||||
// Copyright (c) 2015 Bugly, Tencent. All rights reserved.
|
||||
//
|
||||
// ----------------------------------------
|
||||
//
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
public abstract class BuglyCallback
|
||||
{
|
||||
// The delegate of callback handler which Call the Application.RegisterLogCallback(Application.LogCallback)
|
||||
/// <summary>
|
||||
/// Raises the application log callback handler event.
|
||||
/// </summary>
|
||||
/// <param name="condition">Condition.</param>
|
||||
/// <param name="stackTrace">Stack trace.</param>
|
||||
/// <param name="type">Type.</param>
|
||||
public abstract void OnApplicationLogCallbackHandler (string condition, string stackTrace, LogType type);
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 78e76f643d1884dcab602d5fe79b08e1
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
@@ -0,0 +1,80 @@
|
||||
// ----------------------------------------
|
||||
//
|
||||
// BuglyInit.cs
|
||||
//
|
||||
// Author:
|
||||
// Yeelik, <bugly@tencent.com>
|
||||
//
|
||||
// Copyright (c) 2015 Bugly, Tencent. All rights reserved.
|
||||
//
|
||||
// ----------------------------------------
|
||||
//
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class BuglyInit : MonoBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// Your Bugly App ID. Every app has a special identifier that allows Bugly to associate error monitoring data with your app.
|
||||
/// Your App ID can be found on the "Setting" page of the app you are trying to monitor.
|
||||
/// </summary>
|
||||
/// <example>A real App ID looks like this: 90000xxxx</example>
|
||||
private const string BuglyAppID = "YOUR APP ID GOES HERE";
|
||||
|
||||
void Awake ()
|
||||
{
|
||||
// Enable the debug log print
|
||||
BuglyAgent.ConfigDebugMode (false);
|
||||
// Config default channel, version, user
|
||||
BuglyAgent.ConfigDefault (null, null, null, 0);
|
||||
// Config auto report log level, default is LogSeverity.LogError, so the LogError, LogException log will auto report
|
||||
BuglyAgent.ConfigAutoReportLogLevel (LogSeverity.LogError);
|
||||
// Config auto quit the application make sure only the first one c# exception log will be report, please don't set TRUE if you do not known what are you doing.
|
||||
BuglyAgent.ConfigAutoQuitApplication (false);
|
||||
// If you need register Application.RegisterLogCallback(LogCallback), you can replace it with this method to make sure your function is ok.
|
||||
BuglyAgent.RegisterLogCallback (null);
|
||||
|
||||
// Init the bugly sdk and enable the c# exception handler.
|
||||
BuglyAgent.InitWithAppId (BuglyAppID);
|
||||
|
||||
// TODO Required. If you do not need call 'InitWithAppId(string)' to initialize the sdk(may be you has initialized the sdk it associated Android or iOS project),
|
||||
// please call this method to enable c# exception handler only.
|
||||
BuglyAgent.EnableExceptionHandler ();
|
||||
|
||||
// TODO NOT Required. If you need to report extra data with exception, you can set the extra handler
|
||||
BuglyAgent.SetLogCallbackExtrasHandler (MyLogCallbackExtrasHandler);
|
||||
|
||||
Destroy (this);
|
||||
}
|
||||
|
||||
// Extra data handler to packet data and report them with exception.
|
||||
// Please do not do hard work in this handler
|
||||
static Dictionary<string, string> MyLogCallbackExtrasHandler ()
|
||||
{
|
||||
// TODO Test log, please do not copy it
|
||||
BuglyAgent.PrintLog (LogSeverity.Log, "extra handler");
|
||||
|
||||
// TODO Sample code, please do not copy it
|
||||
Dictionary<string, string> extras = new Dictionary<string, string> ();
|
||||
extras.Add ("ScreenSolution", string.Format ("{0}x{1}", Screen.width, Screen.height));
|
||||
extras.Add ("deviceModel", SystemInfo.deviceModel);
|
||||
extras.Add ("deviceName", SystemInfo.deviceName);
|
||||
extras.Add ("deviceType", SystemInfo.deviceType.ToString ());
|
||||
|
||||
extras.Add ("deviceUId", SystemInfo.deviceUniqueIdentifier);
|
||||
extras.Add ("gDId", string.Format ("{0}", SystemInfo.graphicsDeviceID));
|
||||
extras.Add ("gDName", SystemInfo.graphicsDeviceName);
|
||||
extras.Add ("gDVdr", SystemInfo.graphicsDeviceVendor);
|
||||
extras.Add ("gDVer", SystemInfo.graphicsDeviceVersion);
|
||||
extras.Add ("gDVdrID", string.Format ("{0}", SystemInfo.graphicsDeviceVendorID));
|
||||
|
||||
extras.Add ("graphicsMemorySize", string.Format ("{0}", SystemInfo.graphicsMemorySize));
|
||||
extras.Add ("systemMemorySize", string.Format ("{0}", SystemInfo.systemMemorySize));
|
||||
extras.Add ("UnityVersion", Application.unityVersion);
|
||||
|
||||
BuglyAgent.PrintLog (LogSeverity.LogInfo, "Package extra data");
|
||||
return extras;
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a717f6955eddf4463ad541714a1b5483
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
Reference in New Issue
Block a user