private void Start() { DungeonGenerator = GetComponentInChildren <RuntimeDungeon>(); DungeonGenerator.Generator.OnGenerationStatusChanged += OnGenerationStatusChanged; GenerateRandom(); }
protected virtual void Awake() { if (gameObject.scene.name.ToLower() != "master") { current = this; } if (!playerStart) { PlayerSpawner playerSpawner = GameObject.FindObjectOfType <PlayerSpawner>(); if (playerSpawner) { playerStart = playerSpawner.transform; } } #if DUNGEN dungeonNavMeshAdapter = this.GetComponentInChildren <UnityNavMeshAdapter>(); if (dungeonNavMeshAdapter) { // Prevent Unity to crash when generating dungeon dungeonNavMeshAdapter.enabled = false; } dungeonGenerator = this.GetComponentInChildren <RuntimeDungeon>(); if (dungeonGenerator) { dungeonGenerator.Generator.OnGenerationStatusChanged += OnGenerationStatusChanged; GenerateDungeon(); } #endif }
private void Start() { RuntimeDungeon runtimeDungeon = Component.FindObjectOfType <RuntimeDungeon>(); if (runtimeDungeon != null) { transform.forward = -runtimeDungeon.Generator.UpVector; } }
public override void OnInspectorGUI() { RuntimeDungeon dungeon = target as RuntimeDungeon; if (dungeon == null) { return; } dungeon.GenerateOnStart = EditorGUILayout.Toggle("Generate on Start", dungeon.GenerateOnStart); EditorGUILayout.BeginVertical("box"); EditorUtil.DrawDungeonGenerator(dungeon.Generator, true); EditorGUILayout.EndVertical(); if (GUI.changed) { EditorUtility.SetDirty(dungeon); } }
public override void OnInspectorGUI() { RuntimeDungeon dungeon = target as RuntimeDungeon; if (dungeon == null) { return; } dungeon.GenerateOnStart = EditorGUILayout.Toggle("Generate on Start", dungeon.GenerateOnStart); dungeon.Root = EditorGUILayout.ObjectField(new GUIContent("Root", "An optional root object for the dungeon to be parented to. If blank, a new root GameObject will be created named \"" + Constants.DefaultDungeonRootName + "\""), dungeon.Root, typeof(GameObject), true) as GameObject; EditorGUILayout.BeginVertical("box"); EditorUtil.DrawDungeonGenerator(dungeon.Generator, true); EditorGUILayout.EndVertical(); if (GUI.changed) { EditorUtility.SetDirty(dungeon); } }