public override void OnActivate(string searchContext, VisualElement rootElement) { var platformFields = typeof(BurstPlatformAotSettings).GetFields(BindingFlags.NonPublic | BindingFlags.Instance); for (int p = 0; p < validPlatforms.Length; p++) { m_PlatformSettings[p] = BurstPlatformAotSettings.GetSerializedSettings(validPlatforms[p].defaultTarget); m_PlatformProperties[p] = new SerializedProperty[platformFields.Length]; m_PlatformToolTips[p] = new GUIContent[platformFields.Length]; for (int i = 0; i < platformFields.Length; i++) { m_PlatformProperties[p][i] = m_PlatformSettings[p].FindProperty(platformFields[i].Name); m_PlatformToolTips[p][i] = EditorGUIUtility.TrTextContent( typeof(BurstPlatformAotSettings).GetField(platformFields[i].Name + "_DisplayName", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null) as string, typeof(BurstPlatformAotSettings).GetField(platformFields[i].Name + "_ToolTip", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null) as string); } } }
private void InitialiseSettingsForPlatform(int platform, FieldInfo[] platformFields) { if (validPlatforms[platform].targetGroup == BuildTargetGroup.Standalone) { m_PlatformSettings[platform] = BurstPlatformAotSettings.GetSerializedSettings(EditorUserBuildSettings.selectedStandaloneTarget); } else { m_PlatformSettings[platform] = BurstPlatformAotSettings.GetSerializedSettings(validPlatforms[platform].defaultTarget); } m_PlatformProperties[platform] = new SerializedProperty[platformFields.Length]; m_PlatformToolTips[platform] = new GUIContent[platformFields.Length]; for (int i = 0; i < platformFields.Length; i++) { m_PlatformProperties[platform][i] = m_PlatformSettings[platform].FindProperty(platformFields[i].Name); var displayName = typeof(BurstPlatformAotSettings).GetField(platformFields[i].Name + "_DisplayName", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null) as string; var toolTip = typeof(BurstPlatformAotSettings).GetField(platformFields[i].Name + "_ToolTip", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null) as string; m_PlatformToolTips[platform][i] = EditorGUIUtility.TrTextContent(displayName, toolTip); } }