public void SetTexture(EAtlasType atlasType, Texture2D tex) { m_textures[(int)atlasType] = tex; if (atlasType != EAtlasType.Default || tex != null) { return; } Type = ETexType.Invalid; }
public static Vector2Int TileDimension(ETexType type) { switch (type) { case ETexType.SimpleFloorTile: case ETexType.SimpleWallTile: case ETexType.SimpleEdgeTile: return(Vector2Int.one); case ETexType.HardEdgeSq: case ETexType.DiagEdge: case ETexType.Transition: return(Vector2Int.one * 2); case ETexType.WallTriplet: return(new Vector2Int(1, 3)); case ETexType.WallTripletEdged: return(new Vector2Int(2, 3)); default: return(Vector2Int.zero); } }
protected virtual void OnGUI() { GUILayout.BeginHorizontal(); resType = (EResType)EditorGUILayout.EnumPopup("资源目录", resType, GUILayout.MaxWidth(250)); m_Platform = (EPlatform)EditorGUILayout.EnumPopup("平台", m_Platform, GUILayout.MaxWidth(250)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); ETexType lastTexType = m_TexType; m_TexType = (ETexType)EditorGUILayout.EnumPopup("统计类型", m_TexType, GUILayout.MaxWidth(250)); if (lastTexType != m_TexType) { m_TexInfo = null; m_TexMat = null; m_Tex = null; m_PrefabSet = null; } EditorGUILayout.LabelField(string.Format("Total Count:{0} TotalSize:{1}KB-{2}MB ", m_TotalCount, m_TotalSize / 1024, m_TotalSize / 1024 / 1024)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Scan", GUILayout.MaxWidth(150))) { string resPath = resPaths[(int)resType]; FindTexs(resPath); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); typeScrollPos = GUILayout.BeginScrollView(typeScrollPos, false, false, GUILayout.MinHeight(400)); Dictionary <string, TexInfo> texMap = m_FormatMap; if (m_TexType == ETexType.Size) { texMap = m_SizeMap; } Dictionary <string, TexInfo> .Enumerator it = texMap.GetEnumerator(); while (it.MoveNext()) { GUILayout.BeginHorizontal(); string name = it.Current.Key; TexInfo ti = it.Current.Value; EditorGUILayout.LabelField(string.Format("{0} Count:{1} Size:{2}KB-{3}MB ", name, ti.texList.Count, ti.size / 1024, ti.size / 1024 / 1024), GUILayout.MaxWidth(400)); if (GUILayout.Button("Select", GUILayout.MaxWidth(50))) { m_TexInfo = ti; m_TexMat = null; m_Tex = null; m_PrefabSet = null; } GUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.BeginVertical(); texScrollPos = GUILayout.BeginScrollView(texScrollPos, false, false, GUILayout.MinHeight(400)); if (m_TexInfo != null) { for (int i = 0; i < m_TexInfo.texList.Count; ++i) { GUILayout.BeginHorizontal(); Texture tex = m_TexInfo.texList[i]; if (m_TexMat != null && m_Tex == tex) { EditorGUILayout.ObjectField(string.Format("{0} mat:{1}", tex.name, m_TexMat.Count), tex, typeof(Texture), true, GUILayout.MaxWidth(450)); } else { EditorGUILayout.ObjectField(tex.name, tex, typeof(Texture), true, GUILayout.MaxWidth(450)); } if (GUILayout.Button("Mat", GUILayout.MaxWidth(50))) { m_Tex = tex; m_TexMatMap.TryGetValue(m_Tex, out m_TexMat); m_PrefabSet = null; } GUILayout.EndHorizontal(); } } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.Space(10); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); matScrollPos = GUILayout.BeginScrollView(matScrollPos, false, false, GUILayout.MinHeight(400)); if (m_TexMat != null) { MatPrefabMat.Enumerator texMatIt = m_TexMat.GetEnumerator(); while (texMatIt.MoveNext()) { GUILayout.BeginHorizontal(); Material mat = texMatIt.Current.Key; EditorGUILayout.ObjectField(mat.name, mat, typeof(Material), true, GUILayout.MaxWidth(450)); GUILayout.EndHorizontal(); } } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.BeginVertical(); prefabScrollPos = GUILayout.BeginScrollView(prefabScrollPos, false, false, GUILayout.MinHeight(500)); if (m_PrefabSet != null) { PrefabSet.Enumerator prefabIt = m_PrefabSet.GetEnumerator(); while (prefabIt.MoveNext()) { GUILayout.BeginHorizontal(); GameObject prefab = prefabIt.Current; EditorGUILayout.ObjectField(prefab.name, prefab, typeof(GameObject), true, GUILayout.MaxWidth(550)); GUILayout.EndHorizontal(); } } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); }