2017-10-11 9 views
0

現在、Unityで2Dプラットフォームを作成していますが、このコードではエラーがあるため、文字を移動することはできません。私はアセンブリの参照を見つける方法がわからないので、もし誰かがそれを説明してくれればそれは素晴らしいだろう。Assembly Referenceはどのようにして入手できますか?

ここでエラーがあります:(?あなたはアセンブリ参照が不足している)「IActiveBuildTargetChanged」エラーCS0234型または名前空間名の名前空間「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は、このインターフェイスが2017.1で始まるUnityEditor.Buildにあると言うfirst resultを示します。

必要に応じてアセンブリをインクルードし、必要に応じてファイルの先頭にusingステートメントを追加します。

このアセンブリが既に参照されている場合は、使用しているバージョンを確認してください。古いバージョンのアセンブリを使用している可能性があります。

関連する問題