52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
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;
|
||
}
|
||
}
|