First commit for private source control. Older commits available on Github.

This commit is contained in:
2026-03-26 12:52:52 +00:00
parent a04c602626
commit 2d449c4a17
2176 changed files with 408185 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b4956f4efd45455b907a6183ed3d06f1
timeCreated: 1773830079

View File

@@ -0,0 +1,18 @@
using BriarQueen.Data.Identifiers;
using UnityEngine;
namespace BriarQueen.Framework.Managers.Achievements.Data
{
[CreateAssetMenu(fileName = "New Achievement", menuName = "Briar Queen/Achievements/New Achievement")]
public class AchievementSo : ScriptableObject
{
[Header("Achievement Details")]
public AchievementID Achievement;
public string Name;
public string Description;
[Header("Steam Integration")]
public string SteamUniqueIdentifier;
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ef4d39885de444d9840717db9173c5b5
timeCreated: 1772721525

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9f220a47c48b444abc68a41e0aa5cf9f
timeCreated: 1772728857

View File

@@ -0,0 +1,69 @@
using System;
using System.Linq;
using BriarQueen.Framework.Coordinators.Events;
using BriarQueen.Framework.Events.Progression;
using BriarQueen.Framework.Registries;
using Steamworks;
using UnityEngine;
using VContainer;
namespace BriarQueen.Framework.Managers.Achievements.Steam
{
public class SteamManager : IDisposable, IManager
{
private const uint STEAM_APP_ID = 0;
private readonly AchievementRegistry _achievementRegistry;
private readonly EventCoordinator _eventCoordinator;
public bool Initialized { get; private set; }
[Inject]
public SteamManager(EventCoordinator eventCoordinator, AchievementRegistry achievementRegistry)
{
_eventCoordinator = eventCoordinator;
_achievementRegistry = achievementRegistry;
}
public void Dispose()
{
_eventCoordinator.Unsubscribe<UnlockAchievementEvent>(OnUnlockAchievement);
}
public void Initialize()
{
try
{
SteamClient.Init(STEAM_APP_ID);
Initialized = true;
}
catch (Exception e)
{
Debug.Log($"[Steam Manager] Steam Failed to Init {e.Message}");
return;
}
_eventCoordinator.Subscribe<UnlockAchievementEvent>(OnUnlockAchievement);
}
private void OnUnlockAchievement(UnlockAchievementEvent evt)
{
if (!_achievementRegistry.TryGetAchievement(evt.AchievementID, out var achievement))
return;
var steamAch =
SteamUserStats.Achievements.FirstOrDefault(x => x.Identifier == achievement.SteamUniqueIdentifier);
if (string.IsNullOrEmpty(steamAch.Identifier))
{
Debug.LogWarning($"Steam achievement '{evt.AchievementID}' not found in Steamworks.");
return;
}
if (steamAch.State) return;
steamAch.Trigger();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 91a1d462420f49cb8cb6428d41848983
timeCreated: 1772728857