private static bool IsPathEqualsSDKName(string assetPath, string SDKName) { var fileName = SA_PathUtil.GetFileName(assetPath); var extension = SA_PathUtil.GetExtension(assetPath); return(fileName.Contains(SDKName) && extension.Equals(".dll")); }
private void ValidateAssets <T>(List <T> assets, string requiredLocation, string requiredExtension) where T : Object { //Let's make sure we aren't missing assets under requiredLocation var assetPaths = SA_AssetDatabase.FindAssetsWithExtentions(requiredLocation, requiredExtension); foreach (var assetPath in assetPaths) { var assetExtension = SA_PathUtil.GetExtension(assetPath); if (assetExtension.Equals(requiredExtension)) { var file = (T)AssetDatabase.LoadAssetAtPath(assetPath, typeof(T)); if (!assets.Contains(file)) { assets.Add(file); return; } } } for (var i = 0; i < assets.Count; i++) { var asset = assets[i]; if (asset == null) { //We do not allow null element's unless this is a last element if (i != assets.Count - 1) { assets.Remove(asset); return; } continue; } if (!HasValidExtension(asset, requiredExtension)) { EditorGUILayout.HelpBox(asset.name + " need to be in *" + requiredExtension + " format.", MessageType.Error); continue; } if (!SA_AssetDatabase.IsAssetInsideFolder(asset, requiredLocation)) { EditorGUILayout.HelpBox(asset.name + " has to be inside: \n" + requiredLocation, MessageType.Error); using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var move = GUILayout.Button("Move", EditorStyles.miniButton); if (move) { var currentPath = AssetDatabase.GetAssetPath(asset); var assetName = SA_AssetDatabase.GetFileName(currentPath); var newPath = requiredLocation + assetName; SA_AssetDatabase.MoveAsset(currentPath, newPath); } } } } }
private void LogCommunication(string className, string methodName, List <object> arguments) { var strippedClassName = SA_PathUtil.GetExtension(className); strippedClassName = strippedClassName.Substring(1); var argumentsLog = LogArguments(arguments); if (!string.IsNullOrEmpty(argumentsLog)) { argumentsLog = " :: " + argumentsLog; } AN_Logger.LogCommunication("Sent to Java -> " + strippedClassName + "." + methodName + argumentsLog); }
private bool HasValidExtension(Object asset, string requiredExtension) { var assetPath = SA_AssetDatabase.GetAssetPath(asset); var assetExtension = SA_PathUtil.GetExtension(assetPath); if (assetExtension.Equals(requiredExtension)) { return(true); } else { return(false); } }
private static bool IsPathEqualsSDKName(string assetPath, string SDKName) { string fileName = SA_PathUtil.GetFileName(assetPath); string extention = SA_PathUtil.GetExtension(assetPath); if (fileName.Contains(SDKName) && extention.Equals(".dll")) { return(true); } else { return(false); } }
public static void DrawRequirementsUI(AN_AndroidBuildRequirements buildRequirements) { if (buildRequirements.Activities.Count > 0) { using (new SA_H2WindowBlockWithSpace(new GUIContent("ACTIVITIES"))) { foreach (var activity in buildRequirements.Activities) { string name = SA_PathUtil.GetExtension(activity.Name); name = name.Substring(1, name.Length - 1); var icon = AN_Skin.GetIcon("requirements_activity.png"); SA_EditorGUILayout.SelectableLabel(new GUIContent("activity: " + name, icon)); } } } if (buildRequirements.ApplicationProperties.Count > 0) { using (new SA_H2WindowBlockWithSpace(new GUIContent("APP PROPERTIES"))) { foreach (var property in buildRequirements.ApplicationProperties) { var icon = AN_Skin.GetIcon("requirements_activity.png"); string name = SA_PathUtil.GetExtension(property.Name); name = name.Substring(1, name.Length - 1); SA_EditorGUILayout.SelectableLabel(new GUIContent(property.Tag + ": " + name, icon)); } } } if (buildRequirements.ManifestProperties.Count > 0) { using (new SA_H2WindowBlockWithSpace(new GUIContent("MANIFEST PROPERTIES"))) { foreach (var property in buildRequirements.ManifestProperties) { var icon = AN_Skin.GetIcon("requirements_activity.png"); string info = string.Empty; foreach (var pair in property.Values) { info += " " + pair.Key + " : " + pair.Value; } SA_EditorGUILayout.SelectableLabel(new GUIContent(property.Tag + info, icon)); } } } if (buildRequirements.Permissions.Count > 0) { using (new SA_H2WindowBlockWithSpace(new GUIContent("PERMISSIONS"))) { foreach (var permission in buildRequirements.Permissions) { var icon = AN_Skin.GetIcon("requirements_permission.png"); SA_EditorGUILayout.SelectableLabel(new GUIContent(permission.GetFullName(), icon)); } } } if (buildRequirements.BinaryDependencies.Count > 0) { using (new SA_H2WindowBlockWithSpace(new GUIContent("BINARY DEPENDENCIES"))) { foreach (var dependency in buildRequirements.BinaryDependencies) { var icon = AN_Skin.GetIcon("requirements_lib.png"); SA_EditorGUILayout.SelectableLabel(new GUIContent(dependency.GetRemoteRepositoryName(), icon)); } } } }
/// <summary> /// Returns the extension of the specified path string. /// </summary> /// <param name="filePath">Filesystem project folder relative file path.</param> /// <returns></returns> public static string GetExtension(string filePath) { return(SA_PathUtil.GetExtension(filePath)); }