封装暂时性修改

This commit is contained in:
YiHan0621
2025-10-09 16:51:02 +08:00
parent 8a884db968
commit 6c98d9a449
5 changed files with 90 additions and 209 deletions

View File

@@ -12,9 +12,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 70dc9fcaed7d5274a8381edb4e206a92, type: 3} m_Script: {fileID: 11500000, guid: 70dc9fcaed7d5274a8381edb4e206a92, type: 3}
m_Name: NetworkData m_Name: NetworkData
m_EditorClassIdentifier: m_EditorClassIdentifier:
url: 192.168.1.99 url: 124.222.214.188
port: 8777 port: 8777
api_url: 192.168.1.111:8080 api_url: 124.222.214.188:8080
api_https: 0 api_https: 0
solo_type: 0 solo_type: 0
auth_type: 10 auth_type: 10

View File

@@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: ResourceDownloaderConfig m_Name: ResourceDownloaderConfig
m_EditorClassIdentifier: m_EditorClassIdentifier:
cdnUrl: https://cardcdn.ambigrat.com cdnUrl: https://cardcdn.ambigrat.com
serverUrl: http://192.168.1.111:8080 serverUrl: http://124.222.214.188:8080
resourcesEndpoint: /test/{version}.zip resourcesEndpoint: /test/{version}.zip
versionEndpoint: /version versionEndpoint: /version
validateVersionedUrl: 1 validateVersionedUrl: 1

View File

@@ -44,6 +44,8 @@ namespace TcgEngine.UI
private void RefreshPanel() private void RefreshPanel()
{ {
// dsdd
int ss = 0;
} }
public void OpenPanel(DeckLine line) public void OpenPanel(DeckLine line)

View File

