First commit for private source control. Older commits available on Github.
This commit is contained in:
BIN
Assets/Scripts/Data/.DS_Store
vendored
Normal file
BIN
Assets/Scripts/Data/.DS_Store
vendored
Normal file
Binary file not shown.
3
Assets/Scripts/Data/Assets.meta
Normal file
3
Assets/Scripts/Data/Assets.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11e83d25ac154a7c9d8d905c6ba277a7
|
||||
timeCreated: 1769711173
|
||||
85
Assets/Scripts/Data/Assets/AssetEntry.cs
Normal file
85
Assets/Scripts/Data/Assets/AssetEntry.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using BriarQueen.Data.Identifiers;
|
||||
using NaughtyAttributes;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace BriarQueen.Data.Assets
|
||||
{
|
||||
[Serializable]
|
||||
[CreateAssetMenu(fileName = "New Asset Entry", menuName = "Briar Queen/Assets/New Asset Entry")]
|
||||
public class AssetEntry : ScriptableObject
|
||||
{
|
||||
public enum AssetEntryType
|
||||
{
|
||||
None = 0,
|
||||
UI = 1,
|
||||
Scene = 2,
|
||||
Level = 3,
|
||||
Item = 4
|
||||
}
|
||||
|
||||
[Header("Asset Type")]
|
||||
[SerializeField]
|
||||
private AssetEntryType _entryType;
|
||||
|
||||
[Header("Asset Key")]
|
||||
[SerializeField]
|
||||
[ShowIf(nameof(IsUI))]
|
||||
private UIKey _uiKey;
|
||||
|
||||
[SerializeField]
|
||||
[ShowIf(nameof(IsScene))]
|
||||
private SceneKey _sceneKey;
|
||||
|
||||
[SerializeField]
|
||||
[ShowIf(nameof(IsLevel))]
|
||||
private LevelKey _levelKey;
|
||||
|
||||
[SerializeField]
|
||||
[ShowIf(nameof(IsItem))]
|
||||
private AssetItemKey _itemKey;
|
||||
|
||||
[Header("Addressable Reference")]
|
||||
[Tooltip("Addressable asset reference to load.")]
|
||||
[SerializeField]
|
||||
private AssetReference _asset;
|
||||
|
||||
public bool IsUI => _entryType == AssetEntryType.UI;
|
||||
public bool IsScene => _entryType == AssetEntryType.Scene;
|
||||
public bool IsLevel => _entryType == AssetEntryType.Level;
|
||||
public bool IsItem => _entryType == AssetEntryType.Item;
|
||||
|
||||
public AssetEntryType EntryType => _entryType;
|
||||
|
||||
public UIKey UIKey => _uiKey;
|
||||
public SceneKey SceneKey => _sceneKey;
|
||||
public LevelKey LevelKey => _levelKey;
|
||||
public AssetItemKey ItemKey => _itemKey;
|
||||
|
||||
public AssetReference Asset => _asset;
|
||||
|
||||
public string AssetKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return _entryType switch
|
||||
{
|
||||
AssetEntryType.UI when _uiKey != UIKey.None =>
|
||||
AssetKeyIdentifiers.Get(_uiKey),
|
||||
|
||||
AssetEntryType.Scene when _sceneKey != SceneKey.None =>
|
||||
AssetKeyIdentifiers.Get(_sceneKey),
|
||||
|
||||
AssetEntryType.Level when _levelKey != LevelKey.None =>
|
||||
AssetKeyIdentifiers.Get(_levelKey),
|
||||
|
||||
AssetEntryType.Item when _itemKey != AssetItemKey.None =>
|
||||
AssetKeyIdentifiers.Get(_itemKey),
|
||||
|
||||
_ => string.Empty
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Assets/AssetEntry.cs.meta
Normal file
3
Assets/Scripts/Data/Assets/AssetEntry.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b492dfc759934d71b4f9cc4f8b41a155
|
||||
timeCreated: 1769711173
|
||||
17
Assets/Scripts/Data/BriarQueen.Data.asmdef
Normal file
17
Assets/Scripts/Data/BriarQueen.Data.asmdef
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "BriarQueen.Data",
|
||||
"rootNamespace": "BriarQueen",
|
||||
"references": [
|
||||
"GUID:776d03a35f1b52c4a9aed9f56d7b4229",
|
||||
"GUID:9e24947de15b9834991c9d8411ea37cf"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
7
Assets/Scripts/Data/BriarQueen.Data.asmdef.meta
Normal file
7
Assets/Scripts/Data/BriarQueen.Data.asmdef.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bdf0eff65032c4178bf18aa9c96b1c70
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
3
Assets/Scripts/Data/IO.meta
Normal file
3
Assets/Scripts/Data/IO.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42bc99ebdabe4d1fb2065896a1f6e552
|
||||
timeCreated: 1769703501
|
||||
13
Assets/Scripts/Data/IO/FilePaths.cs
Normal file
13
Assets/Scripts/Data/IO/FilePaths.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BriarQueen.Data.IO
|
||||
{
|
||||
public static class FilePaths
|
||||
{
|
||||
private static readonly string ApplicationData = Application.persistentDataPath;
|
||||
public static readonly string SaveDataFolder = Path.Combine(ApplicationData, "Saves");
|
||||
public static readonly string SaveBackupDataFolder = Path.Combine(Application.persistentDataPath, "Backups");
|
||||
public static readonly string ConfigFolder = Path.Combine(Application.persistentDataPath, "Configs");
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/IO/FilePaths.cs.meta
Normal file
3
Assets/Scripts/Data/IO/FilePaths.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 437ea8a487054abc95c09442f73f0374
|
||||
timeCreated: 1769703501
|
||||
3
Assets/Scripts/Data/IO/Saves.meta
Normal file
3
Assets/Scripts/Data/IO/Saves.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 377fc30dd8794b1a8fa98f9842272263
|
||||
timeCreated: 1769703058
|
||||
150
Assets/Scripts/Data/IO/Saves/SaveGame.cs
Normal file
150
Assets/Scripts/Data/IO/Saves/SaveGame.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
// ==============================
|
||||
// SaveGame.cs (refactored)
|
||||
// ==============================
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BriarQueen.Data.Identifiers;
|
||||
using MemoryPack;
|
||||
|
||||
namespace BriarQueen.Data.IO.Saves
|
||||
{
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class SaveGame
|
||||
{
|
||||
public string SaveVersion = "0.0.2-alpha";
|
||||
public string SaveFileName;
|
||||
|
||||
// Inventory & item tracking
|
||||
public List<ItemSaveData> InventoryData = new();
|
||||
public List<ItemSaveData> CollectedItems = new();
|
||||
public List<ItemSaveData> RemovedItems = new();
|
||||
|
||||
public Dictionary<ToolID, bool> Tools = new();
|
||||
|
||||
// Codex
|
||||
public List<CodexSaveData> DiscoveredCodexEntries = new();
|
||||
|
||||
// Current location
|
||||
public string CurrentSceneID;
|
||||
public string CurrentLevelID;
|
||||
|
||||
// Per-puzzle persisted state (resume progress when revisiting)
|
||||
public List<PuzzleStateSaveData> PuzzleStates = new();
|
||||
|
||||
public bool OpeningCinematicPlayed;
|
||||
|
||||
// Centralized game variables
|
||||
public PersistentGameVariables PersistentVariables = new();
|
||||
|
||||
// Level-specific hints
|
||||
public Dictionary<string, int> LevelHintStages = new();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class ItemSaveData
|
||||
{
|
||||
public string UniqueIdentifier;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class CodexSaveData
|
||||
{
|
||||
public string UniqueIdentifier;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class PuzzleStateSaveData
|
||||
{
|
||||
public string PuzzleID;
|
||||
public byte[] State;
|
||||
public bool Completed;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class PersistentGameVariables
|
||||
{
|
||||
public GameVariables Game = new();
|
||||
public TutorialPopupVariables TutorialPopupVariables = new();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class TutorialPopupVariables
|
||||
{
|
||||
// Tracks which popups have been shown
|
||||
public HashSet<TutorialPopupID> DisplayedPopups = new();
|
||||
|
||||
public bool HasBeenDisplayed(TutorialPopupID id)
|
||||
{
|
||||
return DisplayedPopups.Contains(id);
|
||||
}
|
||||
|
||||
public void MarkDisplayed(TutorialPopupID id)
|
||||
{
|
||||
DisplayedPopups.Add(id);
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public enum LevelFlag
|
||||
{
|
||||
None = 0,
|
||||
FountainVinesCut,
|
||||
PumpHouseOpened,
|
||||
PumpHousePipesFixed,
|
||||
PumpWaterRestored,
|
||||
WorkshopBagHoleDug,
|
||||
WorkshopSafeUnlocked,
|
||||
WorkshopDownstairsDoorOpen,
|
||||
WorkshopDownstairsLightOn,
|
||||
WorkshopGrindstoneRepaired,
|
||||
StreetGateOpen,
|
||||
StreetVinesCut,
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[MemoryPackable]
|
||||
public partial class GameVariables
|
||||
{
|
||||
// Type-safe level flags using enum
|
||||
public Dictionary<LevelFlag, bool> LevelFlags = new();
|
||||
|
||||
// Tracks completed puzzles
|
||||
public Dictionary<string, bool> PuzzleCompleted = new();
|
||||
|
||||
// Candle slots
|
||||
public Dictionary<int, string> WorkshopCandleSlotsFilled = new()
|
||||
{
|
||||
{ 0, ItemIDs.Pickups[ItemKey.BlueCandle] },
|
||||
{ 3, ItemIDs.Pickups[ItemKey.OrangeCandle] },
|
||||
{ 5, ItemIDs.Pickups[ItemKey.RedCandle] }
|
||||
};
|
||||
|
||||
// -------- Helper Methods --------
|
||||
public bool IsPuzzleCompleted(PuzzleKey puzzle)
|
||||
{
|
||||
return PuzzleCompleted.TryGetValue(PuzzleIdentifiers.AllPuzzles[puzzle], out var completed) && completed;
|
||||
}
|
||||
|
||||
public void SetPuzzleCompleted(PuzzleKey puzzle, bool completed = true)
|
||||
{
|
||||
PuzzleCompleted[PuzzleIdentifiers.AllPuzzles[puzzle]] = completed;
|
||||
}
|
||||
|
||||
public bool GetLevelFlag(LevelFlag flag)
|
||||
{
|
||||
return LevelFlags.TryGetValue(flag, out var value) && value;
|
||||
}
|
||||
|
||||
public void SetLevelFlag(LevelFlag flag, bool value = true)
|
||||
{
|
||||
LevelFlags[flag] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/IO/Saves/SaveGame.cs.meta
Normal file
3
Assets/Scripts/Data/IO/Saves/SaveGame.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc844b48999c44058fe4696c9841c339
|
||||
timeCreated: 1769703058
|
||||
3
Assets/Scripts/Data/Identifiers.meta
Normal file
3
Assets/Scripts/Data/Identifiers.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec4654a3dc1a46858389e602b21615b5
|
||||
timeCreated: 1769700576
|
||||
9
Assets/Scripts/Data/Identifiers/AchievementIDs.cs
Normal file
9
Assets/Scripts/Data/Identifiers/AchievementIDs.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum AchievementID
|
||||
{
|
||||
WorkshopSafeUnlocked,
|
||||
WorkshopPuzzleBoxSolved,
|
||||
FountainGemPuzzleSolved,
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/AchievementIDs.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/AchievementIDs.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7157dac196b247998ae88da719c9aedc
|
||||
timeCreated: 1772721612
|
||||
8
Assets/Scripts/Data/Identifiers/ActionMaps.cs
Normal file
8
Assets/Scripts/Data/Identifiers/ActionMaps.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public static class ActionMaps
|
||||
{
|
||||
public const string GAMEPLAY_MAP = "Gameplay";
|
||||
public const string UI_MAP = "UI";
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/ActionMaps.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/ActionMaps.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33b4f39a4dbe41acb0a53cdb18e8daaa
|
||||
timeCreated: 1769708292
|
||||
145
Assets/Scripts/Data/Identifiers/AssetKeyIdentifiers.cs
Normal file
145
Assets/Scripts/Data/Identifiers/AssetKeyIdentifiers.cs
Normal file
@@ -0,0 +1,145 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum UIKey
|
||||
{
|
||||
None = 0,
|
||||
InventorySlot,
|
||||
CodexLocationButton,
|
||||
CodexEntryButton
|
||||
}
|
||||
|
||||
public enum SceneKey
|
||||
{
|
||||
None = 0,
|
||||
MainMenuScene,
|
||||
UIScene,
|
||||
OpeningCinematicScene,
|
||||
GameScene
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public enum LevelKey
|
||||
{
|
||||
None = 0,
|
||||
ChapterOneVillageEdge,
|
||||
ChapterOneVillage,
|
||||
ChapterOneVillageFurther,
|
||||
ChapterOnePumphouse,
|
||||
ChapterOneFountain,
|
||||
ChapterOneWorkshop,
|
||||
ChapterOnePumphousePipes,
|
||||
ChapterOneWorkshopDrawer,
|
||||
ChapterOneWorkshopUpstairs,
|
||||
ChapterOneWorkshopCandlePuzzle,
|
||||
ChapterOneWorkshopJewelleryBox,
|
||||
ChapterOneWorkshopJewelleryBoxOpen,
|
||||
ChapterOneWorkshopSafe,
|
||||
ChapterOneWorkshopBag,
|
||||
ChapterOneWorkshopDownstairs,
|
||||
ChapterOnePumphouseTable,
|
||||
ChapterOneWorkshopBookcase,
|
||||
ChapterOneFountainPuzzle,
|
||||
ChapterOneStreetGateSign,
|
||||
ChapterOneStreetCart,
|
||||
}
|
||||
|
||||
public enum AssetItemKey
|
||||
{
|
||||
None = 0,
|
||||
ChapterOneBoxPuzzlePiece1,
|
||||
ChapterOneBoxPuzzlePiece2,
|
||||
ChapterOneBoxPuzzlePiece3,
|
||||
ChapterOneBoxPuzzlePiece4,
|
||||
ChapterOneBoxPuzzlePiece5,
|
||||
ChapterOneBoxPuzzlePiece6,
|
||||
ChapterOneBoxPuzzlePiece7,
|
||||
ChapterOneBoxPuzzlePiece8,
|
||||
ChapterOneWorkshopWornBook
|
||||
}
|
||||
|
||||
public static class AssetKeyIdentifiers
|
||||
{
|
||||
private const string UI_PREFIX = "UI:";
|
||||
private const string SCENE_PREFIX = "Scene:";
|
||||
private const string LEVEL_PREFIX = "Level:";
|
||||
private const string ITEM_PREFIX = "Item:";
|
||||
|
||||
public static string Get(UIKey key)
|
||||
{
|
||||
if (key == UIKey.None)
|
||||
return string.Empty;
|
||||
|
||||
return $"{UI_PREFIX}{key}";
|
||||
}
|
||||
|
||||
public static string Get(SceneKey key)
|
||||
{
|
||||
if (key == SceneKey.None)
|
||||
return string.Empty;
|
||||
|
||||
return $"{SCENE_PREFIX}{key}";
|
||||
}
|
||||
|
||||
public static string Get(LevelKey key)
|
||||
{
|
||||
if (key == LevelKey.None)
|
||||
return string.Empty;
|
||||
|
||||
return $"{LEVEL_PREFIX}{key}";
|
||||
}
|
||||
|
||||
public static string Get(AssetItemKey key)
|
||||
{
|
||||
if (key == AssetItemKey.None)
|
||||
return string.Empty;
|
||||
|
||||
return $"{ITEM_PREFIX}{key}";
|
||||
}
|
||||
|
||||
public static bool TryGet(UIKey key, out string value)
|
||||
{
|
||||
value = Get(key);
|
||||
return !string.IsNullOrEmpty(value);
|
||||
}
|
||||
|
||||
public static bool TryGet(SceneKey key, out string value)
|
||||
{
|
||||
value = Get(key);
|
||||
return !string.IsNullOrEmpty(value);
|
||||
}
|
||||
|
||||
public static bool TryGet(LevelKey key, out string value)
|
||||
{
|
||||
value = Get(key);
|
||||
return !string.IsNullOrEmpty(value);
|
||||
}
|
||||
|
||||
public static bool TryGet(AssetItemKey key, out string value)
|
||||
{
|
||||
value = Get(key);
|
||||
return !string.IsNullOrEmpty(value);
|
||||
}
|
||||
|
||||
public static IEnumerable<string> GetAllKeys()
|
||||
{
|
||||
foreach (UIKey key in Enum.GetValues(typeof(UIKey)))
|
||||
if (key != UIKey.None)
|
||||
yield return Get(key);
|
||||
|
||||
foreach (SceneKey key in Enum.GetValues(typeof(SceneKey)))
|
||||
if (key != SceneKey.None)
|
||||
yield return Get(key);
|
||||
|
||||
foreach (LevelKey key in Enum.GetValues(typeof(LevelKey)))
|
||||
if (key != LevelKey.None)
|
||||
yield return Get(key);
|
||||
|
||||
foreach (AssetItemKey key in Enum.GetValues(typeof(AssetItemKey)))
|
||||
if (key != AssetItemKey.None)
|
||||
yield return Get(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70c2ada094a34e04b4f5d7d1cc2c5327
|
||||
timeCreated: 1769711192
|
||||
112
Assets/Scripts/Data/Identifiers/AudioNameIdentifiers.cs
Normal file
112
Assets/Scripts/Data/Identifiers/AudioNameIdentifiers.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum MusicKey
|
||||
{
|
||||
None = 0,
|
||||
}
|
||||
|
||||
public enum SFXKey
|
||||
{
|
||||
None = 0,
|
||||
WorkshopSafeUnlocked,
|
||||
WorkshopPuzzleBoxUnlocked,
|
||||
DoorCreek,
|
||||
ItemCollected,
|
||||
GateOpening,
|
||||
PuzzleIncorrect,
|
||||
ResetPuzzle,
|
||||
SharpenKnife
|
||||
}
|
||||
|
||||
public enum UIFXKey
|
||||
{
|
||||
None = 0,
|
||||
AchievementUnlocked,
|
||||
CodexEntryUnlocked
|
||||
}
|
||||
|
||||
public enum AmbienceKey
|
||||
{
|
||||
None = 0,
|
||||
}
|
||||
|
||||
public enum VoiceKey
|
||||
{
|
||||
None = 0,
|
||||
}
|
||||
|
||||
public static class AudioNameIdentifiers
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<MusicKey, string> Music =
|
||||
new ReadOnlyDictionary<MusicKey, string>(
|
||||
new Dictionary<MusicKey, string>
|
||||
{
|
||||
// Add when you have music
|
||||
// { MusicKey.SomeTrack, "MUSIC_SomeTrack" }
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<SFXKey, string> SFX =
|
||||
new ReadOnlyDictionary<SFXKey, string>(
|
||||
new Dictionary<SFXKey, string>
|
||||
{
|
||||
{ SFXKey.WorkshopSafeUnlocked, "SFX_WorkshopSafeUnlocked" },
|
||||
{ SFXKey.WorkshopPuzzleBoxUnlocked, "SFX_WorkshopPuzzleBoxUnlocked" },
|
||||
{ SFXKey.DoorCreek, "SFX_DoorCreek" },
|
||||
{ SFXKey.ItemCollected, "SFX_ItemCollected" },
|
||||
{ SFXKey.GateOpening, "SFX_GateOpening" },
|
||||
{ SFXKey.PuzzleIncorrect, "SFX_PuzzleIncorrect" },
|
||||
{ SFXKey.ResetPuzzle, "SFX_ResetPuzzle" },
|
||||
{ SFXKey.SharpenKnife, "SFX_SharpenKnife"}
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<UIFXKey, string> UIFX =
|
||||
new ReadOnlyDictionary<UIFXKey, string>(
|
||||
new Dictionary<UIFXKey, string>
|
||||
{
|
||||
{ UIFXKey.AchievementUnlocked, "UIFX_AchievementUnlocked" },
|
||||
{ UIFXKey.CodexEntryUnlocked, "UIFX_CodexEntryUnlocked" },
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<AmbienceKey, string> Ambience =
|
||||
new ReadOnlyDictionary<AmbienceKey, string>(
|
||||
new Dictionary<AmbienceKey, string>
|
||||
{
|
||||
// Add ambience mappings here
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<VoiceKey, string> Voice =
|
||||
new ReadOnlyDictionary<VoiceKey, string>(
|
||||
new Dictionary<VoiceKey, string>
|
||||
{
|
||||
// Add voice mappings here
|
||||
});
|
||||
|
||||
public static string Get(MusicKey key)
|
||||
{
|
||||
return Music.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(SFXKey key)
|
||||
{
|
||||
return SFX.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(UIFXKey key)
|
||||
{
|
||||
return UIFX.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(AmbienceKey key)
|
||||
{
|
||||
return Ambience.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(VoiceKey key)
|
||||
{
|
||||
return Voice.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07b91c112560408d842204fefd8f68db
|
||||
timeCreated: 1769802314
|
||||
22
Assets/Scripts/Data/Identifiers/AudioParameters.cs
Normal file
22
Assets/Scripts/Data/Identifiers/AudioParameters.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public static class AudioMixerParameters
|
||||
{
|
||||
public const string MASTER_VOLUME = "Master_Volume";
|
||||
public const string MUSIC_VOLUME = "Music_Volume";
|
||||
public const string SFX_VOLUME = "SFX_Volume";
|
||||
public const string AMBIENCE_VOLUME = "Ambience_Volume";
|
||||
public const string VOICE_VOLUME = "Voice_Volume";
|
||||
public const string UI_VOLUME = "UI_Volume";
|
||||
}
|
||||
|
||||
public static class AudioMixerGroups
|
||||
{
|
||||
public const string MASTER_GROUP = "Master";
|
||||
public const string MUSIC_GROUP = "Music";
|
||||
public const string SFX_GROUP = "SFX";
|
||||
public const string AMBIENCE_GROUP = "Ambience";
|
||||
public const string VOICE_GROUP = "Voice";
|
||||
public const string UI_GROUP = "UI";
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/AudioParameters.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/AudioParameters.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad39fe6d08874fe69d0acf0a6e8a195e
|
||||
timeCreated: 1769802894
|
||||
72
Assets/Scripts/Data/Identifiers/CodexEntryIDs.cs
Normal file
72
Assets/Scripts/Data/Identifiers/CodexEntryIDs.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum BookEntryID
|
||||
{
|
||||
None = 0,
|
||||
WorkshopDiary = 1
|
||||
}
|
||||
|
||||
public enum ClueEntryID
|
||||
{
|
||||
None = 0,
|
||||
WorkshopBookshelfClue = 1,
|
||||
WorkshopRainbowClue = 2,
|
||||
PumphouseScratchedTable = 3
|
||||
}
|
||||
|
||||
public enum PhotoEntryID
|
||||
{
|
||||
None = 0,
|
||||
WorkshopFadedPhoto = 1
|
||||
}
|
||||
|
||||
public enum LocationEntryID
|
||||
{
|
||||
None = 0,
|
||||
Village = 1,
|
||||
Workshop = 2
|
||||
}
|
||||
|
||||
public static class CodexEntryIDs
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<BookEntryID, string> Books =
|
||||
new ReadOnlyDictionary<BookEntryID, string>(
|
||||
new Dictionary<BookEntryID, string>
|
||||
{
|
||||
{ BookEntryID.WorkshopDiary, "BOOK_WorkshopDiary" }
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<ClueEntryID, string> Clues =
|
||||
new ReadOnlyDictionary<ClueEntryID, string>(
|
||||
new Dictionary<ClueEntryID, string>
|
||||
{
|
||||
{ ClueEntryID.WorkshopBookshelfClue, "CLUE_WorkshopBookshelf" },
|
||||
{ ClueEntryID.WorkshopRainbowClue , "CLUE_WorkshopRainbow" }
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<PhotoEntryID, string> Photos =
|
||||
new ReadOnlyDictionary<PhotoEntryID, string>(
|
||||
new Dictionary<PhotoEntryID, string>
|
||||
{
|
||||
{ PhotoEntryID.WorkshopFadedPhoto, "PHOTO_WorkshopFadedPhoto" }
|
||||
});
|
||||
|
||||
public static string Get(BookEntryID id)
|
||||
{
|
||||
return Books.TryGetValue(id, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(ClueEntryID id)
|
||||
{
|
||||
return Clues.TryGetValue(id, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(PhotoEntryID id)
|
||||
{
|
||||
return Photos.TryGetValue(id, out var value) ? value : string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/CodexEntryIDs.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/CodexEntryIDs.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0acfa8405a384e76926ac6fd1cdf3542
|
||||
timeCreated: 1773682133
|
||||
10
Assets/Scripts/Data/Identifiers/CodexType.cs
Normal file
10
Assets/Scripts/Data/Identifiers/CodexType.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum CodexType
|
||||
{
|
||||
None = 0,
|
||||
BookEntry = 1,
|
||||
PuzzleClue = 2,
|
||||
Photo = 3
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/CodexType.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/CodexType.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1f418d7b7d864488b8fde53b789dc51c
|
||||
timeCreated: 1773834385
|
||||
136
Assets/Scripts/Data/Identifiers/InteractEventIDs.cs
Normal file
136
Assets/Scripts/Data/Identifiers/InteractEventIDs.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum ItemInteractKey
|
||||
{
|
||||
None = 0,
|
||||
EmptyHands = 1,
|
||||
CantUseItem = 2,
|
||||
RustyKnife = 3,
|
||||
SomethingMissing = 4,
|
||||
PliersSnapped = 5,
|
||||
CarefulInteract = 6,
|
||||
RagFallsApart = 7,
|
||||
LooksImportant = 8,
|
||||
WrongTool = 9,
|
||||
}
|
||||
|
||||
public enum LevelInteractKey
|
||||
{
|
||||
None = 0,
|
||||
WaterValve = 1,
|
||||
ClearVinesOutside = 2,
|
||||
PumphouseChain = 3,
|
||||
CutVines = 4,
|
||||
WorkshopLockedSafe = 5,
|
||||
UnlockedPumphouse = 6,
|
||||
}
|
||||
|
||||
public enum EnvironmentInteractKey
|
||||
{
|
||||
None = 0,
|
||||
BrokenLantern = 1,
|
||||
WorkshopWriting = 2,
|
||||
UseGrindstone = 3,
|
||||
WorkshopBookDisintegrating = 4,
|
||||
UsingKnife = 5,
|
||||
AlreadySharpened = 6,
|
||||
Locked = 7,
|
||||
CantGoThere = 8,
|
||||
DirtyWindow = 9,
|
||||
WorkshopBagNoItems = 10,
|
||||
FindCandle = 11,
|
||||
DoesntBelong = 12,
|
||||
SharpGlass = 13,
|
||||
FreshAndCoolWater = 14,
|
||||
WorkshopBooks = 15,
|
||||
PumpTurnOn = 16,
|
||||
}
|
||||
|
||||
public enum UIInteractKey
|
||||
{
|
||||
None = 0,
|
||||
EmptySlot = 1,
|
||||
}
|
||||
|
||||
public static class InteractEventIDs
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<ItemInteractKey, string> ItemInteractions =
|
||||
new ReadOnlyDictionary<ItemInteractKey, string>(
|
||||
new Dictionary<ItemInteractKey, string>
|
||||
{
|
||||
{ ItemInteractKey.EmptyHands, "I need to put my tools away." },
|
||||
{ ItemInteractKey.CantUseItem, "That won't work here." },
|
||||
{ ItemInteractKey.RustyKnife, "It's too blunt to be useful." },
|
||||
{ ItemInteractKey.SomethingMissing, "Something's missing." },
|
||||
{ ItemInteractKey.PliersSnapped, "The pliers snapped. They're no use now." },
|
||||
{ ItemInteractKey.CarefulInteract, "I need to be careful with this." },
|
||||
{ ItemInteractKey.RagFallsApart, "The rag fell apart." },
|
||||
{ ItemInteractKey.LooksImportant, "That looks important." },
|
||||
{ ItemInteractKey.WrongTool, "I need the proper tool for this."}
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<LevelInteractKey, string> LevelInteractions =
|
||||
new ReadOnlyDictionary<LevelInteractKey, string>(
|
||||
new Dictionary<LevelInteractKey, string>
|
||||
{
|
||||
{ LevelInteractKey.WaterValve, "I've already turned the water on." },
|
||||
{ LevelInteractKey.ClearVinesOutside, "I need to clear the vines outside first." },
|
||||
{ LevelInteractKey.PumphouseChain, "There must be a key around here somewhere." },
|
||||
{ LevelInteractKey.CutVines, "I need something to cut through these." },
|
||||
{ LevelInteractKey.WorkshopLockedSafe, "It's locked tight." },
|
||||
{ LevelInteractKey.UnlockedPumphouse, "You used the Pumphouse Key."},
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<EnvironmentInteractKey, string> EnvironmentInteractions =
|
||||
new ReadOnlyDictionary<EnvironmentInteractKey, string>(
|
||||
new Dictionary<EnvironmentInteractKey, string>
|
||||
{
|
||||
{ EnvironmentInteractKey.BrokenLantern, "It's too broken to use." },
|
||||
{ EnvironmentInteractKey.WorkshopWriting, "It could be worse... it could be blood." },
|
||||
{ EnvironmentInteractKey.UseGrindstone, "I could sharpen something on this." },
|
||||
{ EnvironmentInteractKey.WorkshopBookDisintegrating, "It fell apart in my hands." },
|
||||
{ EnvironmentInteractKey.UsingKnife, "I should be careful cutting these." },
|
||||
{ EnvironmentInteractKey.AlreadySharpened, "That should be sharp enough now." },
|
||||
{ EnvironmentInteractKey.Locked, "It's locked." },
|
||||
{ EnvironmentInteractKey.CantGoThere, "I can't go that way." },
|
||||
{ EnvironmentInteractKey.DirtyWindow, "I can't see through all this grime." },
|
||||
{ EnvironmentInteractKey.WorkshopBagNoItems, "There's nothing left inside." },
|
||||
{ EnvironmentInteractKey.FindCandle, "I should look for the candle." },
|
||||
{ EnvironmentInteractKey.DoesntBelong, "That doesn't belong here." },
|
||||
{ EnvironmentInteractKey.SharpGlass, "Ow... that's sharp." },
|
||||
{ EnvironmentInteractKey.FreshAndCoolWater, "The water feels cool and refreshing." },
|
||||
{ EnvironmentInteractKey.WorkshopBooks, "The books are ancient and crumbling." },
|
||||
{ EnvironmentInteractKey.PumpTurnOn, "The water pumps splutter into life."}
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<UIInteractKey, string> UIInteractions =
|
||||
new ReadOnlyDictionary<UIInteractKey, string>(
|
||||
new Dictionary<UIInteractKey, string>
|
||||
{
|
||||
{ UIInteractKey.EmptySlot, "Empty slot." },
|
||||
});
|
||||
|
||||
public static string Get(ItemInteractKey key)
|
||||
{
|
||||
return ItemInteractions.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(LevelInteractKey key)
|
||||
{
|
||||
return LevelInteractions.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(EnvironmentInteractKey key)
|
||||
{
|
||||
return EnvironmentInteractions.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(UIInteractKey key)
|
||||
{
|
||||
return UIInteractions.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/InteractEventIDs.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/InteractEventIDs.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50e79aae8ef3433e835ccf3cdb6cf186
|
||||
timeCreated: 1773862120
|
||||
158
Assets/Scripts/Data/Identifiers/ItemIDs.cs
Normal file
158
Assets/Scripts/Data/Identifiers/ItemIDs.cs
Normal file
@@ -0,0 +1,158 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum ItemKey
|
||||
{
|
||||
None = 0,
|
||||
RustedKnife = 1,
|
||||
SharpenedKnife = 2,
|
||||
EmeraldAmulet = 3,
|
||||
DustyMirror = 4,
|
||||
SmallRag = 5,
|
||||
GreenCandle = 6,
|
||||
IndigoCandle = 7,
|
||||
DirtyMagnifyingGlass = 8,
|
||||
PumphouseKey = 9,
|
||||
RedCandle = 10,
|
||||
OrangeCandle = 11,
|
||||
YellowCandle = 12,
|
||||
BlueCandle = 13,
|
||||
VioletCandle = 14,
|
||||
Pliers = 15,
|
||||
Emerald = 16,
|
||||
Sapphire = 17,
|
||||
Ruby = 18,
|
||||
RubyRing = 19,
|
||||
SilverCoin = 20,
|
||||
GoldCoin = 21,
|
||||
GrindstoneAxlePin = 22,
|
||||
Diamond = 23,
|
||||
DiamondTiara = 24,
|
||||
DustySapphire = 25,
|
||||
}
|
||||
|
||||
public enum EnvironmentKey
|
||||
{
|
||||
None = 0,
|
||||
ChainLock = 1,
|
||||
FountainVines = 2,
|
||||
GrindingStone = 3,
|
||||
WorkshopWindow = 4,
|
||||
WorkshopDamagedBook = 5,
|
||||
WorkshopBookSlot = 6,
|
||||
WorkshopDiary = 7,
|
||||
PumphouseWaterValve = 8,
|
||||
WorkshopFadedPhoto = 9,
|
||||
WorkshopDownstairsLight = 10,
|
||||
WorkshopBrokenLantern = 11,
|
||||
WorkshopWriting = 12,
|
||||
StreetVines = 13,
|
||||
}
|
||||
|
||||
public enum PuzzleSlotKey
|
||||
{
|
||||
None = 0,
|
||||
WorkshopCandleSlot = 1,
|
||||
WorkshopPuzzleBoxSlot = 2,
|
||||
FountainGemSlot = 3,
|
||||
|
||||
}
|
||||
|
||||
public static class ItemIDs
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<PuzzleSlotKey, string> PuzzleSlots =
|
||||
new ReadOnlyDictionary<PuzzleSlotKey, string>(
|
||||
new Dictionary<PuzzleSlotKey, string>
|
||||
{
|
||||
{ PuzzleSlotKey.WorkshopCandleSlot, "PUZ_WorkshopCandleSlot" },
|
||||
{ PuzzleSlotKey.WorkshopPuzzleBoxSlot, "PUZ_WorkshopPuzzleBoxSlot" }
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<EnvironmentKey, string> Environment =
|
||||
new ReadOnlyDictionary<EnvironmentKey, string>(
|
||||
new Dictionary<EnvironmentKey, string>
|
||||
{
|
||||
{ EnvironmentKey.ChainLock, "ENV_ChainLock" },
|
||||
{ EnvironmentKey.FountainVines, "ENV_FountainVines" },
|
||||
{ EnvironmentKey.GrindingStone, "ENV_GrindingStone" },
|
||||
{ EnvironmentKey.WorkshopWindow, "ENV_WorkshopWindow" },
|
||||
{ EnvironmentKey.WorkshopDamagedBook, "ENV_WorkshopDamagedBook" },
|
||||
{ EnvironmentKey.WorkshopBookSlot, "ENV_WorkshopBookSlot" },
|
||||
{ EnvironmentKey.WorkshopDiary, "ENV_WorkshopDiary" },
|
||||
{ EnvironmentKey.PumphouseWaterValve, "ENV_PumphouseWaterValve" },
|
||||
{ EnvironmentKey.WorkshopFadedPhoto, "ENV_WorkshopFadedPhoto" },
|
||||
{ EnvironmentKey.WorkshopDownstairsLight, "ENV_WorkshopDownstairsLight" },
|
||||
{ EnvironmentKey.WorkshopBrokenLantern, "ENV_WorkshopBrokenLantern" },
|
||||
{ EnvironmentKey.WorkshopWriting, "ENV_WorkshopWriting" },
|
||||
{ EnvironmentKey.StreetVines, "ENV_StreetVines" },
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyDictionary<ItemKey, string> Pickups =
|
||||
new ReadOnlyDictionary<ItemKey, string>(
|
||||
new Dictionary<ItemKey, string>
|
||||
{
|
||||
{ ItemKey.RustedKnife, "00_RustedKnife" },
|
||||
{ ItemKey.SharpenedKnife, "01_SharpenedKnife" },
|
||||
{ ItemKey.EmeraldAmulet, "02_EmeraldAmulet" },
|
||||
{ ItemKey.DustyMirror, "03_DustyMirror" },
|
||||
{ ItemKey.SmallRag, "04_SmallRag" },
|
||||
{ ItemKey.GreenCandle, "05_GreenCandle" },
|
||||
{ ItemKey.IndigoCandle, "06_IndigoCandle" },
|
||||
{ ItemKey.DirtyMagnifyingGlass, "07_DirtyMagnifyingGlass" },
|
||||
{ ItemKey.PumphouseKey, "08_PumphouseKey" },
|
||||
{ ItemKey.RedCandle, "09_RedCandle" },
|
||||
{ ItemKey.OrangeCandle, "10_OrangeCandle" },
|
||||
{ ItemKey.YellowCandle, "11_YellowCandle" },
|
||||
{ ItemKey.BlueCandle, "12_BlueCandle" },
|
||||
{ ItemKey.VioletCandle, "13_VioletCandle" },
|
||||
{ ItemKey.Pliers, "14_Pliers" },
|
||||
{ ItemKey.Emerald, "15_Emerald" },
|
||||
{ ItemKey.Sapphire, "16_Sapphire" },
|
||||
{ ItemKey.Ruby, "17_Ruby" },
|
||||
{ ItemKey.RubyRing, "18_RubyRing" },
|
||||
{ ItemKey.SilverCoin, "19_SilverCoin" },
|
||||
{ ItemKey.GoldCoin, "20_GoldCoin" },
|
||||
{ ItemKey.GrindstoneAxlePin, "21_GrindstoneAxlePin" },
|
||||
{ ItemKey.Diamond, "22_Diamond" },
|
||||
{ ItemKey.DiamondTiara, "23_DiamondTiara" },
|
||||
{ ItemKey.DustySapphire, "24_DustySapphire" },
|
||||
});
|
||||
|
||||
public static string Get(ItemKey key)
|
||||
{
|
||||
return Pickups.TryGetValue(key, out var id) ? id : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(EnvironmentKey key)
|
||||
{
|
||||
return Environment.TryGetValue(key, out var id) ? id : string.Empty;
|
||||
}
|
||||
|
||||
public static string Get(PuzzleSlotKey key)
|
||||
{
|
||||
return PuzzleSlots.TryGetValue(key, out var id) ? id : string.Empty;
|
||||
}
|
||||
|
||||
public static bool TryGet(ItemKey key, out string id)
|
||||
{
|
||||
return Pickups.TryGetValue(key, out id);
|
||||
}
|
||||
|
||||
public static bool TryGet(EnvironmentKey key, out string id)
|
||||
{
|
||||
return Environment.TryGetValue(key, out id);
|
||||
}
|
||||
|
||||
public static bool TryGet(PuzzleSlotKey key, out string id)
|
||||
{
|
||||
return PuzzleSlots.TryGetValue(key, out id);
|
||||
}
|
||||
|
||||
public static IEnumerable<string> GetAllItemIDs()
|
||||
{
|
||||
return Pickups.Values;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/ItemIDs.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/ItemIDs.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c40ae7704af14f6e99941aba25344bb6
|
||||
timeCreated: 1769700576
|
||||
9
Assets/Scripts/Data/Identifiers/Location.cs
Normal file
9
Assets/Scripts/Data/Identifiers/Location.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum Location
|
||||
{
|
||||
None = 0,
|
||||
Village = 1,
|
||||
Workshop = 2
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/Location.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/Location.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1954efce3788423dbb70477d39ae226c
|
||||
timeCreated: 1773685340
|
||||
27
Assets/Scripts/Data/Identifiers/PuzzleIdentifiers.cs
Normal file
27
Assets/Scripts/Data/Identifiers/PuzzleIdentifiers.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum PuzzleKey
|
||||
{
|
||||
WorkshopCandlePuzzle,
|
||||
WorkshopPuzzleBox,
|
||||
FountainGemPuzzle,
|
||||
}
|
||||
|
||||
public static class PuzzleIdentifiers
|
||||
{
|
||||
public static readonly Dictionary<PuzzleKey, string> AllPuzzles = new()
|
||||
{
|
||||
{ PuzzleKey.WorkshopCandlePuzzle, "CH1:Puzzle:WorkshopCandles" },
|
||||
{ PuzzleKey.WorkshopPuzzleBox, "CH1:Puzzle:WorkshopBox" },
|
||||
{ PuzzleKey.FountainGemPuzzle , "CH1:Puzzle:FountainGems" },
|
||||
};
|
||||
|
||||
// Optional helper to get all puzzle IDs
|
||||
public static IEnumerable<string> GetAllPuzzleIDs()
|
||||
{
|
||||
return AllPuzzles.Values;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 06b4a47cafea4e5ea0f02896de78ac30
|
||||
timeCreated: 1769876815
|
||||
34
Assets/Scripts/Data/Identifiers/SubtitleIdentifiers.cs
Normal file
34
Assets/Scripts/Data/Identifiers/SubtitleIdentifiers.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum SubtitleKey
|
||||
{
|
||||
None = 0,
|
||||
// Example:
|
||||
// IntroLine = 1,
|
||||
// TutorialTip = 2
|
||||
}
|
||||
|
||||
public static class SubtitleIdentifiers
|
||||
{
|
||||
public static readonly IReadOnlyDictionary<SubtitleKey, string> Subtitles =
|
||||
new ReadOnlyDictionary<SubtitleKey, string>(
|
||||
new Dictionary<SubtitleKey, string>
|
||||
{
|
||||
// { SubtitleKey.IntroLine, "SUB_IntroLine" },
|
||||
// { SubtitleKey.TutorialTip, "SUB_TutorialTip" }
|
||||
});
|
||||
|
||||
public static string Get(SubtitleKey key)
|
||||
{
|
||||
return Subtitles.TryGetValue(key, out var value) ? value : string.Empty;
|
||||
}
|
||||
|
||||
public static IEnumerable<string> GetAll()
|
||||
{
|
||||
return Subtitles.Values;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: edc4b3fdb3c844a280d7ffeb90c8395f
|
||||
timeCreated: 1769802348
|
||||
8
Assets/Scripts/Data/Identifiers/ToolID.cs
Normal file
8
Assets/Scripts/Data/Identifiers/ToolID.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum ToolID
|
||||
{
|
||||
None = 0,
|
||||
Knife = 1
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/ToolID.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/ToolID.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c555346b81049da9f0203c0143823c7
|
||||
timeCreated: 1773955001
|
||||
11
Assets/Scripts/Data/Identifiers/TrackType.cs
Normal file
11
Assets/Scripts/Data/Identifiers/TrackType.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum TrackType
|
||||
{
|
||||
Music = 0,
|
||||
Ambience = 1,
|
||||
Sfx = 2,
|
||||
Voice = 3,
|
||||
UIFX = 4
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/TrackType.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/TrackType.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4eebcb38d8494fd3874dff753a742b82
|
||||
timeCreated: 1773850029
|
||||
85
Assets/Scripts/Data/Identifiers/TutorialPopupID.cs
Normal file
85
Assets/Scripts/Data/Identifiers/TutorialPopupID.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BriarQueen.Data.Identifiers
|
||||
{
|
||||
public enum TutorialPopupID
|
||||
{
|
||||
ReturnToPreviousLevel,
|
||||
UsingItemsTogether,
|
||||
HideHUD,
|
||||
ExitItems,
|
||||
MultipleUseItems,
|
||||
DarkRooms,
|
||||
Codex,
|
||||
HiddenItems,
|
||||
ResetPuzzles,
|
||||
Tools,
|
||||
ItemsAway,
|
||||
ItemCycling,
|
||||
ToolCycling,
|
||||
}
|
||||
|
||||
public static class TutorialPopupTexts
|
||||
{
|
||||
public static readonly Dictionary<TutorialPopupID, string> AllPopups = new()
|
||||
{
|
||||
{
|
||||
TutorialPopupID.ReturnToPreviousLevel,
|
||||
"Click the bottom corners to go back the way you came."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.UsingItemsTogether,
|
||||
"Select an item, then click another to use it on that object."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.HideHUD,
|
||||
"Press 'H' to hide the HUD and see the world more clearly."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.ExitItems,
|
||||
"Right-click to exit the current interaction."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.MultipleUseItems,
|
||||
"Some items can be used more than once, but will eventually wear out."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.DarkRooms,
|
||||
"Dark rooms hide what matters. Look carefully—light reveals what they conceal."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.Codex,
|
||||
"New discoveries are added to your codex. Press 'C' to review what you've gathered."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.HiddenItems,
|
||||
"Some things are hidden on purpose. Search carefully to uncover them."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.ResetPuzzles,
|
||||
"Some puzzles can be reset if you make a mistake."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.Tools,
|
||||
"You'll find tools as you explore. Each has its own purpose—try them on different objects. Press 'Y' to view your tools."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.ItemsAway,
|
||||
"Right-click to put away any items."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.ItemCycling,
|
||||
"Press '[' or ']' to cycle through your backpack."
|
||||
},
|
||||
{
|
||||
TutorialPopupID.ToolCycling,
|
||||
"Press 'Q' or 'E' to cycle through your tools."
|
||||
}
|
||||
};
|
||||
|
||||
public static IEnumerable<string> GetAllTexts()
|
||||
{
|
||||
return AllPopups.Values;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Data/Identifiers/TutorialPopupID.cs.meta
Normal file
3
Assets/Scripts/Data/Identifiers/TutorialPopupID.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96daeae63db0442bb8449e31e5867713
|
||||
timeCreated: 1772823170
|
||||
Reference in New Issue
Block a user