修改事件为EventBus
This commit is contained in:
parent
919678b811
commit
9da67afe50
@ -4,7 +4,7 @@ using Unity.IL2CPP.CompilerServices;
|
|||||||
|
|
||||||
namespace AlicizaX
|
namespace AlicizaX
|
||||||
{
|
{
|
||||||
public static class EventPublisher
|
public static class EventBus
|
||||||
{
|
{
|
||||||
[Il2CppSetOption(Option.NullChecks, false)]
|
[Il2CppSetOption(Option.NullChecks, false)]
|
||||||
[Il2CppSetOption(Option.DivideByZeroChecks, false)]
|
[Il2CppSetOption(Option.DivideByZeroChecks, false)]
|
||||||
@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 634e669ad63f4302acca846ec1a0240a
|
|
||||||
timeCreated: 1736324891
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d73cc40a000b40e4949fa532373115b5
|
|
||||||
timeCreated: 1736324891
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Reflection;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace AlicizaX
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// A generic reflection field allows you to get or set a generic (object) value for a property, field, or method.
|
|
||||||
/// </summary>
|
|
||||||
[Serializable]
|
|
||||||
public sealed class GenericReflectionField
|
|
||||||
{
|
|
||||||
public enum ReflectionType { Field, Property, Method };
|
|
||||||
|
|
||||||
public ReflectionType ReflectType;
|
|
||||||
public MonoBehaviour Instance;
|
|
||||||
public string ReflectName;
|
|
||||||
public bool ReflectDerived;
|
|
||||||
|
|
||||||
public bool IsSet => Instance != null;
|
|
||||||
|
|
||||||
private FieldInfo fieldInfo = null;
|
|
||||||
private FieldInfo FieldInfo
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (fieldInfo == null)
|
|
||||||
fieldInfo = Instance.GetType().GetField(ReflectName, BindingFlags.Public | BindingFlags.Instance);
|
|
||||||
|
|
||||||
return fieldInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private PropertyInfo propertyInfo = null;
|
|
||||||
private PropertyInfo PropertyInfo
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (propertyInfo == null)
|
|
||||||
propertyInfo = Instance.GetType().GetProperty(ReflectName, BindingFlags.Public | BindingFlags.Instance);
|
|
||||||
|
|
||||||
return propertyInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private MethodInfo methodInfo = null;
|
|
||||||
private MethodInfo MethodInfo
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (methodInfo == null)
|
|
||||||
methodInfo = Instance.GetType().GetMethod(ReflectName, BindingFlags.Public | BindingFlags.Instance);
|
|
||||||
|
|
||||||
return methodInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public object Value
|
|
||||||
{
|
|
||||||
get => ReflectType switch
|
|
||||||
{
|
|
||||||
ReflectionType.Field => FieldInfo.GetValue(Instance),
|
|
||||||
ReflectionType.Property => PropertyInfo.GetValue(Instance),
|
|
||||||
ReflectionType.Method => MethodInfo.Invoke(Instance, new object[0]),
|
|
||||||
_ => throw new NullReferenceException()
|
|
||||||
};
|
|
||||||
|
|
||||||
set
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (ReflectType == ReflectionType.Field)
|
|
||||||
{
|
|
||||||
FieldInfo.SetValue(Instance, value);
|
|
||||||
}
|
|
||||||
else if (ReflectType == ReflectionType.Property)
|
|
||||||
{
|
|
||||||
PropertyInfo.SetValue(Instance, value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MethodInfo.Invoke(Instance, new object[] { value });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception exception)
|
|
||||||
{
|
|
||||||
throw exception;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1f04b88956af3864487d98e1d262f914
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@ -13,7 +13,7 @@ namespace AlicizaX.Localization
|
|||||||
|
|
||||||
public static void Publisher(string language)
|
public static void Publisher(string language)
|
||||||
{
|
{
|
||||||
EventPublisher.Publish(new LocalizationChangeEvent(language));
|
EventBus.Publish(new LocalizationChangeEvent(language));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user