ImgNoGoodWindow
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的更多相关文章
随机推荐
- 51Nod 1212 无向图最小生成树 (路径压缩)
N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树. Input 第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量.(2 <= N <= 1000, 1 &l ...
- 控制层和ajax用法的详解
商城项目第二天复习的内容 package cn.tedu.store.entity; public class ResponseResult<T> { public static fina ...
- JavaScript笔记 #07# 用js写算法
算法盒子初代(为了提高学习算法的热情...) 效果图: 所有代码放在单个html中: <!DOCTYPE html> <html> <head> <meta ...
- com.sun.jersey.api.client.UniformInterfaceException:returned a response status of 403
这是在同一台电脑上,然后启动两台tomcat进行文件传输时候,会出现的一个异常. 403,是因为tomcat默认禁止上传,在tomcat中的config中的web.xml中进行以下的配置就可以进行文件 ...
- ionic 实现微信朋友圈分享的完整开发流程
最近开始要着手负责开发ionic的项目了,一直很好奇想实现一个微信朋友圈分享的功能,所以我就网上找了找文章来练手实现,果不其然,找到了几篇,但是发现它们的流程都不太详细,清楚,直接,还有不少坑. 今天 ...
- nvgre
GRE RFC2784 工作原理 Structure of a GRE Encapsulated Packet A GRE encapsulated packet has the form: ---- ...
- android 导出apk
一个困扰了几个月的问题在今天得以解决,运动益智可能有点过,能让一个人思路清晰倒是真! 问题描述:本地调试运行及不加密导出apk运行正常,当加密生成apk安装后,从接口返回的数据总是空.尝试过各种配置, ...
- Docker学习记录--入门了解+安装
Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- Codeforces Round #481 (Div. 3)题解
成功掉到灰,真的心太累了,orz!!!!,不是很懂那些国外大佬为什么每次都是20多分钟AK的,QAQ A. Remove Duplicates time limit per test 1 second ...
- 尚硅谷面试第一季-07Spring Bean的作用域之间有什么区别
目录结构: 关键性代码: beans.xml <!-- ★bean的作用域 可以通过scope属性来指定bean的作用域 -singleton:默认值.当IOC容器一创建就会创建bean的实例, ...