로컬라이즈 추가

com.unity.localization 추가
This commit is contained in:
Mingu Kim
2025-03-06 18:09:50 +09:00
parent 8593b92380
commit db971d2141
118 changed files with 2996 additions and 5 deletions

View File

@@ -0,0 +1,54 @@
//-----------------------------------------------------------------------
// <copyright file="LocalizedStringFormatter.cs" company="Sirenix IVS">
// Copyright (c) Sirenix IVS. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
using Sirenix.Serialization;
using System.Reflection;
using UnityEngine.Localization;
using System;
[assembly: RegisterFormatter(typeof(Sirenix.OdinInspector.Modules.Localization.LocalizedStringFormatter))]
namespace Sirenix.OdinInspector.Modules.Localization
{
public class LocalizedStringFormatter : ReflectionOrEmittedBaseFormatter<LocalizedString>
{
private static readonly FieldInfo m_LocalVariables_Field;
static LocalizedStringFormatter()
{
m_LocalVariables_Field = typeof(LocalizedString).GetField("m_LocalVariables", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
if (m_LocalVariables_Field == null)
{
DefaultLoggers.DefaultLogger.LogError("Could not find field 'UnityEngine.LocalizedString.m_LocalVariables'" +
" - the internals of the Localization package have changed, and deserialization of Odin-serialized" +
" LocalizedString instances may be broken in some cases.");
}
}
protected override LocalizedString GetUninitializedObject()
{
return new LocalizedString();
}
protected override void DeserializeImplementation(ref LocalizedString value, IDataReader reader)
{
base.DeserializeImplementation(ref value, reader);
if (m_LocalVariables_Field != null && value != null)
{
var localVariablesList = m_LocalVariables_Field.GetValue(value);
// This list is not allowed to be null!
if (localVariablesList == null)
{
localVariablesList = Activator.CreateInstance(m_LocalVariables_Field.FieldType);
m_LocalVariables_Field.SetValue(value, localVariablesList);
}
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 93ff93294e9339b40b68190c779d0009
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,11 @@
{
"name": "Sirenix.OdinInspector.Modules.UnityLocalization",
"references": [ "Unity.Localization", "Sirenix.Serialization", "Sirenix.Serialization.Config" ],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": true,
"autoReferenced": true,
"overrideReferences": false,
"precompiledReferences": [ "Sirenix.Serialization.dll", "Sirenix.Serialization.Config.dll" ],
"defineConstraints": [ "!ODIN_INSPECTOR_EDITOR_ONLY" ]
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 09320d9ddd505f84d9a6e5203cf75192
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: