private void OnEnable() { mLayerDefinitionSet = (LayerDefinitionSet)target; mLayerDefinitionsProperty = serializedObject.FindProperty("_LayerDefinitions"); mOverwriteExistingLayers = serializedObject.FindProperty("_OverwriteExistingLayers"); SetupList(); }
/// <summary> /// Load the set of default layer definitions from the file system; if it does not exist, then /// the default asset will be re-created /// </summary> /// <returns></returns> public static LayerDefinitionSet LoadDefaultLayerDefinitionSet() { LayerDefinitionSet lDefinitionSet = AssetDatabase.LoadAssetAtPath <LayerDefinitionSet>(DefaultLayerDefinitionSetPath); if (lDefinitionSet == null) { // Create the asset lDefinitionSet = AssetHelper.GetOrCreateAsset <LayerDefinitionSet>(DefaultLayerDefinitionSetPath); // Add the defaut layer definitions for (int i = 0; i < DefaultLayers.Names.Length; i++) { if (!(string.IsNullOrEmpty(DefaultLayers.Names[i]))) { lDefinitionSet.LayerDefinitions.Add(new LayerDefinition { Index = i, Name = DefaultLayers.Names[i] }); } } // Ensure the changes are saved AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } return(lDefinitionSet); }
/// <summary> /// Apply the default layer definition set; optionally overwrite existing layers. /// </summary> /// <param name="rOverwriteExisting"></param> public static void ApplyDefaultLayers(bool rOverwriteExisting) { LayerDefinitionSet lLayers = LoadDefaultLayerDefinitionSet(); if (lLayers == null) { return; } AddLayers(lLayers, rOverwriteExisting); }
/// <summary> /// Add the layers contained within the designated Layer Definition Set. /// The Tag Manager properties are updated after the set of layers has been updated. /// </summary> /// <param name="rLayerDefinitionSet"></param> /// <param name="rOverwriteExisting"></param> public static void AddLayers(LayerDefinitionSet rLayerDefinitionSet, bool rOverwriteExisting) { if (rLayerDefinitionSet == null) { return; } foreach (LayerDefinition lLayer in rLayerDefinitionSet.LayerDefinitions) { AddLayer_Internal(lLayer, rOverwriteExisting); } TagManager.ApplyModifiedProperties(); }
protected override void OnEnable() { base.OnEnable(); mDefaultLayerDefinitionSet = AssetDatabase.LoadAssetAtPath <LayerDefinitionSet>( "Assets/ootii/Assets/MotionController/Content/Default Motion Controller Layers.asset"); mLayerDefinitionSetsProperty = FindProperty(x => x.LayerDefinitionSets); if (!LayerDefinitionSets.Contains(mDefaultLayerDefinitionSet)) { LayerDefinitionSets.Add(mDefaultLayerDefinitionSet); } SetupDefinitionsList(); }
protected void SetLayers() { for (int i = 0; i < mLayerDefinitionSetsProperty.arraySize; i++) { SerializedProperty lCurrentSet = mLayerDefinitionSetsProperty.GetArrayElementAtIndex(i); if (lCurrentSet == null) { continue; } LayerDefinitionSet lDefinitionSet = (LayerDefinitionSet)lCurrentSet.objectReferenceValue; if (lDefinitionSet == null) { continue; } LayersSetupHelper.AddLayers(lDefinitionSet, OverwriteExistingLayers); } }
private void SetupLayers(LayerDefinitionSet rLayerDefinitionSet) { LayersSetupHelper.AddLayers(rLayerDefinitionSet, mOverwriteExistingLayers.boolValue); EditorUtility.DisplayDialog("Layers Set Up", rLayerDefinitionSet.name + " set.", "Ok"); }