定义 Game Core P1 生产化契约

This commit is contained in:
JSD\13999
2026-05-20 15:36:10 +08:00
parent f855c34bf9
commit ff3dc749f7
14 changed files with 179 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
using System.Collections.Generic;
namespace FlowScope.Config
{
public interface IConfigParser
{
string Format { get; }
IReadOnlyList<T> ParseRows<T>(
string fileName,
string text)
where T : class, IConfigRow;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0d22229e25964ea29b3c6d153507b1db
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,14 @@
using System.Threading;
using System.Threading.Tasks;
namespace FlowScope.Config
{
public interface IConfigSource
{
string Name { get; }
Task<string> LoadTextAsync(
string fileName,
CancellationToken cancellationToken);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 708db2a1c26743f3994b5d8beb1a03f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,18 @@
using System.Threading;
using System.Threading.Tasks;
namespace FlowScope.Resources
{
public interface IResourceBackend
{
string Name { get; }
Task<T> LoadAsync<T>(
string key,
CancellationToken cancellationToken)
where T : class;
void Release<T>(string key, T asset)
where T : class;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 76d9b18ff17949a987f26418e1f1c978
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,11 @@
namespace FlowScope.Save
{
public interface ISaveMigration
{
string Key { get; }
int FromVersion { get; }
int ToVersion { get; }
string Migrate(string json);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 689eab5eef8647009da3f56423bd0a3d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,13 @@
using System.Threading;
using System.Threading.Tasks;
namespace FlowScope.UI
{
public interface IUIPreloadService
{
Task PreloadAsync<TPanel>(CancellationToken cancellationToken);
bool IsPreloaded<TPanel>();
void Release<TPanel>();
void ReleaseAll();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 34f5e8174a844438842b8e839ba4bb64
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,19 @@
using System.Threading;
using System.Threading.Tasks;
namespace FlowScope.UI
{
public interface IUIScreenNavigator
{
Task<TPanel> PushAsync<TPanel, TViewModel>(
TViewModel viewModel,
CancellationToken cancellationToken)
where TPanel : UIPanelBase<TViewModel>;
bool CanGoBack { get; }
void GoBack();
void Clear();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d76da54cf887479d8448849a5ddb7dd8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: