Esempio n. 1
0
        bool CheckSpriteProblem(Sprite sprite)
        {
            string spriteSheet = AssetDatabase.GetAssetPath(sprite);

            Sprite[] sprites = AssetDatabase.LoadAllAssetsAtPath(spriteSheet).OfType <Sprite>().ToArray();

            if (sprites.Length > 1)
            {
                var path     = IOUtility.GetPath(sprite);
                var importer = (TextureImporter)TextureImporter.GetAtPath(path);
                return(!importer.isReadable);
            }
            return(false);
        }
Esempio n. 2
0
        protected override void onGUIHeader()
        {
            GUI.Label(headerRect, Title, titleStyle);

            // Portrait
            if (_node.Portrait != null)
            {
                // Get the portrait texture, if it's changed.
                if (_portraitName != _node.Portrait.name)
                {
                    string   spriteSheet = AssetDatabase.GetAssetPath(_node.Portrait);
                    Sprite[] sprites     = AssetDatabase.LoadAllAssetsAtPath(spriteSheet).OfType <Sprite>().ToArray();

                    if (sprites.Length == 1)
                    {
                        _portrait = _node.Portrait.texture;
                    }
                    else
                    {
                        var path     = IOUtility.GetPath(_node.Portrait);
                        var importer = (TextureImporter)TextureImporter.GetAtPath(path);
                        if (importer.isReadable)
                        {
                            _portrait = new Texture2D((int)_node.Portrait.rect.width, (int)_node.Portrait.rect.height);
                            var pixels = _node.Portrait.texture.GetPixels((int)_node.Portrait.textureRect.x,
                                                                          (int)_node.Portrait.textureRect.y,
                                                                          (int)_node.Portrait.textureRect.width,
                                                                          (int)_node.Portrait.textureRect.height);
                            _portrait.SetPixels(pixels);
                            _portrait.Apply();
                        }
                        else
                        {
                            _portrait = _node.Portrait.texture;
                        }
                    }

                    _portraitName = _node.Portrait.name;
                }

                Rect r = new Rect(headerRect.x - 30, headerRect.y - 30, 60, 60);
                GUI.Label(r, _portrait);
            }

            // Actor Name
            if (_node.ActorName != "")
            {
                GUIContent label = new GUIContent(_node.ActorName);
                Vector2    size  = _actorNameStyle.CalcSize(label);
                Color      c     = headerColor; c.a = .5f;

                float xPos = headerRect.x;
                if (_node.Portrait != null)
                {
                    xPos += 30;
                }

                Rect r = new Rect(xPos + 5, headerRect.y - size.y - 10, size.x + 10, size.y + 5);
                EditorGUI.DrawRect(r, c);
                GUI.Label(r, label, _actorNameStyle);
            }

            float x = headerRect.x + headerRect.width - 5;
            float y = headerRect.y + (headerRect.height - 20) / 2;


            // Audio Clip
            if (_node.Audio != null)
            {
                GUI.Label(new Rect(x - 20, y, 20, 20), EditorGUIUtility.IconContent("SceneviewAudio"));
                x -= 30;
            }

            // Custom Camera
            if (_node.CustomCameraEnable)
            {
                GUI.Label(new Rect(x - 20, y - 3, 40, 20), new GUIContent(_node.CameraIndex.ToString(), EditorGUIUtility.IconContent("Camera Icon").image), textStyle);
            }
        }