AssetBundleGraph.IntegratedGUILoader.ValidateLoadPath C# (CSharp) Method

ValidateLoadPath() public static method

public static ValidateLoadPath ( string currentLoadPath, string combinedPath, System.Action NullOrEmpty, System.Action NotExist ) : void
currentLoadPath string
combinedPath string
NullOrEmpty System.Action
NotExist System.Action
return void
        public static void ValidateLoadPath(string currentLoadPath, string combinedPath, Action NullOrEmpty, Action NotExist)
        {
            if (string.IsNullOrEmpty(currentLoadPath)) NullOrEmpty();
            if (!Directory.Exists(combinedPath)) NotExist();
        }

Usage Example

Example #1
0
        private void DoInspectorLoaderGUI(NodeGUI node)
        {
            if (node.loadPath == null)
            {
                return;
            }

            EditorGUILayout.HelpBox("Loader: Load assets in given directory path.", MessageType.Info);
            UpdateNodeName(node);

            GUILayout.Space(10f);

            /*
             *      platform & package
             */
            if (packageEditMode)
            {
                EditorGUI.BeginDisabledGroup(true);
            }

            // update platform & package.
            node.currentPlatform = UpdateCurrentPlatform(node.currentPlatform);

            using (new EditorGUILayout.VerticalScope(GUI.skin.box)) {
                EditorGUILayout.LabelField("Load Path:");
                var newLoadPath = EditorGUILayout.TextField(
                    SystemDataUtility.GetProjectName() + AssetBundleGraphSettings.ASSETS_PATH,
                    SystemDataUtility.GetPlatformValue(
                        node.loadPath.ReadonlyDict(),
                        node.currentPlatform
                        ).ToString()
                    );
                var loaderNodePath = FileUtility.GetPathWithAssetsPath(newLoadPath);
                IntegratedGUILoader.ValidateLoadPath(
                    newLoadPath,
                    loaderNodePath,
                    () => {
                    //EditorGUILayout.HelpBox("load path is empty.", MessageType.Error);
                },
                    () => {
                    //EditorGUILayout.HelpBox("Directory not found:" + loaderNodePath, MessageType.Error);
                }
                    );

                if (newLoadPath != SystemDataUtility.GetPlatformValue(
                        node.loadPath.ReadonlyDict(),
                        node.currentPlatform
                        ).ToString()
                    )
                {
                    node.BeforeSave();
                    node.loadPath.Add(SystemDataUtility.CreateKeyNameFromString(node.currentPlatform), newLoadPath);
                    node.Save();
                }
            }

            if (packageEditMode)
            {
                EditorGUI.EndDisabledGroup();
            }
            UpdateDeleteSetting(node);
        }