|
@@ -5210,70 +5210,24 @@ namespace CM3D2.MultipleMaids.Plugin
|
|
|
maidProp.boTempDut = false;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- internal static TResult GetFieldValue<T, TResult>(T inst, string name)
|
|
|
- {
|
|
|
- if (inst == null)
|
|
|
- {
|
|
|
- return default(TResult);
|
|
|
- }
|
|
|
-
|
|
|
- FieldInfo fieldInfo = GetFieldInfo<T>(name);
|
|
|
- if (fieldInfo == null)
|
|
|
- {
|
|
|
- return default(TResult);
|
|
|
- }
|
|
|
-
|
|
|
- return (TResult)fieldInfo.GetValue(inst);
|
|
|
- }
|
|
|
-
|
|
|
internal static FieldInfo GetFieldInfo<T>(string name)
|
|
|
{
|
|
|
BindingFlags bindingAttr = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
|
|
|
return typeof(T).GetField(name, bindingAttr);
|
|
|
}
|
|
|
|
|
|
- internal static void SetFieldValue<T, TResult>(T inst, string name, Maid maid)
|
|
|
+ internal static TValue GetFieldValue<TType, TValue>(TType instance, string field)
|
|
|
{
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
+ FieldInfo fieldInfo = GetFieldInfo<TType>(field);
|
|
|
+ if (fieldInfo == null || !fieldInfo.IsStatic && instance == null) return default(TValue);
|
|
|
+ return (TValue)fieldInfo.GetValue(instance);
|
|
|
}
|
|
|
|
|
|
- internal static void SetFieldValue2<T, TResult>(T inst, string name, int maid)
|
|
|
+ internal static void SetFieldValue<TType, TValue>(TType instance, string name, TValue value)
|
|
|
{
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
+ GetFieldInfo<TType>(name).SetValue(instance, value);
|
|
|
}
|
|
|
|
|
|
- internal static void SetFieldValue3<T, TResult>(T inst, string name, Vector3 maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
- internal static void SetFieldValue4<T, TResult>(T inst, string name, Transform maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
- internal static void SetFieldValue5<T, TResult>(T inst, string name, UILabel maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
- internal static void SetFieldValue6<T, TResult>(T inst, string name, Hashtable maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
- internal static void SetFieldValue7<T, TResult>(T inst, string name, float[] maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
- internal static void SetFieldValue8<T, TResult>(T inst, string name, DynamicSkirtBone maid)
|
|
|
- {
|
|
|
- GetFieldInfo<T>(name).SetValue(inst, maid);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
private void OnSceneLoaded(Scene scene, LoadSceneMode sceneMode)
|
|
|
{
|
|
|
sceneLevel = scene.buildIndex;
|