@@ -1,216 +1,95 @@
// The SteamManager is designed to work with Steamworks.NET
// This file is released into the public domain.
// Where that dedication is not recognized you are granted a perpetual,
// irrevocable license to copy and modify this file as you see fit.
//
// Version: 1.0.12
#if !(UNITY_STANDALONE_WIN || UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX || STEAMWORKS_WIN || STEAMWORKS_LIN_OSX)
#define STEAMWORKS_ENABLED
#endif
using UnityEngine; using UnityEngine;
#if !STEAMWORKS_ENABLED
using System.Collections;
using Steamworks;
#endif
namespace TcgEngine namespace TcgEngine
{ {
// [DisallowMultipleComponent]
// The SteamManager provides a base implementation of Steamworks.NET on which you can build upon. public class SteamManager : MonoBehaviour
// It handles the basics of starting up and shutting down the SteamAPI for use. {
// #if UNITY_STANDALONE_WIN || UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX
[DisallowMultipleComponent] private static SteamManager s_instance;
public class SteamManager : MonoBehaviour private bool m_bInitialized = false;
{
#if !STEAMWORKS_ENABLED
protected static bool s_EverInitialized = false;
protected static SteamManager s_instance; public static bool Initialized
{
get { return s_instance != null && s_instance.m_bInitialized; }
}
protected static SteamManager Instance void Awake()
{ {
get // 单例检查
{ if (s_instance != null)
if (s_instance == null) {
{ Destroy(gameObject);
return new GameObject("SteamManager").AddComponent<SteamManager>(); return;
} }
else
{
return s_instance;
}
}
}
protected bool m_bInitialized = false; s_instance = this;
DontDestroyOnLoad(gameObject);
public static bool Initialized try
{ {
get { return Instance.m_bInitialized; } #if STEAMWORKS_NET
} // 尝试加载 Steamworks.NET
if (Steamworks.SteamAPI.RestartAppIfNecessary(new Steamworks.AppId_t(480)))
{
Debug.LogWarning("[SteamManager] Steam 重启请求,退出当前实例。");
Application.Quit();
return;
}
protected SteamAPIWarningMessageHook_t m_SteamAPIWarningMessageHook; m_bInitialized = Steamworks.SteamAPI.Init();
[AOT.MonoPInvokeCallback(typeof(SteamAPIWarningMessageHook_t))] if (m_bInitialized)
protected static void SteamAPIDebugTextHook(int nSeverity, System.Text.StringBuilder pchDebugText) {
{ Debug.Log("[SteamManager] Steam 初始化成功。");
Debug.LogWarning(pchDebugText); }
} else
{
#if UNITY_2019_3_OR_NEWER Debug.LogWarning("[SteamManager] SteamAPI.Init() 失败,将以离线模式运行。");
// In case of disabled Domain Reload, reset static members before entering Play Mode. }
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
private static void InitOnPlayMode()
{
s_EverInitialized = false;
s_instance = null;
}
#endif
protected virtual void Awake()
{
// Only one instance of SteamManager at a time!
if (s_instance != null)
{
Destroy(gameObject);
return;
}
s_instance = this;
if (s_EverInitialized)
{
// This is almost always an error.
// The most common case where this happens is when SteamManager gets destroyed because of Application.Quit(),
// and then some Steamworks code in some other OnDestroy gets called afterwards, creating a new SteamManager.
// You should never call Steamworks functions in OnDestroy, always prefer OnDisable if possible.
throw new System.Exception("Tried to Initialize the SteamAPI twice in one session!");
}
// We want our SteamManager Instance to persist across scenes.
DontDestroyOnLoad(gameObject);
if (!Packsize.Test())
{
Debug.LogError(
"[Steamworks.NET] Packsize Test returned false, the wrong version of Steamworks.NET is being run in this platform.",
this);
}
if (!DllCheck.Test())
{
Debug.LogError(
"[Steamworks.NET] DllCheck Test returned false, One or more of the Steamworks binaries seems to be the wrong version.",
this);
}
try
{
// If Steam is not running or the game wasn't started through Steam, SteamAPI_RestartAppIfNecessary starts the
// Steam client and also launches this game again if the User owns it. This can act as a rudimentary form of DRM.
// Once you get a Steam AppID assigned by Valve, you need to replace AppId_t.Invalid with it and
// remove steam_appid.txt from the game depot. eg: "(AppId_t)480" or "new AppId_t(480)".
// See the Valve documentation for more information: https://partner.steamgames.com/doc/sdk/api#initialization_and_shutdown
if (SteamAPI.RestartAppIfNecessary(AppId_t.Invalid))
{
Application.Quit();
return;
}
}
catch (System.DllNotFoundException e)
{
// We catch this exception here, as it will be the first occurrence of it.
Debug.LogError(
"[Steamworks.NET] Could not load [lib]steam_api.dll/so/dylib. It's likely not in the correct location. Refer to the README for more details.\n" +
e, this);
Application.Quit();
return;
}
// Initializes the Steamworks API.
// If this returns false then this indicates one of the following conditions:
// [*] The Steam client isn't running. A running Steam client is required to provide implementations of the various Steamworks interfaces.
// [*] The Steam client couldn't determine the App ID of game. If you're running your application from the executable or debugger directly then you must have a [code-inline]steam_appid.txt[/code-inline] in your game directory next to the executable, with your app ID in it and nothing else. Steam will look for this file in the current working directory. If you are running your executable from a different directory you may need to relocate the [code-inline]steam_appid.txt[/code-inline] file.
// [*] Your application is not running under the same OS user context as the Steam client, such as a different user or administration access level.
// [*] Ensure that you own a license for the App ID on the currently active Steam account. Your game must show up in your Steam library.
// [*] Your App ID is not completely set up, i.e. in Release State: Unavailable, or it's missing default packages.
// Valve's documentation for this is located here:
// https://partner.steamgames.com/doc/sdk/api#initialization_and_shutdown
m_bInitialized = SteamAPI.Init();
if (!m_bInitialized)
{
Debug.LogError(
"[Steamworks.NET] SteamAPI_Init() failed. Refer to Valve's documentation or the comment above this line for more information.",
this);
return;
}
s_EverInitialized = true;
}
// This should only ever get called on first load and after an Assembly reload, You should never Disable the Steamworks Manager yourself.
protected virtual void OnEnable()
{
if (s_instance == null)
{
s_instance = this;
}
if (!m_bInitialized)
{
return;
}
if (m_SteamAPIWarningMessageHook == null)
{
// Set up our callback to receive warning messages from Steam.
// You must launch with "-debug_steamapi" in the launch args to receive warnings.
m_SteamAPIWarningMessageHook = new SteamAPIWarningMessageHook_t(SteamAPIDebugTextHook);
SteamClient.SetWarningMessageHook(m_SteamAPIWarningMessageHook);
}
}
// OnApplicationQuit gets called too early to shutdown the SteamAPI.
// Because the SteamManager should be persistent and never disabled or destroyed we can shutdown the SteamAPI here.
// Thus it is not recommended to perform any Steamworks work in other OnDestroy functions as the order of execution can not be garenteed upon Shutdown. Prefer OnDisable().
protected virtual void OnDestroy()
{
if (s_instance != this)
{
return;
}
s_instance = null;
if (!m_bInitialized)
{
return;
}
SteamAPI.Shutdown();
}
protected virtual void Update()
{
if (!m_bInitialized)
{
return;
}
// Run Steam client callbacks
SteamAPI.RunCallbacks();
}
#else #else
public static bool Initialized { // 没有定义 STEAMWORKS_NET 宏
get { Debug.Log("[SteamManager] 未启用 Steamworks.NET跳过初始化。");
return false; #endif
} }
} catch (System.DllNotFoundException e)
#endif // !STEAMWORKS_ENABLED {
} Debug.LogWarning("[SteamManager] 未找到 steam_api64.dll以离线模式运行。\n" + e.Message);
} m_bInitialized = false;
}
catch (System.Exception e)
{
Debug.LogError("[SteamManager] 初始化异常,将以离线模式运行。\n" + e);
m_bInitialized = false;
}
}
void Update()
{
#if STEAMWORKS_NET
if (m_bInitialized)
Steamworks.SteamAPI.RunCallbacks();
#endif
}
void OnDestroy()
{
if (s_instance != this)
return;
#if STEAMWORKS_NET
if (m_bInitialized)
{
Steamworks.SteamAPI.Shutdown();
Debug.Log("[SteamManager] Steam 已正常关闭。");
}
#endif
s_instance = null;
}
#else
// 非桌面平台例如WebGL/Android/iOS
public static bool Initialized => false;
#endif
}
}

View File

@@ -20,7 +20,7 @@ EditorBuildSettings:
- enabled: 1 - enabled: 1
path: Assets/TcgEngine/Scenes/Game/Game.unity path: Assets/TcgEngine/Scenes/Game/Game.unity
guid: be2ace95e45905b49ad984cce7ea70e5 guid: be2ace95e45905b49ad984cce7ea70e5
- enabled: 1 - enabled: 0
path: Assets/TcgEngine/Scenes/Server/Server.unity path: Assets/TcgEngine/Scenes/Server/Server.unity
guid: acefba10b24d5f14aa51f6451ec467bf guid: acefba10b24d5f14aa51f6451ec467bf
m_configObjects: {} m_configObjects: {}