Beispiel #1
0
        /// <summary>
        /// Prepares the LM for editing.
        /// </summary>
        public void StartEditing()
        {
            if (assetPreview != null)
            {
                if (Application.isEditor)
                {
                    DestroyImmediate(assetPreview.gameObject);
                }

                else
                {
                    Destroy(assetPreview.gameObject);
                }
            }

            // OBJDB instance may not be initialized yet, so wait for event
            ObjectDatabaseManager.OnSingletonInitializedEditor.
            AddListener(() =>
            {
                filteredObjects = ObjectDatabaseManager.Instance.
                                  AllObjectsInCategory(filter);
            });

            filter = ObjectDatabase.Category.Block;
            CreateAssetPreview();
            selectedObjectIndexForPlacement = -1;
            currentYPosition          = 0;
            currentPlacementYRotation = 0f;
            editingPlane = new Plane(Vector3.up, Vector3.zero);
        }
Beispiel #2
0
        /// <summary>
        /// Selects an asset from the object browser.
        /// </summary>
        /// <param name="index">Index of the object in the browser.</param>
        public void SelectObjectInCategory(int index,
                                           ObjectDatabase.Category category)
        {
            var data = ObjectDatabaseManager.Instance.AllObjectsInCategory
                           (category)[index];

            selectedObjectIndexForPlacement = data.index;
            selectedObjectSnapMode          = data.snapMode;
            var obj = ObjectDatabaseManager.Instance.GetObject(data.index);

            if (Application.isEditor || Debug.isDebugBuild)
            {
                Debug.Log(string.Format(
                              "Object {0} ({1}) selected from category {2}.",
                              obj.name, index.ToString(), category.ToString()));
            }

            ShowAssetPreview(obj);
        }
Beispiel #3
0
 /// <summary>
 /// Sets the object browser filter.
 /// </summary>
 public void SetObjectFilter(ObjectDatabase.Category filterIndex)
 {
     filter          = filterIndex;
     filteredObjects = ObjectDatabaseManager.Instance.
                       AllObjectsInCategory(filter);
 }
Beispiel #4
0
 /// <summary>
 /// Returns a list of all objects in a given category.
 /// </summary>
 public List <ObjectData> AllObjectsInCategory
     (ObjectDatabase.Category cat)
 {
     return(database.AllObjectsInCategory(cat));
 }