public BuildSettingsExportCollection(IAssetExporter assetExporter, VirtualSerializedFile virtualFile, BuildSettings asset) : base(assetExporter, asset) { EditorBuildSettings = EditorBuildSettings.CreateVirtualInstance(virtualFile); EditorSettings = EditorSettings.CreateVirtualInstance(virtualFile); if (!NavMeshProjectSettings.IsReadNavMeshProjectSettings(asset.File.Version)) { NavMeshProjectSettings = NavMeshProjectSettings.CreateVirtualInstance(virtualFile); } if (!NetworkManager.IsReadNetworkManager(asset.File.Version)) { NetworkManager = NetworkManager.CreateVirtualInstance(virtualFile); } if (!Physics2DSettings.IsReadPhysics2DSettings(asset.File.Version)) { Physics2DSettings = Physics2DSettings.CreateVirtualInstance(virtualFile); } if (!UnityConnectSettings.IsReadUnityConnectSettings(asset.File.Version)) { UnityConnectSettings = UnityConnectSettings.CreateVirtualInstance(virtualFile); } if (!QualitySettings.IsReadQualitySettings(asset.File.Version)) { QualitySettings = QualitySettings.CreateVirtualInstance(virtualFile); } }
/// <summary> /// Imports the Physics2DSettings from another project. /// </summary> /// <param name="physics2DSettings"> /// The <see cref="Physics2DSettings" /> object. /// </param> /// <param name="projectPath"> /// The path to the project. /// </param> public static void ImportPhysics2DSettingsFromProject(Physics2DSettings physics2DSettings, string projectPath) { if (string.IsNullOrEmpty(projectPath)) { throw new System.ArgumentNullException("projectPath"); } string assetPath; assetPath = Path.Combine(projectPath, "ProjectSettings/Physics2DSettings.asset"); if (!Directory.Exists(projectPath) || string.IsNullOrEmpty(assetPath) || !File.Exists(assetPath)) { throw new System.ArgumentException(string.Format("Invalid project path: {0}", projectPath), "projectPath"); } string tempPath; tempPath = FileUtil.GetUniqueTempPathInProject(); if (string.IsNullOrEmpty(tempPath)) { throw new System.InvalidOperationException(string.Format("Could not get temporary path: {0}", tempPath)); } FileUtil.ReplaceFile(assetPath, tempPath); if (!File.Exists(tempPath)) { throw new System.InvalidOperationException(string.Format("Could not copy asset to temporary path: {0}", tempPath)); } SerializedObject tempObject; tempObject = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath(tempPath)[0]); if (tempObject == null) { throw new System.InvalidOperationException(string.Format("Could not load temporary asset: {0}", tempPath)); } SerializedProperty tempProperty; tempProperty = tempObject.GetIterator(); tempProperty.Next(true); SerializedObject contentObject = new SerializedObject(physics2DSettings); while (tempProperty.Next(false)) { SerializedProperty contentProperty = contentObject.FindProperty(tempProperty.name); if (contentProperty != null) { tempProperty.CopyTo(contentProperty); } } contentObject.ApplyModifiedPropertiesWithoutUndo(); File.Delete(tempPath); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); Physics2DSettings obj = (Physics2DSettings)target; EditorGUILayout.LabelField("Gravity", obj.gravity.ToString()); EditorGUILayout.LabelField("Jump Velocity", obj.jumpVelocity.ToString()); }
private static void CreateDefaultSettings() { DynamicsManager.CreateDefaultDynamicsManager(); Physics2DSettings.CreateDefaultPhysics2DSettings(); TimeManager.CreateDefaultTimeManager(); }