You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.3 KiB
C#
128 lines
3.3 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
|
|
|
|
namespace BuildReportTool.Window
|
|
{
|
|
|
|
public static class Utility
|
|
{
|
|
public static void DrawCentralMessage(Rect position, string msg)
|
|
{
|
|
float w = 300;
|
|
float h = 100;
|
|
float x = (position.width - w) * 0.5f;
|
|
float y = (position.height - h) * 0.25f;
|
|
|
|
GUI.Label(new Rect(x, y, w, h), msg);
|
|
}
|
|
|
|
public static void PingSelectedAssets(AssetList list)
|
|
{
|
|
var newSelection = new List<UnityEngine.Object>(list.GetSelectedCount());
|
|
|
|
var iterator = list.GetSelectedEnumerator();
|
|
while (iterator.MoveNext())
|
|
{
|
|
var loadedObject =
|
|
AssetDatabase.LoadAssetAtPath(iterator.Current.Key, typeof(UnityEngine.Object));
|
|
if (loadedObject != null)
|
|
{
|
|
newSelection.Add(loadedObject);
|
|
}
|
|
}
|
|
|
|
Selection.objects = newSelection.ToArray();
|
|
}
|
|
|
|
public static void PingAssetInProject(string file)
|
|
{
|
|
if (!file.StartsWith("Assets/"))
|
|
{
|
|
return;
|
|
}
|
|
|
|
// thanks to http://answers.unity3d.com/questions/37180/how-to-highlight-or-select-an-asset-in-project-win.html
|
|
var asset = AssetDatabase.LoadMainAssetAtPath(file);
|
|
if (asset != null)
|
|
{
|
|
GUISkin temp = GUI.skin;
|
|
GUI.skin = null;
|
|
|
|
//EditorGUIUtility.PingObject(AssetDatabase.LoadAssetAtPath(file, typeof(Object)));
|
|
EditorGUIUtility.PingObject(asset);
|
|
Selection.activeObject = asset;
|
|
|
|
GUI.skin = temp;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static string GetProperBuildSizeDesc(BuildInfo buildReportToDisplay)
|
|
{
|
|
BuildReportTool.BuildPlatform buildPlatform = BuildReportTool.ReportGenerator.GetBuildPlatformFromString(buildReportToDisplay.BuildType, buildReportToDisplay.BuildTargetUsed);
|
|
|
|
switch (buildPlatform)
|
|
{
|
|
case BuildReportTool.BuildPlatform.MacOSX32:
|
|
return Labels.BUILD_SIZE_MACOSX_DESC;
|
|
case BuildReportTool.BuildPlatform.MacOSX64:
|
|
return Labels.BUILD_SIZE_MACOSX_DESC;
|
|
case BuildReportTool.BuildPlatform.MacOSXUniversal:
|
|
return Labels.BUILD_SIZE_MACOSX_DESC;
|
|
|
|
case BuildReportTool.BuildPlatform.Windows32:
|
|
return Labels.BUILD_SIZE_WINDOWS_DESC;
|
|
case BuildReportTool.BuildPlatform.Windows64:
|
|
return Labels.BUILD_SIZE_WINDOWS_DESC;
|
|
|
|
case BuildReportTool.BuildPlatform.Linux32:
|
|
return Labels.BUILD_SIZE_STANDALONE_DESC;
|
|
case BuildReportTool.BuildPlatform.Linux64:
|
|
return Labels.BUILD_SIZE_STANDALONE_DESC;
|
|
case BuildReportTool.BuildPlatform.LinuxUniversal:
|
|
return Labels.BUILD_SIZE_LINUX_UNIVERSAL_DESC;
|
|
|
|
case BuildReportTool.BuildPlatform.Android:
|
|
if (buildReportToDisplay.AndroidCreateProject)
|
|
{
|
|
return Labels.BUILD_SIZE_ANDROID_WITH_PROJECT_DESC;
|
|
}
|
|
if (buildReportToDisplay.AndroidUseAPKExpansionFiles)
|
|
{
|
|
return Labels.BUILD_SIZE_ANDROID_WITH_OBB_DESC;
|
|
}
|
|
return Labels.BUILD_SIZE_ANDROID_DESC;
|
|
|
|
case BuildReportTool.BuildPlatform.iOS:
|
|
return Labels.BUILD_SIZE_IOS_DESC;
|
|
|
|
case BuildReportTool.BuildPlatform.Web:
|
|
return Labels.BUILD_SIZE_WEB_DESC;
|
|
}
|
|
return "";
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void DrawLargeSizeDisplay(string label, string desc, string value)
|
|
{
|
|
if (string.IsNullOrEmpty(value))
|
|
{
|
|
return;
|
|
}
|
|
|
|
GUILayout.BeginVertical();
|
|
GUILayout.Label(label, BuildReportTool.Window.Settings.INFO_TITLE_STYLE_NAME);
|
|
GUILayout.Label(desc, BuildReportTool.Window.Settings.TINY_HELP_STYLE_NAME);
|
|
GUILayout.Label(value, BuildReportTool.Window.Settings.BIG_NUMBER_STYLE_NAME);
|
|
GUILayout.EndVertical();
|
|
}
|
|
}
|
|
|
|
}
|