protected override void RunItems(DebugMenu caller) { ReadOnly("- Grounded -"); //Cycle ground enemies foreach (var i in Commons.RoomGenerator.RoomParameterBuilder.GroundEnemies.OrderBy(i => i.Enemy.name)) { //Spawn enemy if button is pressed if (Button(i.Enemy.name)) { Commons.InstantiateInCurrentLevel(i.Enemy, CommonExtensions.GetPlayer().transform.position + Vector3.right * 2f); } } Separator(); ReadOnly("- Flying -"); //Cycle ground enemies foreach (var i in Commons.RoomGenerator.RoomParameterBuilder.AirEnemies.OrderBy(i => i.Enemy.name)) { //Spawn enemy if button is pressed if (Button(i.Enemy.name)) { Commons.InstantiateInCurrentLevel(i.Enemy, CommonExtensions.GetPlayer().transform.position + Vector3.right * 2f); } } }
protected override void RunItems(DebugMenu caller) { //Cycle spawnable objects foreach (GameObject i in caller.SpawnableItems.OrderBy(i => i.name)) { //Create a button for the object and spawn the object is clicked if (Button(i.name)) { Commons.InstantiateInCurrentLevel(i, CommonExtensions.GetPlayer().transform.position + Vector3.right * 2f); } } }
/// <summary> /// Respawns the player at the start of the room /// </summary> public static void RespawnPlayer() { var player = CommonExtensions.GetPlayer(); var spawnPoint = Vector2.zero; if (Object.FindObjectOfType <Entrance>() is Entrance entr) { spawnPoint = entr.transform.position; } player.transform.position = spawnPoint; player.GetComponent <Rigidbody2D>().velocity = default; }