using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEditor;
using UnityEngine;

namespace Daemo
{
class ImgNoGoodWindow : EditorWindow
{
[MenuItem("Tools/UI RES/Assets Img No Good %#W")]
private static void ShowWindow()
{
ImgNoGoodWindow cw = (ImgNoGoodWindow)EditorWindow.GetWindow(typeof(ImgNoGoodWindow));
cw.minSize = new Vector2(500, 500);
}
private List<Texture2D> noGoodImages = new List<Texture2D>();
private List<Texture2D> goodImages = new List<Texture2D>();
private List<Texture2D> packImages = new List<Texture2D>();
private Vector2 scrollPos;
private Texture2D img = null;
private string[] btns = new string[] { "不规范图片组", "规范图片组","Pack图片组" };
private int selectIndex = 0;
public void Awake()
{
this.UpdateMsg();
}
private void UpdateMsg()
{
noGoodImages = EDCheckPrefabRef.GetNoGoodImgs();
noGoodImages.Sort(CompareSize);
goodImages = EDCheckPrefabRef.goodImgs;
goodImages.Sort(CompareSize);
packImages = EDCheckPrefabRef.packImgs;
packImages.Sort(CompareSize);
}
private int CompareSize(Texture2D t1, Texture2D t2) {
int t1Size = t1.width * t1.height;
int t2Size = t2.width * t2.height;
if (t1Size > t2Size)
{
return -1;
}
else if (t1Size == t2Size) {
return 0;
}
else
{
return 1;
}
}
private void OnGUI()
{
GUIContent title = new GUIContent();
title.text = "ImgNoGood";
this.titleContent = title;
GUILayout.Space(10);
if (GUILayout.Button("更新"))
{
this.UpdateMsg();
}
GUILayout.Space(10);
GUILayout.Label("功能说明:以下"+ noGoodImages.Count + "张图片尺寸不符合2的N次幂;"+goodImages.Count+ "张图片尺寸符合2的N次幂"+ packImages.Count+ "张Pack图片");
selectIndex = GUILayout.SelectionGrid(selectIndex, btns,3,GUILayout.MinWidth(100));
scrollPos =
EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(500), GUILayout.Height(400));
List<Texture2D> showList = selectIndex == 0 ? noGoodImages : (selectIndex==1?goodImages:packImages);
for (int i = 0; i < showList.Count; i++)
{
EditorGUILayout.BeginHorizontal();
GUILayout.Label(showList[i].name + ":" + showList[i].width + "*" + showList[i].height + ":");
img = showList[i];
img = (Texture2D)EditorGUILayout.ObjectField(img, typeof(Texture2D), false, GUILayout.MinWidth(200f));
EditorGUILayout.EndHorizontal();
}
EditorGUILayout.EndScrollView();

}
}
}

ImgNoGoodWindow的更多相关文章

随机推荐

  1. 在虚拟机上安装gho、esd(wim)系统镜像文件

    gho.esd(wim)等文件不能被虚拟机识别,但如果把它们打包成iso就可以了. 另外,还需用到能在虚拟机上运行的WinPE的iso文件,本文用的是微PE. 注意:安装虚拟机提示operating ...

  2. rabbitmq队列的exclusive,durability,auto-delete属性以及消息可靠传输设计

    非集群下,简单的说:- 如果是excl,则设置durability没有意义,因为不管服务器挂了还是客户端主动/被动断开了,队列都会自动删除.- auto-delete,其实可简单的认为是同理,即使非e ...

  3. python简说(十六)第三方模块安装

    安装第三模块 1.pip install xxx pip问题 1.提示没有pip命令的, 把python的安装目录. 安装目录下面的scripts目录加入到环境变量里面 2.Unknown or un ...

  4. vue2.0子组件修改父组件props数据的值

    从vue1.0升级至2.0之后 prop的.sync被去除 因此直接在子组件修改父组件的值是会报错的如下: 目的是为了阻止子组件影响父组件的数据那么在vue2.0之后 如何在子组件修改父组件props ...

  5. replace 将逗号替换~

    var reg = new RegExp(",","g"); //"g"表示全局替换var aa="qq,ww";aa= ...

  6. bzoj 2820 YY的GCD - 莫比乌斯反演 - 线性筛

    Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必 ...

  7. 牛客网数据库SQL实战(6-10)

    6.查找所有员工入职时候的薪水情况,给出emp_no以及salary, 并按照emp_no进行逆序CREATE TABLE `employees` (`emp_no` int(11) NOT NULL ...

  8. topcoder srm 550 div1

    problem1 link 因为数据比较小,直接开一个二维数组记录哪些格子已经遍历,哪些还没有.进行模拟即可. problem2 link 模拟一些小数据,可以发现,AB的形状以及要求的区间是下面的样 ...

  9. 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法

    push用法 push 英 [pʊʃ] 美 [pʊʃ] vt. 推,推动; vt. 按; 推动,增加; 对…施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push( ...

  10. Python3 tkinter基础 Entry show textvariable 密码输入框

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...