版本:Unity 6 (6000.0)
语言中文
  • C#

MonoImporter.SetDefaultReferences

建议更改

成功!

感谢你帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每一项建议的更改,并在适用的情况下进行更新。

关闭

提交失败

出于某种原因,未能提交你建议的更改。请在几分钟内 <a>重试</a>。非常感谢你抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void SetDefaultReferences(string[] name, Object[] target);

参数

name 在导入的 MonoScript 中的公共字段的名称数组。每个字段的类型必须派生自 UnityEngine.Object。
target 用作默认值的数组。数组大小必须与 name 数组大小匹配。该数组可以包含空值。

描述

设置此 MonoScript 的默认引用。

当 Unity 编辑器实例化此 MonoScript 时,它使用默认值来填充命名字段。其他资源:MonoImporter.GetDefaultReference

using UnityEngine;
using UnityEditor;

class Example { [MenuItem("Examples/Set Default References")] public static void SetDefaultReferences() { var assetPath = "Assets/MyMonoBehaviour.cs"; var monoImporter = AssetImporter.GetAtPath(assetPath) as MonoImporter;

var gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("Cube")[0])); var material = AssetDatabase.LoadAssetAtPath<Material>(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("defaultMat")[0]));

var names = new string[] {"MyGameObject", "MyMaterial"}; var values = new Object[] {gameObject, material}; monoImporter.SetDefaultReferences(names, values); monoImporter.SaveAndReimport(); } }