Mod naming rule and engine UI in engine mods
Mods are renamed by role (shell2d_base, menu_base, ui_base, live2d_base, editor_tools, cthangover_story, cthangover_murakami, cthangover_party) and every reference follows. Engine UI prefabs (dialog, answers, message, game menu, inventory, map, skills) and their panel entries moved out of the story mod into the subsystem mods; the card_novel and vn_starter_novel collections are removed.
This commit is contained in:
1 parent
c4e2130ed4
commit
22b67c628c
10 files changed
+26
-26
No files matched your search
@@ -23,7 +23,7 @@ namespace Mods.MenuFlowTest
|
||||
/// </summary>
|
||||
public partial class MenuFlowTestDriverNode : Node
|
||||
{
|
||||
private const string GameId = "card_novel";
|
||||
private const string GameId = "novel_template";
|
||||
private const string Slot = "slot_942";
|
||||
private const string DeletableId = "menu_flow_deletable";
|
||||
private const float TimeoutSeconds = 90f;
|
||||
@@ -82,8 +82,8 @@ namespace Mods.MenuFlowTest
|
||||
if (GetTree().CurrentScene is not MainMenu)
|
||||
return;
|
||||
Check("front-end only", ActiveGame.IsFrontendOnly && !ActiveGame.IsActive);
|
||||
Check("menu mods loaded", ModRegistry.Instance.Mods.ContainsKey("base_menu") && ModRegistry.Instance.Mods.ContainsKey("mod_manager"));
|
||||
Check("game content not loaded", !ModRegistry.Instance.Mods.ContainsKey("visual_novel_core"));
|
||||
Check("menu mods loaded", ModRegistry.Instance.Mods.ContainsKey("menu_base") && ModRegistry.Instance.Mods.ContainsKey("mod_manager"));
|
||||
Check("game content not loaded", !ModRegistry.Instance.Mods.ContainsKey("cthangover_story"));
|
||||
Check("Play button shown", Menu.FindChild("play", true, false) is Button);
|
||||
Check("New game hidden without a game", Menu.FindChild("new_game", true, false) == null);
|
||||
break;
|
||||
@@ -158,11 +158,11 @@ namespace Mods.MenuFlowTest
|
||||
browser.Visible = false;
|
||||
|
||||
var composition = GameCatalog.Composition(GameId);
|
||||
Check("composition computed without loading the game", composition?.Any(m => m.Id == "card_battle") == true);
|
||||
Check("composition computed without loading the game", composition?.Any(m => m.Id == "novel_template") == true);
|
||||
var diff = SaveCompositionDiff.Compute(
|
||||
new[] { new SaveGameMod { Id = "visual_novel_core", Version = "2.0.0" }, new SaveGameMod { Id = "ghost_mechanic", Version = "1.0.0" } },
|
||||
new[] { new SaveGameMod { Id = "cthangover_story", Version = "2.0.0" }, new SaveGameMod { Id = "ghost_mechanic", Version = "1.0.0" } },
|
||||
composition);
|
||||
Check("comparison reports removed and added mechanics", diff.Removed.Contains("ghost_mechanic") && diff.Added.Contains("card_battle"));
|
||||
Check("comparison reports removed and added mechanics", diff.Removed.Contains("ghost_mechanic") && diff.Added.Contains("novel_template"));
|
||||
|
||||
LastSessionStore.Record(GameId, Slot);
|
||||
Check("Continue sees the last session", LastSessionStore.Load()?.GameId == GameId);
|
||||
@@ -191,7 +191,7 @@ namespace Mods.MenuFlowTest
|
||||
SaveId = Slot,
|
||||
Timestamp = DateTime.UtcNow,
|
||||
CoreVersion = "0.1.0",
|
||||
Game = new SaveGameInfo { Id = GameId, Name = "Card Novel", Version = "1.0.0" },
|
||||
Game = new SaveGameInfo { Id = GameId, Name = "Novel Template", Version = "1.0.0" },
|
||||
};
|
||||
package.ModData[SavePackage.CoreSlotKey] = new ModSlot();
|
||||
var dir = ProjectSettings.GlobalizePath(SaveService.GameDirectory(GameId));
|
||||
|
||||
Reference in new issue
Block a user