/// <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); }
/// <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); }
/// <summary> /// Sets the object browser filter. /// </summary> public void SetObjectFilter(ObjectDatabase.Category filterIndex) { filter = filterIndex; filteredObjects = ObjectDatabaseManager.Instance. AllObjectsInCategory(filter); }
/// <summary> /// Returns a list of all objects in a given category. /// </summary> public List <ObjectData> AllObjectsInCategory (ObjectDatabase.Category cat) { return(database.AllObjectsInCategory(cat)); }