示例#1
0
 public static void DeletePrefs(IDebuggable system, DebugSystemComponent.SystemInfo info, string prefix)
 {
     PlayerPrefs.DeleteKey(prefix + "isEnabled");
     PlayerPrefs.DeleteKey(prefix + "showLog");
     foreach (FieldInfo field in system.GetType().GetFields(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic))
     {
         if (CanDisplayField(field))
         {
             PlayerPrefs.DeleteKey(prefix + field.Name);
         }
     }
 }
示例#2
0
    public static void LoadSettings(IDebuggable system, DebugSystemComponent.SystemInfo info, string prefix)
    {
        LoadVariable(prefix + "_isEnabled", ref info.isDebuggingEnabled);
        LoadVariable(prefix + "_showLog", ref info.showLog);

        foreach (FieldInfo field in system.GetType().GetFields(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic))
        {
            if (CanDisplayField(field) && field.GetCustomAttributes(typeof(DontRememberFieldValue), false).Length == 0)
            {
                if (field.FieldType == typeof(bool))
                {
                    bool value = (bool)field.GetValue(system);
                    DebuggerUtils.LoadVariable(prefix + "_" + field.Name, ref value);
                    field.SetValue(system, value);
                }
                else if (field.FieldType == typeof(int))
                {
                    int value = (int)field.GetValue(system);
                    DebuggerUtils.LoadVariable(prefix + "_" + field.Name, ref value);
                    field.SetValue(system, value);
                }
                else if (field.FieldType == typeof(float))
                {
                    float value = (float)field.GetValue(system);
                    DebuggerUtils.LoadVariable(prefix + "_" + field.Name, ref value);
                    field.SetValue(system, value);
                }
                else if (field.FieldType == typeof(string))
                {
                    string value = (string)field.GetValue(system);
                    DebuggerUtils.LoadVariable(prefix + "_" + field.Name, ref value);
                    field.SetValue(system, value);
                }
            }
        }

        if (system is IDebuggableEx)
        {
            ((IDebuggableEx)system).OnPreviousValuesLoaded();
        }
    }