Eabei.GoBangGame/Eabei.GoBangService/Data/DataManager.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Eabei.Model;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/********************************
* 命名空间: Eabei.GoBangGame.Data
*
* 功 能: N/A
* 类 名: DataManager
*
* 作 者: EB
* 创建日期: 2022/6/28 16:23:57
*********************************/
namespace Eabei.GoBangService.Data
{
/// <summary>
/// 数据管理类,分配数据解析业务逻辑
/// </summary>
public class DataManager : Common.SingleInstance<DataManager>
{
private ConcurrentQueue<(string name, string data)> dataQueue = new();
private List<string> dataHeaderList = new();
private Dictionary<DataHeaderInfo, IData<(string name, string data)>> dataManagerList = new();
/// <summary>
/// 配对列表
/// </summary>
private List<(PlayerInfo? user1, PlayerInfo? user2)> pairungList = new();
private bool running = false;
public DataManager()
{
dataHeaderList = typeof(DataHeaderInfo).GetEnumNames().ToList();
foreach (var manager in dataHeaderList)
{
DataHeaderInfo headerInfo = Enum.Parse<DataHeaderInfo>(manager, false);
IData<(string name, string data)> idata = headerInfo switch
{
DataHeaderInfo.Discovery => new DiscoveryParse(),
DataHeaderInfo.ChessPointInfo => new ChessPointInfoParse(),
DataHeaderInfo.Message => new MessageParse(),
DataHeaderInfo.Finish => new FinishParse(),
DataHeaderInfo.Reset => new ResetParse(),
DataHeaderInfo.Revocation => new RevocationParse(),
DataHeaderInfo.Runaway => new RunawayParse(),
DataHeaderInfo.Giveup => new GiveupParse(),
DataHeaderInfo.EabeiChart => new EabeiChartParse(),
_ => new DataNoneParse(),
};
idata.Start();
dataManagerList.TryAdd(headerInfo, idata);
}
后面还有 54 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。