Added end of night scene

feature/night_to_day
jonathan 2 months ago
parent 073a74bb22
commit 3c370e30a0

@ -6,3 +6,4 @@
script = ExtResource("1_5dt1r")
_fightRoomScenePath = "res://scenes/Babushka_scene_fight_world_room.tscn"
_fightHappeningScene = "res://scenes/Babushka_scene_fight_happening.tscn"
_nightEndScene = "res://scenes/Babushka_scene_indoor_vesnas_room.tscn"

@ -11,6 +11,7 @@ public partial class FightSceneSwitcher : Node
[Export] private Node _sceneRoot = null!;
[Export] private string _fightRoomScenePath = null!;
[Export] private string _fightHappeningScene = null!;
[Export] private string _nightEndScene = null!;
private void LoadNext()
{
@ -36,6 +37,12 @@ public partial class FightSceneSwitcher : Node
if (!FightWorld.Instance.currentRoom.paths.TryGetValue(pathIndex, out var nextRoom))
throw new Exception("Trying to go down a non-existent path");
if (nextRoom.specialRoom == FightWorld.Room.Special.EndOfNight)
{
ExitFightWorld();
return;
}
FightWorld.Instance.currentRoom = nextRoom;
LoadNext();
}
@ -60,4 +67,10 @@ public partial class FightSceneSwitcher : Node
FightWorld.Instance.fightHappeningData = null;
LoadNext();
}
public void ExitFightWorld()
{
SceneTransitionThreaded.Instance.ChangeSceneToFile(_nightEndScene);
_ = UnloadAfterDelay();
}
}

@ -14,8 +14,14 @@ public partial class FightWorld : Node
public class Room
{
public enum Special
{
None,
EndOfNight
}
public required Dictionary<int, Room> paths;
public required List<FighterGroup> enemyGroups;
public Special specialRoom = Special.None;
}
public class FighterGroup
@ -109,6 +115,13 @@ public partial class FightWorld : Node
rooms.Add(GenerateDisconnectedRoom());
}
rooms.Add(new Room
{
paths = [],
enemyGroups = [],
specialRoom = Room.Special.EndOfNight
});
// Connect rooms linearly
for (var i = 0; i < rooms.Count - 1; i++)
{

Loading…
Cancel
Save