private void OnEnable()
 {
     mLayerDefinitionSet       = (LayerDefinitionSet)target;
     mLayerDefinitionsProperty = serializedObject.FindProperty("_LayerDefinitions");
     mOverwriteExistingLayers  = serializedObject.FindProperty("_OverwriteExistingLayers");
     SetupList();
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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();
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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");
        }