using System.Collections.Generic; using System.Linq; using Steamworks; using UnityEngine; namespace HeathenEngineering.SteamApi.GameServices { public class SteamworksDLCManager : MonoBehaviour { public List DLC = new List(); private Callback m_DlcInstalled; private void Start() { m_DlcInstalled = Callback.Create(HandleDlcInstalled); UpdateAll(); } private void HandleDlcInstalled(DlcInstalled_t param) { SteamDLCData steamDLCData = DLC.FirstOrDefault((SteamDLCData p) => p.AppId == param.m_nAppID); if (steamDLCData != null) { steamDLCData.UpdateStatus(); } } public void UpdateAll() { foreach (SteamDLCData item in DLC) { item.UpdateStatus(); } } public SteamDLCData GetDLC(AppId_t AppId) { return DLC.FirstOrDefault((SteamDLCData p) => p.AppId == AppId); } public SteamDLCData GetDLC(string name) { return DLC.FirstOrDefault((SteamDLCData p) => p.name == name); } } }