Unity 2D 가져오기 오류 해결(error CS0619) [ver.2017.2.1f1]

9999 단어 Unity

유니티에서 유니티 2D를 가져오면 오류가 발생해 곤란합니다.


투덜거려도 유닛 2D에 닿을 게 없어 곤란하다.
슈퍼 초보자의 개인 노트.
버전: 2017.2.1


잘못된 내용


 error CS0619: `UnityEngine.Types.GetType(string, string)' is obsolete: `This was an internal method which is no longer used'
글씨를 쓰는 방법이 다른 것 같다.
파일 수정은 이거예요.
・SpriteAnimation ClipEditor.cs
・S priteAnimation TimeControl.cs

해결 전(Sprite Animation ClipEditor.cs)


SpriteAnimationClipEditor.cs
        protected override Editor GetBaseEditor()
        {
            Editor editor = null;
            var baseType = Types.GetType("UnityEditor.AnimationClipEditor", "UnityEditor.dll");
            CreateCachedEditor(targets, baseType, ref editor);
            return editor;
        }
욕먹은 건 이 부분이에요.
Types.GetType("UnityEditor.AnimationClipEditor", "UnityEditor.dll");

해결 후(Sprite Animation ClipEditor.cs)


SpriteAnimationClipEditor.cs
        protected override Editor GetBaseEditor()
        {
            string typeName = "UnityEngine.AnimationClipEditor";

            Editor editor = null;
            //var baseType = Types.GetType("UnityEditor.AnimationClipEditor", "UnityEditor.dll");
            System.Type baseType = System.Reflection.Assembly.Load("UnityEditor.dll").GetType(typeName);

            CreateCachedEditor(targets, baseType, ref editor);
            return editor;
        }

해결 전(S priteAnimation TimeControl.cs)


SpriteAnimationTimeControl.cs
         private List<Editor> GetSpriteEditors(params Sprite[] sprites)
            {
                var type = Types.GetType("UnityEditor.SpriteInspector", "UnityEditor.dll");
                var editors = new List<Editor>();
                foreach (var sprite in sprites)
                {
                    Editor _editor = null;
                    Editor.CreateCachedEditor(sprite, type, ref _editor);
                    if (_editor != null)
                        editors.Add(_editor);
                }

                return editors;
            }

해결 후(S priteAnimation Time Control.cs)


SpriteAnimationTimeControl.cs
            private List<Editor> GetSpriteEditors(params Sprite[] sprites)
            {
                string typeName = "UnityEngine.SpriteInspector";

                //var type = Types.GetType("UnityEditor.SpriteInspector", "UnityEditor.dll");
                System.Type type = System.Reflection.Assembly.Load("UnityEditor.dll").GetType(typeName);
                var editors = new List<Editor>();
                foreach (var sprite in sprites)
                {
                    Editor _editor = null;
                    Editor.CreateCachedEditor(sprite, type, ref _editor);
                    if (_editor != null)
                        editors.Add(_editor);
                }

                return editors;
            }
이렇게 하면 움직일 수 있다.
끝.

좋은 웹페이지 즐겨찾기