Add Organized Religion miracle and Temple tiers; update game structure with new markers and visualizations

This commit is contained in:
2025-08-23 19:03:24 +02:00
parent 0fbd49f36a
commit 4ceb63e49c
7 changed files with 121 additions and 3 deletions

View File

@@ -1,6 +1,5 @@
using System.Collections.Generic;
using Godot;
using Godot.Collections;
using ParasiticGod.Scripts.Core;
using ParasiticGod.Scripts.Singletons;
@@ -9,7 +8,7 @@ namespace ParasiticGod.Scripts.Components;
[GlobalClass]
public partial class PopulationVisualizer : Node
{
public enum VisualCategory { Followers, Huts }
public enum VisualCategory { Followers, Huts, Temples }
[Export] private Node2D _markersContainer;
[Export] private int _unitsPerMarker = 5;
@@ -32,6 +31,9 @@ public partial class PopulationVisualizer : Node
case VisualCategory.Huts:
_tiers = GameBus.Instance.HutTiers;
break;
case VisualCategory.Temples:
_tiers = GameBus.Instance.TempleTiers;
break;
default:
GD.PushError($"PopulationVisualizer has an invalid category: {Category}");
return;
@@ -61,6 +63,7 @@ public partial class PopulationVisualizer : Node
{
VisualCategory.Followers => (long)newState.Get(Stat.Followers),
VisualCategory.Huts => (long)newState.Get(Stat.Followers),
VisualCategory.Temples => (long)newState.Get(Stat.Followers),
_ => 0
};

View File

@@ -13,6 +13,7 @@ public partial class GameBus : Node
public Dictionary<string, MiracleDefinition> AllMiracles { get; private set; }
public List<TierDefinition> FollowerTiers { get; private set; }
public List<TierDefinition> HutTiers { get; private set; }
public List<TierDefinition> TempleTiers { get; private set; }
private PackedScene _gameOverScene = GD.Load<PackedScene>("res://Scenes/game_over.tscn");
private PackedScene _winScene = GD.Load<PackedScene>("res://Scenes/win_screen.tscn");
@@ -36,6 +37,7 @@ public partial class GameBus : Node
AllMiracles = MiracleLoader.LoadAllMiracles();
FollowerTiers = TierLoader.LoadTiers("res://Mods/Tiers/follower_tiers.json", "user://Mods/Tiers/follower_tiers.json");
HutTiers = TierLoader.LoadTiers("res://Mods/Tiers/hut_tiers.json","user://Mods/Tiers/hut_tiers.json");
TempleTiers = TierLoader.LoadTiers("res://Mods/Tiers/temple_tiers.json","user://Mods/Tiers/temple_tiers.json");
GameWon += OnGameWon;
}