BITKit/Packages/Runtime~/Unity/Extensions/Steamwork/SteamService.cs

52 lines
1.5 KiB
C#
Raw Normal View History

2023-06-29 14:57:11 +08:00
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<SteamService>("已初始化Steam");
}
catch (Exception e)
{
BIT4Log.LogException(e);
BIT4Log.Log<SteamService>("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;
}
}