/// <summary> Apply check value on an asset and its childs. </summary> private static void SetFullCheck(ImpAsset asset, bool value) { asset.import = value; if (asset.childs != null) { for (int i = 0; i < asset.childs.Length; i++) { SetFullCheck(asset.childs[i], value); } } }
/// <summary> Draw an asset and its children. </summary> private void DrawAsset(ImpAsset asset) { //Toggle bool temp = GUILayout.Toggle(asset.import, asset.content); if (temp != asset.import) { asset.import = temp; RefreshAllCheck(); } //Draw childs if (asset.childs != null) { for (int j = 0; j < asset.childs.Length; j++) { DrawAsset(asset.childs[j]); } } }
/// <summary> Check if the asset and its childs are selected for the import. </summary> private static AllCheckState IsFullCheck(ImpAsset asset) { AllCheckState state = asset.import ? AllCheckState.Check : AllCheckState.Uncheck; if (state == AllCheckState.Partial) { return(AllCheckState.Partial); } if (asset.childs != null) { for (int j = 0; j < asset.childs.Length; j++) { state = Blend(state, IsFullCheck(asset.childs[j])); if (state == AllCheckState.Partial) { return(AllCheckState.Partial); } } } return(state); }