public void LevelObjectDatabaseTest_PlayModeSimplePasses() { LevelObjectDatabase database = new LevelObjectDatabase(); LevelEditorObject obj = database.GetObject(0, 0); Assert.IsNotNull(obj); }
public void SerializableLevelTest_EditModeSimplePasses() { // Load database LevelObjectDatabase database = new LevelObjectDatabase(); // Create level GameObject[] objects = new GameObject[0]; LevelEditorObject data = database.GetObject(0, 0); GameObject instance = MonoBehaviour.Instantiate(data.Prefab); instance.name = data.Path; instance.transform.position = new Vector3(-1f, 5f, 3); instance.transform.rotation = Quaternion.Euler(-45f, 90f, 15f); instance.transform.localScale = new Vector3(2f, 0.5f, 1.5f); objects[0] = instance; }
public static void RenderDB(int vpos) { if (prefabDatabase == null) { prefabDatabase = new LevelObjectDatabase(); } int width = Screen.width; int height = Screen.height; vpos += 150; Rect toolbarPos = new Rect(width / 4, vpos, width / 2, 2 * EditorGUIUtility.singleLineHeight); selectedCategory = GUI.Toolbar(toolbarPos, selectedCategory, prefabDatabase.GetFancyCategories); selectedObjects = prefabDatabase.GetObjects(selectedCategory); GUI.Label(new Rect(30, vpos, width / 4 - 8, toolbarPos.height), "Categories"); if (GUI.Button(new Rect(toolbarPos.x + toolbarPos.width + 8, vpos, 128, toolbarPos.height), "Refresh")) { prefabDatabase.LoadLevelObjects(); } vpos += Mathf.CeilToInt(toolbarPos.height) + (int)EditorGUIUtility.singleLineHeight; if (selectedObjects == null) { Debug.LogError("Failed to get selected objects!"); } int Num = selectedObjects.Count; int IconSize = 64; int IconSpace = 100; int count_x = width / 100; int count_y = Num % count_x == 0 ? Num / count_x : Num / count_x + 1; scrollPos = GUI.BeginScrollView(new Rect(0, vpos, width, height - vpos), scrollPos, new Rect(0, 0, width, count_y * IconSpace)); int localvpos = 0; int localhpos = (IconSpace - IconSize) / 2; for (int i = 0; i < Num; i++) { Texture2D Preview = UnityEditor.AssetPreview.GetAssetPreview(selectedObjects[i].Value.Prefab); GUIContent content = new GUIContent(Preview, selectedObjects[i].Value.Name); if (Preview != null) { if (GUI.Button(new Rect(localhpos, localvpos, IconSize, IconSize), content)) { projectActiveSelection = selectedObjects[i].Value; } localhpos += IconSpace; if (localhpos + IconSpace >= width) { localhpos = (IconSpace - IconSize) / 2; localvpos += IconSpace; } } } GUI.EndScrollView(); }