Example #1
0
        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);
                        }
                    }
                }
            }
        }
Example #3
0
        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);
            }
        }
Example #5
0
        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));
                    }
                }
            }
        }
Example #7
0
 /// <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));
 }