示例#1
0
 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);
        }
示例#3
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            Physics2DSettings obj = (Physics2DSettings)target;

            EditorGUILayout.LabelField("Gravity", obj.gravity.ToString());
            EditorGUILayout.LabelField("Jump Velocity", obj.jumpVelocity.ToString());
        }
示例#4
0
 private static void CreateDefaultSettings()
 {
     DynamicsManager.CreateDefaultDynamicsManager();
     Physics2DSettings.CreateDefaultPhysics2DSettings();
     TimeManager.CreateDefaultTimeManager();
 }