using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using Steamworks; namespace BITKit.Steamwork { public class SteamService : MonoBehaviour,ISteamService { internal static SteamService Singleton; [Header(Constant.Header.Settings)] [SerializeField]private uint appId=480; //接口实现 public ulong SteamId => SteamClient.SteamId; public string Name => SteamClient.Name; public int Id => (int)SteamClient.SteamId.AccountId; private void Awake() { Singleton = this; } private void Start() { try { SteamClient.Init(appId); BIT4Log.Log("已初始化Steam"); } catch (Exception e) { BIT4Log.LogException(e); BIT4Log.Log("Steam初始化失败,请验证客户端是否运行"); } } private void OnDestroy() { SteamClient.Shutdown(); } } [Serializable] public class SteamServiceSingleton:ISteamService { private ISteamService _steamServiceImplementation=>SteamService.Singleton; public int Id => _steamServiceImplementation.Id; public ulong SteamId => _steamServiceImplementation.SteamId; public string Name => _steamServiceImplementation.Name; } }