2017-10-11 68 views
0

我目前正在Unity中制作2D平台游戏,而且由于我在此代码中存在错误,所以仍然无法移动角色。我不知道如何找到程序集引用,所以如果有人可以请解释它,那会很好。我如何找到装配参考?

这里的错误:错误CS0234类型或命名空间名称“IActiveBuildTargetChanged”在命名空间“UnityEditor.Build”不存在(?是否缺少程序集引用)

感谢

using System; 
    using UnityEngine; 
    #if UNITY_EDITOR 
using UnityEditor; 
#endif 

namespace UnityStandardAssets.Utility 
{ 
#if UNITY_EDITOR 

    [ExecuteInEditMode] 
#endif 
    public class PlatformSpecificContent : MonoBehaviour 
#if UNITY_EDITOR 
     , UnityEditor.Build.IActiveBuildTargetChanged 
#endif 
    { 
     private enum BuildTargetGroup 
     { 
      Standalone, 
      Mobile 
     } 

     [SerializeField] 
     private BuildTargetGroup m_BuildTargetGroup; 
     [SerializeField] 
     private GameObject[] m_Content = new GameObject[0]; 
     [SerializeField] 
     private MonoBehaviour[] m_MonoBehaviours = new MonoBehaviour[0]; 
     [SerializeField] 
     private bool m_ChildrenOfThisObject; 

#if !UNITY_EDITOR 
    void OnEnable() 
    { 
     CheckEnableContent(); 
    } 
#else 
     public int callbackOrder 
     { 
      get 
      { 
       return 1; 
      } 
     } 
#endif 

#if UNITY_EDITOR 

     private void OnEnable() 
     { 
      EditorApplication.update += Update; 
     } 


     private void OnDisable() 
     { 
      EditorApplication.update -= Update; 
     } 

     public void OnActiveBuildTargetChanged(BuildTarget previousTarget, BuildTarget newTarget) 
     { 
      CheckEnableContent(); 
     } 

     private void Update() 
     { 
      CheckEnableContent(); 
     } 
#endif 


     private void CheckEnableContent() 
     { 
#if (UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_TIZEN || UNITY_STV) 
     if (m_BuildTargetGroup == BuildTargetGroup.Mobile) 
     { 
      EnableContent(true); 
     } else { 
      EnableContent(false); 
     } 
#endif 

#if !(UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_TIZEN || UNITY_STV) 
      if (m_BuildTargetGroup == BuildTargetGroup.Mobile) 
      { 
       EnableContent(false); 
      } 
      else 
      { 
       EnableContent(true); 
      } 
#endif 
     } 


     private void EnableContent(bool enabled) 
     { 
      if (m_Content.Length > 0) 
      { 
       foreach (var g in m_Content) 
       { 
        if (g != null) 
        { 
         g.SetActive(enabled); 
        } 
       } 
      } 
      if (m_ChildrenOfThisObject) 
      { 
       foreach (Transform t in transform) 
       { 
        t.gameObject.SetActive(enabled); 
       } 
      } 
      if (m_MonoBehaviours.Length > 0) 
      { 
       foreach (var monoBehaviour in m_MonoBehaviours) 
       { 
        monoBehaviour.enabled = enabled; 
       } 
      } 
     } 
    } 
} 

回答

1

使用Google。

使用谷歌搜索IActiveBuildTargetChanged给我们first result,它说这个接口是UnityEditor.Build从版本2017.1开始。

因此,如果需要,请包括该程序集,并在必要时将using语句添加到文件顶部。

如果您已经有此程序集引用,请验证您的版本。您可能正在使用较旧版本的程序集。