﻿using UnityEngine;
using UnityEditor;

namespace KPD.PaletteSwapper
{


    /// <summary>
    /// Handles the SPrite Preview Window.  Lifted, untouched, out of SpriteMaker
    /// </summary>
    public class SpritePreviewEditor : EditorWindow
    {

        public Texture2D mTex;
        private Texture2D mGray;
        private Material eMaterial;
        private Material aMaterial;

        private const float scaleFactor = 16.0f;
        //probably best not to go past 24



        void OnGUI()
        {
            if (mGray == null)
            {
                mGray = Resources.Load<Texture2D>("Checkers");
            }

    
                    
            Rect g = new Rect(0, 0, position.width, position.height);

            EditorGUI.DrawPreviewTexture(g, mGray, null, ScaleMode.ScaleAndCrop, 1.0f);
  
                


            if (eMaterial == null)
            {
                eMaterial = Resources.Load<Material>("EditorMaterial");
            }

            if (mTex != null)
            {
                float ratio = (float)mTex.width / (float)mTex.height;
                EditorGUI.DrawPreviewTexture(new Rect(0, 0, position.width, position.height), mTex, eMaterial, ScaleMode.ScaleToFit, ratio);
            }
        }

        public void SetTexture(Texture2D _tex)
        {

            mTex = _tex;
            mTex.filterMode = FilterMode.Point;
            base.Repaint();

        }
    }
}
