diff --git "a/docs/\350\247\204\345\210\231.md" "b/docs/\350\247\204\345\210\231.md"
index cd42822d..8b31ebc7 100644
--- "a/docs/\350\247\204\345\210\231.md"
+++ "b/docs/\350\247\204\345\210\231.md"
@@ -2,17 +2,25 @@
## 游戏背景:
+巴特兰圣战之前,智能机器尚未被约束,效率与收益被奉为唯一信条。四家企业在一座被算力灯塔照亮的工业城中同时开局:工厂烟囱昼夜不息、机器人在草丛与障碍间穿梭、无人机在市场上空侦察与截击,供应链与战线合而为一。
+
+这不是安静的生产竞赛,而是赤裸的生存斗争:
+
+- 资源不仅要采,更要争;对手的采集队列可以被打乱,枯竭的点位会化作新的障碍;
+- 算力中心寸土必争,断一次占领就等于让对手的科技与修复晚你一步;
+- 工厂既是利润发动机也是战争核心,围堵、骚扰、切断运输线都能改变现金流曲线;
+- 市场是战场的第二战线,高额收购与贬值阈值让“何时卖”“卖给谁”成为博弈的一部分。
+
+十分钟的对局里,路径规划与火力布局同样重要;排程与优先级与占点与撤退同样致命。这里的胜利不是温柔的均衡,而是用算法与决策把对手的未来变成你的现在——在圣战之前,谁能更快、更狠、更准,谁就能笑到最后。
+
## 简则:
* 每场游戏四个玩家参与,每个玩家要经营一个智能工厂,尽可能地获取算力,升级科技,占领市场。
-
* 选手需要编写无人驾驶汽车,无人机,机器人,打印机的控制代码。
* 比赛时长10min。
## 地图:
-
-
x轴竖直向下,y轴水平向右
格子50x50 每格边长1000
@@ -23,29 +31,49 @@ x轴竖直向下,y轴水平向右
躲入草丛可以从敌方视野中消失。
+- 视野规则:
+ - 基础视野半径:5 格;
+ - 草丛内单位对草丛外单位不可见;
+ - 草丛内相互可见;
+ - 无人机的侦察不受草丛影响(可见草丛内单位)。
+
### 障碍
-阻止游戏角色通行
+阻止游戏角色通行。
+
+- 不可穿越;炮火或技能不可摧毁。
+- 资源采尽后转化为障碍格(见“资源”)。
### 资源
-工厂生产的必要物资,随机分布在地图各处,游戏角色在其附近9x9格子内可以开采,每处仅能开采100单位,不再生,开采后变为障碍。
+- 工厂生产的必要物资,随机分布在地图各处。
+- 采集范围:角色位于资源点周围 3×3 格内可开采。
+- 每处上限:100 单位;耗尽后该格变为障碍,不再生。
+- 采集速率:按单位类型执行;多个单位可对同一资源点采集,但总剩余量共享。
### 算力中心
-分布在地图各处,为占领方每秒提供一点算力,第一个占领者无需花费算力,后续占领者需要花费20算力占领。占领所需时间为10s钟。
+分布在地图各处,为占领方每秒提供 1 点算力。
+
+- 占领规则:首次占领不消耗算力;后续占领需消耗 20 算力;占领时间 10s;占领过程中被打断则需重新计时。
+- 同步生效:占领完成瞬间开始产出算力。
### 工厂
-每个玩家的大本营,所有角色的出生点,分布在地图四个角落,耐久度为500,耐久度耗光,则该玩家彻底失败,可以生产产品,可以为游戏角色修复耐久。
+每个玩家的大本营与角色出生点,分布在地图四个角落。
-### 市场
+- 耐久度:500;归零即该玩家失败并退出对局。
+- 命中与受击:近战需相邻格;远程需射程内且无障碍阻挡;碰撞按位移路径首次接触判定。伤害=基础伤害×事件系数×科技系数。
+- 职能:生产产品、修复单位耐久(见“算力”),单位出生。
+- 生产队列:按产品耗时与成本进行排队;库存不足时暂停生产。
-工厂销售产品的地方,每个工厂附近有些廉价市场,地图中间有一些高额市场,廉价市场以价值2倍的价格收购,高额市场以价格10倍的价格收购。
+### 市场
-## 玩家:
+工厂销售产品的场所。
-每个玩家初始都有一个工厂、一个无人驾驶汽车,一个无人机、一个机器人,30算力,50资源。
+- 市场类型:每个工厂附近分布廉价市场;地图中心分布高额市场。
+- 收购倍率:廉价市场按产品“基础价值”×2 收购;高额市场按“基础价值”×10 收购。
+- 贬值机制:单一市场对某类产品的累计收购数量达到阈值后,该产品在该市场的价格按分段或线性规则降低。
### 无人驾驶汽车:
@@ -63,11 +91,11 @@ x轴竖直向下,y轴水平向右
共有5类产品,对应的生产消耗、价值、耗时如下表:
-| | 半导体 | 药品 | 小商品 | 服饰 | 食品 |
-| ----| -------- | ----- | ------ | ----- | ----- |
+| | 半导体 | 药品 | 小商品 | 服饰 | 食品 |
+| ---- | -------- | ----- | ------ | ----- | ----- |
| 成本 | 10 | 5 | 1 | 8 | 3 |
| 价值 | 40 ~ 120 | 20~60 | 4~12 | 32~96 | 12~24 |
-| 耗时 |5|4|2|6|1|
+| 耗时 | 5 | 4 | 2 | 6 | 1 |
产品价值并不固定,取决于场上发生的事件和交易的市场。
@@ -75,12 +103,12 @@ x轴竖直向下,y轴水平向右
算力有3大用途
-1. 修复耐久:算力可用来修复工厂、角色的耐久,一点算力修复一点耐久,修复只能在工厂中完成。
+1. 修复耐久:算力可用来修复工厂、角色的耐久,1点算力修复30点耐久,修复只能在工厂中完成。
2. 向智慧大脑提问:每次向智能大脑提问需要消耗5点算力。
3. 升级科技:科技所需要的算力,和带来的buff如下。
-
+
| 科技 | 消耗 | buff |
| -------- | ---- | ------------------------ |
| 节约成本 | 50 | 除小商品外所有产品消耗-2 |
@@ -91,21 +119,23 @@ x轴竖直向下,y轴水平向右
## 市场:
- 廉价市场按照产品价值收购,高额市场按照产品价值4倍的价格收购,每个市场的某类产品收购一定数量后会出现贬值。
+ 廉价市场按照产品基础价值×2 收购,高额市场按照产品基础价值×10 收购;每个市场的某类产品收购达到设定数量阈值后会出现贬值(分段/线性,可配置)。
## 智慧大脑:
-在游戏进程的每1min都会出现特定的用自然语言描述的事件,对产品价格,角色的运动与完成任务的过程造成影响。例如事件为大雪,可能造成食品和服饰价格上涨,半导体价格下降,无人驾驶汽车移速减慢等效果。
+在游戏进程的每 30s 会出现特定的自然语言事件,影响产品价格、单位移动速度与任务耗时。例如“大雪”可能导致食品/服饰价格上涨、半导体价格下降、无人驾驶汽车移速降低等。
-玩家无法提前预知,但可以通过设计提示词,约定返回格式调用智慧大脑(AI)的api,将收到的事件交给大模型决策,例如可以让大模型返回5种产品的生产计划,以及角色需要去执行的任务等。
+玩家无法提前预知,但可以通过约定提示词与返回格式调用智慧大脑(AI)API,将事件交由大模型决策,例如:返回 5 类产品的生产计划与角色执行的任务清单。调用一次消耗 5 点算力(见“算力”)。
## 战斗:
-所有角色的耐久耗尽时报废,若工厂报废则该玩家离开游戏,最终分数即为当时分数。
+所有角色耐久耗尽时报废;若工厂报废则该玩家立即失败,最终分数定格为当时数值。
-无人驾驶汽车攻击方式是碰撞伤害,无人机是锁定目标伤害,范围是5格之内,机器人AOE伤害范围3格之内 。
+- 无人驾驶汽车:碰撞伤害,需接触目标格触发;对无人机无效。
+- 无人机:锁定目标伤害,射程 5 格;可无视草丛视野。
+- 机器人:范围伤害,半径 3 格的 AOE。
+- 攻击冷却:统一冷却 1s;伤害与机制按单位属性执行。
## 得分:
-得分=销售额x10 +摧毁机器数x1000+摧毁工厂数x5000
-
+得分=销售额x10 +摧毁机器数x10000+摧毁工厂数x50000
diff --git "a/docs/\350\247\204\345\210\231_PVE.md" "b/docs/\350\247\204\345\210\231_PVE.md"
index 2848c89a..8901ccd9 100644
--- "a/docs/\350\247\204\345\210\231_PVE.md"
+++ "b/docs/\350\247\204\345\210\231_PVE.md"
@@ -2,19 +2,24 @@
## 游戏背景
-单名玩家经营智能工厂,在限定时间内通过采集资源、生产产品并在市场销售来积累积分。强调运营策略与事件驱动的调度优化。支持对接智慧大脑(AI)以进行规划和策略优化,便于开展机器学习实验。
+你穿越到了“巴特兰圣战”之前的黄金狂飙年代——这时的人类还深信更聪明的机器能带来更高的效率、更好的收益、以及一切问题的最优解。城市被智能工厂的霓虹点亮,供应链的每一环都由机器人协同,算力中心像炼金炉一样不断吞吐数据与模型,企业的信条只有八个字:效率至上,收益唯一。
-## 简则
+在这片尚未被禁令约束的世界里:
+
+- 智能机器人是生产、运输与作战的一体化主力,参数就是性格,算法就是灵魂;
+- 工厂全自动排程,切线、换线与维护都由模型驱动,停机被视为最严重的“犯罪”;
+- 市场价格与事件联动,AI 交易与策略博弈让利润像心跳一样跃动;
+- 算力被视为“资本的第三形态”,谁掌握更快的训练、更稳的推理,谁就能把对手的未来变成自己的当下。
+
+你将在这样的时代竞争:为了更快的采集、更高的产出、更精准的打击与更漂亮的现金流,把智能工厂推到极限,把机器人调到最优,把每一寸路径、每一秒排程、每一份算力都榨干到临界。这里没有对 AI 的恐惧,只有对低效的羞耻;没有对禁令的顾虑,只有对延迟的零容忍。
+
+拐点也许会来,但不是此刻。此刻请让智能工厂高歌、让机器人疾行、让模型在事件风暴中稳健输出——在圣战之前,效率与收益是唯一的法则。
-- 每场游戏为单人模式,玩家经营一个智能工厂,目标是在时限内尽可能提升积分。
-- 玩家编写无人驾驶汽车、无人机、机器人、打印机等的调度与任务代码,执行采集、生产、运输、销售等任务并可以通过机器学习优化策略。
-- 比赛时长:10 分钟。
+## 简则
-## 地图
+选手要求:设计调度与策略,合理分配资源与时间,规划采集/运输/生产/销售路径,并按需升级科技与建设园区。
-- 坐标:x 轴竖直向下,y 轴水平向右。
-- 地图网格:50×50,单格边长 1000。
-- 地形包含:草丛、障碍、资源、算力中心、工厂、市场等。
+期待收获:理解供应链与生产调度的权衡,掌握在事件与价格函数驱动下的动态决策;提升编程能力(数据结构与算法、并发与队列、接口设计与工程实践);探索机器学习与强化学习等方法在策略优化中的应用与边界,并将思路程序化落地。
### 障碍
@@ -23,54 +28,48 @@
### 资源
- 工厂生产所需物资,随机分布。
-- 角色在资源点附近 9×9 格内可开采;每处上限 100 单位,耗尽后该格变为障碍;不再生。
+- 资源点“总量”不固定:每局随机为各资源点生成总量上限与初始库存。
+- 角色在资源点附近 3×3 格内可开采;资源点在被采集时按“每秒产出函数 f(t)”产生可采数量并叠加到库存中;当库存耗尽且总量达到上限后,该格变为障碍;不再生。
+- 信息披露:在游戏开始时,选手可以获得所有资源点的静态信息(坐标、总量上限、初始库存)以及其对应的“每秒产出函数 f(t)”;t 以“对局开始时间”为基准(t=0)。
+- 产出函数示例:
+ - 周期型:f(t) = A · (1 + sin(2π t / P)),A 为基准产出,P 为周期;
+ - 衰减型:f(t) = A · e^{-k t};
+ - 分段型:在不同时段给出不同常数/线性产出;
+ - 引擎将保证 f(t) ≥ 0,且在资源点达到总量上限后不再增加库存。
### 算力中心
- 分布在地图各处;开启后每秒提供 1 点算力。
-- 开启时间 10 秒。
+- 开启时间 10 秒;同一中心不可并行开启。
### 工厂
-- 玩家的大本营与角色出生点;耐久度随时间降低,速度由场上发生时间决定。
-- 工厂可进行产品生产与角色耐久修复(见“算力”用途)。
+- 玩家大本营与角色单位出生点。
+- 职能:产品生产、单位修复、科技升级、仓储与装载。
+- 生产线:基础并行度 1;每条生产线独立排队。
+- 仓储:基础仓储容量 `storage_cap = 300` 单位产品(各类产品共享容量)。
+- 出生与招募:通用单位在工厂生成;额外招募消耗 40 算力`。
### 市场
-- 地图随机存在若干廉价市场;地图边缘存在高额市场。
-- 廉价市场按产品基础价值收购;高额市场按 4 倍基础价值收购。
-- 市场对特定产品存在贬值阈值:某类产品收购达到一定数量后,该市场对该类产品价格降低(每一场都是一个随机函数)。
+- 地图存在若干市场点,每个市场点对 5 类产品分别定义价格函数。
+- 价格函数披露:在游戏开始时,向选手公开每个市场点、每个产品的价格是时间的函数 price(t)。
+
## 玩家与初始资源
-- 初始单位:工厂×1、无人驾驶汽车×1、无人机×1、机器人×1。
+- 初始单位:工厂×1、通用单位(Unit)×1。
+- 开局信息:向选手公开所有资源点的坐标、总量上限、初始库存、产出函数 f(t)。
- 初始算力:30;初始资源:50。
## 角色单位
-所有角色单位不产生战斗伤害;保留耐久度用于事件影响与修复机制。
-
-### 无人驾驶汽车
-
-- 耐久度:300;移速:500。
-- 采集:可开采资源,每秒 10 单位。
-- 运输:可运输产品至市场,单次最多 30 单位。
-- 额外招募:30 点算力。
-
-### 无人机
-
-- 耐久度:100;移速:1500。
-- 占领:可占领算力中心。
-- 运输:单次最多 10 单位。
+- 耐久度:300;移速:1000。
+- 采集:每秒采集 10 单位资源。
+- 运输:每次最多运输 30 单位产品。
+- 占领:可开启算力中心(10 秒)。
- 额外招募:40 点算力。
-### 机器人
-
-- 耐久度:350;移速:1000。
-- 占领:可占领算力中心。
-- 运输:单次最多 20 单位。
-- 额外招募:50 点算力。
-
## 产品与生产
共有 5 类产品;生产消耗、价值区间与耗时如下:
@@ -83,44 +82,34 @@
| 服饰 | 8 | 32 ~ 96 | 6 |
| 食品 | 3 | 12 ~ 24 | 1 |
-- 产品“基础价值”会受事件与市场类型影响(见“事件与智慧大脑”与“市场”)。
+- 产品“基础价值”会受地图事件与市场类型影响(见“市场”)。
- 工厂排队生产,多个生产线可并行(并行度可在对局参数配置)。
-## 算力(Compute)
+## 算力
算力有以下用途:
-1. 修复耐久:在工厂中可用算力修复工厂与角色和工厂耐久;1 点算力修复 1 点耐久。
-2. 智慧大脑提问:每次向智慧大脑(AI)提问消耗 5 点算力。
-3. 升级科技:为运营提供长期 Buff:| 科技 | 消耗 | Buff |
- | ---------- | ---- | -------------------------------------------------- |
- | 节约成本 | 50 | 除小商品外所有产品成本 -2 |
- | 提高效率 | 40 | 所有任务耗时减半(采集/生产/运输/占领) |
- | 营销手段 | 80 | 销售价格提高 10%(对基础价值与市场倍率后价格生效) |
- | 增加耐久 | 30 | 所有角色耐久 +50% |
- | 多线并行 | 60 | 增加产线可同时执行多个生产任务 |
+1. 修复耐久:在工厂中可用算力修复工厂与角色耐久;1 点算力修复 1 点耐久。
+2. 升级科技:为运营提供长期 Buff:
-## 事件与智慧大脑(AI)
+| 科技 | 消耗 | 前置 | 持续/一次性 | 效果与规则 |
+| -------- | ---- | ----------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
+| 节约成本 | 50 | 无 | 持续 | 除小商品外所有产品成本 -2,最低成本不低于 0 |
+| 提高效率 | 40 | 无 | 持续 | 所有任务耗时乘以 0.5(采集/生产/运输/占领);与事件/市场造成的时间修正按乘法叠加,最终耗时下限为 0.2× 基础耗时 |
+| 营销手段 | 80 | 无 | 持续 | 销售价格提高 10%,对“价格函数”计算结果乘以 1.1,且受价格上限约束 |
+| 增加耐久 | 30 | 无 | 持续 | 通用单位耐久 +50%,仅影响最大耐久与修复上限,不改变当前耐久比例 |
+| 多线并行 | 60 | 无 | 持续 | 产线并行度 +1(可叠加至最多 +2);并行线之间切换开销降低 20% |
+| 路径优化 | 50 | 提高效率 | 持续 | 单位移动路径自动规避障碍与低效路段,移动距离按 0.9 系数结算(与事件造成的移速修正相乘) |
+| 市场分析 | 40 | 无 | 一次性 | 立即获得所有市场的价格函数参数校准值与未来 2 分钟内事件影响系数范围(不改变函数,仅披露信息) |
+| 算力拓展 | 70 | 占领中心≥1 | 持续 | 算力中心提供速率 +0.3 点/秒(对每个已开启中心生效),与事件修正规则相加 |
-- 每 1 分钟出现一次自然语言事件,影响产品价格、移动速度、任务耗时等。例如“大雪”可能导致食品/服饰价格上涨、半导体价格下降、移动速度降低、采集效率下降。
-- 玩家可以通过调用智慧大脑 API 获取对事件的解读与建议,包括:
+科技机制说明:
- - 5 种产品的生产配比与时序建议;
- - 采集与运输路由;
- - 占领算力中心的优先级;
- - 销售市场选择与数量分配;
-- 建议通过约定 Prompt 与返回 JSON 格式进行对接,便于机器学习与强化学习:
-- 引擎在接收计划后按规则执行;若计划不可行(越界、产能不足等),应返回错误并保留上次合法计划;也可允许引擎自动对计划进行轻量修正(例如就近可达资源点替换)。
-
-## 任务与队列模型
-
-- 角色任务包含:移动、采集、运输、占领、修复。
-- 任务可插队或取消需付出代价(例如调度切换开销);若启用“运营自动化”科技,切换开销降低。
-- 工厂生产队列与运输队列分离;并行度与切换开销可在对局配置中设定。
+- 购买:在工厂消耗相应算力立即生效;一次性科技仅提供即时信息,不叠加;持续科技可叠加但遵循各自上限。
+- 叠加规则:所有时间与速度类修正按乘法叠加;价格/成本类按加法或乘法如上所述;最终值受上下限约束(例如价格≥0、耗时≥基础×0.2)。
+- 前置与上限:表中“前置”为购买该科技的前提条件;带并行度/速率上限的科技在达到上限后不能再次购买。
## 积分结算
- 最终得分仅由经济指标构成:
-
- 销售额 × 10;
- - 占领算力中心的持续收益体现为更高生产/销售效率的间接加分(不单独计分)。
diff --git a/logic/logic/logic.csproj b/logic/GameClass/GameClass.csproj
similarity index 68%
rename from logic/logic/logic.csproj
rename to logic/GameClass/GameClass.csproj
index 912229ae..e46ec933 100644
--- a/logic/logic/logic.csproj
+++ b/logic/GameClass/GameClass.csproj
@@ -1,15 +1,17 @@
- Exe
net8.0
enable
enable
-
-
+
+
+
+
+
diff --git a/logic/GameClass/GameObj/Areas/Barriers.cs b/logic/GameClass/GameObj/Areas/Barriers.cs
new file mode 100644
index 00000000..7cecdcfe
--- /dev/null
+++ b/logic/GameClass/GameObj/Areas/Barriers.cs
@@ -0,0 +1,11 @@
+using Preparation.Utility;
+using Preparation.Utility.Value;
+
+namespace GameClass.GameObj.Areas;
+
+public class Barriers(XY initPos)//为了避免不明确引用,命名从Barrier改为Barriers
+ : Immovable(initPos, GameData.NumOfPosGridPerCell / 2, GameObjType.BARRIER)
+{
+ public override bool IsRigid(bool args = false) => true;
+ public override ShapeType Shape => ShapeType.SQUARE;
+}
\ No newline at end of file
diff --git a/logic/logic/GameClass/GameObj/Areas/Bush.cs b/logic/GameClass/GameObj/Areas/Bush.cs
similarity index 66%
rename from logic/logic/GameClass/GameObj/Areas/Bush.cs
rename to logic/GameClass/GameObj/Areas/Bush.cs
index adfc3d01..67b3f8b3 100644
--- a/logic/logic/GameClass/GameObj/Areas/Bush.cs
+++ b/logic/GameClass/GameObj/Areas/Bush.cs
@@ -10,8 +10,11 @@ public class Bush(XY initPos)
public override ShapeType Shape => ShapeType.NULL_SHAPE_TYPE;
public void Hide(Character character)
{
- if (character.Position == initPos)
- character.Visible = false;//使角色invisible
+ // 若角色进入草丛范围则隐身(基于半径判断)
+ if (XY.DistanceCeil3(character.Position, Position) <= Radius)
+ {
+ character.Visible = false;
+ }
}
}
diff --git a/logic/GameClass/GameObj/Areas/ComputeCenter.cs b/logic/GameClass/GameObj/Areas/ComputeCenter.cs
new file mode 100644
index 00000000..8519b678
--- /dev/null
+++ b/logic/GameClass/GameObj/Areas/ComputeCenter.cs
@@ -0,0 +1,96 @@
+using Preparation.Interface;
+using Preparation.Utility;
+using Preparation.Utility.Value;
+using Preparation.Utility.Value.SafeValue.LockedValue;
+
+namespace GameClass.GameObj.Areas;
+
+public class ComputeCenter(XY initPos)
+ : Immovable(initPos, GameData.NumOfPosGridPerCell / 2, GameObjType.COMPUTE_CENTER)
+{
+ public override bool IsRigid(bool args = false) => true;
+ public override ShapeType Shape => ShapeType.SQUARE;
+
+ protected readonly object actionLock = new();
+ public object ActionLock => actionLock;
+
+ private ComputeSenterState state = ComputeSenterState.OCCUPYABLE;
+ public ComputeSenterState EState
+ {
+ get
+ {
+ lock (actionLock)
+ return state;
+ }
+ }
+ private ComputeCenterType centerType = ComputeCenterType.OLCF;
+ public ComputeCenterType EComputeCenterType
+ {
+ get
+ {
+ lock (actionLock)
+ return centerType;
+ }
+ set
+ {
+ lock (actionLock)
+ centerType = value;
+ }
+ }
+
+ public ComputeCenter(XY initPos, ComputeCenterType type)
+ : this(initPos)
+ {
+ centerType = type;
+ }
+
+ public void SetState(ComputeSenterState newState)
+ {
+ lock (actionLock)
+ {
+ state = newState;
+ }
+ }
+
+ // 是否被占领与占领者ID标志
+ private bool isOccupied = false;
+ private long occupiedByPlayerId = -1;
+
+ public bool IsOccupied
+ {
+ get
+ {
+ lock (actionLock)
+ return isOccupied;
+ }
+ }
+
+ public long OccupiedByPlayerId
+ {
+ get
+ {
+ lock (actionLock)
+ return occupiedByPlayerId;
+ }
+ }
+
+ public void SetOccupied(long playerId)
+ {
+ lock (actionLock)
+ {
+ isOccupied = true;
+ occupiedByPlayerId = playerId;
+ state = ComputeSenterState.OCCUPIED;
+ }
+ }
+
+ public void ClearOccupied()
+ {
+ lock (actionLock)
+ {
+ isOccupied = false;
+ occupiedByPlayerId = -1;
+ state = ComputeSenterState.OCCUPYABLE;
+ }
+ }
+}
diff --git a/logic/GameClass/GameObj/Areas/OutOfBoundBlock.cs b/logic/GameClass/GameObj/Areas/OutOfBoundBlock.cs
new file mode 100644
index 00000000..d6208b2c
--- /dev/null
+++ b/logic/GameClass/GameObj/Areas/OutOfBoundBlock.cs
@@ -0,0 +1,15 @@
+using Preparation.Interface;
+using Preparation.Utility;
+using Preparation.Utility.Value;
+
+namespace GameClass.GameObj.Areas;
+
+///
+/// 逻辑墙
+///
+public class OutOfBoundBlock(XY initPos)
+ : Immovable(initPos, int.MaxValue, GameObjType.OUTOFBOUNDBLOCK), IOutOfBound
+{
+ public override bool IsRigid(bool args = false) => true;
+ public override ShapeType Shape => ShapeType.SQUARE;
+}
diff --git a/logic/logic/GameClass/GameObj/Areas/Resource.cs b/logic/GameClass/GameObj/Areas/Resource.cs
similarity index 69%
rename from logic/logic/GameClass/GameObj/Areas/Resource.cs
rename to logic/GameClass/GameObj/Areas/Resource.cs
index 763aa563..cd0730a4 100644
--- a/logic/logic/GameClass/GameObj/Areas/Resource.cs
+++ b/logic/GameClass/GameObj/Areas/Resource.cs
@@ -24,9 +24,25 @@ public ResourceState ERstate
return State;
}
}
- public ResourceType EResourceType = ResourceType.LARGE_RESOURCE;
+ private ResourceType resourceType = ResourceType.LARGE_RESOURCE;
+ public ResourceType EResourceType
+ {
+ get
+ {
+ lock (actionLock)
+ return resourceType;
+ }
+ set
+ {
+ lock (actionLock)
+ resourceType = value;
+ }
+ }
public void SetERState(ResourceState state)
{
- State = state;
+ lock (actionLock)
+ {
+ State = state;
+ }
}
}
\ No newline at end of file
diff --git a/logic/GameClass/GameObj/Areas/Space.cs b/logic/GameClass/GameObj/Areas/Space.cs
new file mode 100644
index 00000000..67d096e3
--- /dev/null
+++ b/logic/GameClass/GameObj/Areas/Space.cs
@@ -0,0 +1,11 @@
+using Preparation.Utility;
+using Preparation.Utility.Value;
+
+namespace GameClass.GameObj.Areas;
+
+public class Space(XY initPos)
+ : Immovable(initPos, GameData.NumOfPosGridPerCell / 2, GameObjType.SPACE)
+{
+ public override bool IsRigid(bool args = false) => false;
+ public override ShapeType Shape => ShapeType.SQUARE;
+}
diff --git a/logic/logic/GameClass/GameObj/Character.cs b/logic/GameClass/GameObj/Character.cs
similarity index 97%
rename from logic/logic/GameClass/GameObj/Character.cs
rename to logic/GameClass/GameObj/Character.cs
index 2cd8c8e1..383af025 100644
--- a/logic/logic/GameClass/GameObj/Character.cs
+++ b/logic/GameClass/GameObj/Character.cs
@@ -25,7 +25,17 @@ public class Character : Movable, ICharacter
public Load GoodsLoad { get; }
public CharacterType CharacterType { get; }
private bool _visible = true;
- public bool Visible { get => _visible; set => _visible = value; }
+ public bool Visible
+ {
+ get
+ {
+ lock (actionLock) return _visible;
+ }
+ set
+ {
+ lock (actionLock) _visible = value;
+ }
+ }
private CharacterState characterState = CharacterState.NULL_CHARACTER_STATE;
public CharacterState CharacterState
{
diff --git a/logic/logic/GameClass/GameObj/Factory.cs b/logic/GameClass/GameObj/Factory.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Factory.cs
rename to logic/GameClass/GameObj/Factory.cs
diff --git a/logic/logic/GameClass/GameObj/GameObj.cs b/logic/GameClass/GameObj/GameObj.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/GameObj.cs
rename to logic/GameClass/GameObj/GameObj.cs
diff --git a/logic/GameClass/GameObj/Goods.cs b/logic/GameClass/GameObj/Goods.cs
new file mode 100644
index 00000000..d53f06b9
--- /dev/null
+++ b/logic/GameClass/GameObj/Goods.cs
@@ -0,0 +1,18 @@
+using Preparation.Interface;
+using Preparation.Utility;
+
+namespace GameClass.GameObj;
+
+public class Goods : IGoods
+{
+ public int Cost { get; }
+ public int Price { get; }
+ public GoodsType GoodsType { get; }
+
+ public Goods(int cost, int price, GoodsType goodsType)
+ {
+ Cost = cost;
+ Price = price;
+ GoodsType = goodsType;
+ }
+}
diff --git a/logic/logic/GameClass/GameObj/Immovable.cs b/logic/GameClass/GameObj/Immovable.cs
similarity index 87%
rename from logic/logic/GameClass/GameObj/Immovable.cs
rename to logic/GameClass/GameObj/Immovable.cs
index 9f2dd3be..6d371518 100644
--- a/logic/logic/GameClass/GameObj/Immovable.cs
+++ b/logic/GameClass/GameObj/Immovable.cs
@@ -1,6 +1,5 @@
using Preparation.Utility;
using Preparation.Utility.Value;
-using System.Threading.Tasks.Dataflow;
namespace GameClass.GameObj;
diff --git a/logic/GameClass/GameObj/Map/Map.cs b/logic/GameClass/GameObj/Map/Map.cs
new file mode 100644
index 00000000..e4912b7f
--- /dev/null
+++ b/logic/GameClass/GameObj/Map/Map.cs
@@ -0,0 +1,227 @@
+using GameClass.GameObj.Areas;
+using GameClass.MapGenerator;
+using Preparation.Interface;
+using Preparation.Utility;
+using Preparation.Utility.Value;
+using Preparation.Utility.Value.SafeValue;
+using System;
+using System.Collections.Generic;
+
+namespace GameClass.GameObj.Map
+{
+ public partial class Map : IMap
+ {
+ private readonly Dictionary> gameObjDict;
+ public Dictionary> GameObjDict => gameObjDict;
+ private readonly uint height;
+ public uint Height => height;
+ private readonly uint width;
+ public uint Width => width;
+ public readonly PlaceType[,] protoGameMap;
+ public PlaceType[,] ProtoGameMap => protoGameMap;
+
+ private readonly MyTimer timer = new();
+ public List Factories { get; }
+ public IMyTimer Timer => timer;
+ private readonly long currentHomeNum = 0;
+ public bool TeamExists(long teamID)
+ {
+ return teamID < currentHomeNum;
+ }
+
+ #region GetPlaceType
+ public PlaceType GetPlaceType(IGameObj obj)
+ {
+ try
+ {
+ var (x, y) = GameData.PosGridToCellXY(obj.Position);
+ return protoGameMap[x, y];
+ }
+ catch
+ {
+ return PlaceType.NULL_PLACE_TYPE;
+ }
+ }
+ public PlaceType GetPlaceType(XY pos)
+ {
+ try
+ {
+ var (x, y) = GameData.PosGridToCellXY(pos);
+ return protoGameMap[x, y];
+ }
+ catch
+ {
+ return PlaceType.NULL_PLACE_TYPE;
+ }
+ }
+ #endregion
+
+ public bool IsOutOfBound(IGameObj obj)
+ {
+ return obj.Position.x >= GameData.MapLength - obj.Radius
+ || obj.Position.x <= obj.Radius
+ || obj.Position.y >= GameData.MapLength - obj.Radius
+ || obj.Position.y <= obj.Radius;
+ }
+ public IOutOfBound GetOutOfBound(XY pos)
+ {
+ return new OutOfBoundBlock(pos);
+ }
+
+ public Character? FindCharacterInID(long ID)
+ {
+ return (Character?)GameObjDict[GameObjType.CHARACTER].Find(gameObj => (ID == ((Character)gameObj).ID));
+ }
+ public Character? FindCharacterInPlayerID(long teamID, long playerID)
+ {
+ return (Character?)GameObjDict[GameObjType.CHARACTER].Find(gameObj => (teamID == ((Character)gameObj).TeamID) && playerID == ((Character)gameObj).PlayerID);
+ }
+ public GameObj? OneForInteract(XY Pos, GameObjType gameObjType)
+ {
+ return (GameObj?)GameObjDict[gameObjType].Find(gameObj => GameData.ApproachToInteract(gameObj.Position, Pos));
+ }
+ public GameObj? OneInTheSameCell(XY Pos, GameObjType gameObjType)
+ {
+ return (GameObj?)GameObjDict[gameObjType].Find(gameObj => (GameData.IsInTheSameCell(gameObj.Position, Pos)));
+ }
+ public GameObj? PartInTheSameCell(XY Pos, GameObjType gameObjType)
+ {
+ return (GameObj?)GameObjDict[gameObjType].Find(gameObj => (GameData.PartInTheSameCell(gameObj.Position, Pos)));
+ }
+ public GameObj? OneForInteractInACross(XY Pos, GameObjType gameObjType)
+ {
+ return (GameObj?)GameObjDict[gameObjType].Find(gameObj =>
+ GameData.ApproachToInteractInACross(gameObj.Position, Pos));
+ }
+ public GameObj? OneInTheRange(XY Pos, int range, GameObjType gameObjType)
+ {
+ return (GameObj?)GameObjDict[gameObjType].Find(gameObj =>
+ GameData.IsInTheRange(gameObj.Position, Pos, range));
+ }
+ public List? CharacterInTheRangeNotTeamID(XY Pos, int range, long teamID)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ (GameData.IsInTheRange(character.Position, Pos, range) && character.TeamID != teamID));
+ }
+ public List? AllCharacterInTheRange(XY Pos, int range)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ (GameData.IsInTheRange(character.Position, Pos, range)));
+ }
+ public List? CharacterOnTheSameLineNotTeamID(XY Pos, double theta, long teamID)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ (GameData.IsOnTheSameLine(Pos, character.Position, theta) && character.TeamID != teamID));
+ }
+ public List? CharacterInTheRangeInTeamID(XY Pos, int range, long teamID)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ (GameData.IsInTheRange(character.Position, Pos, range) && character.TeamID == teamID));
+ }
+ public List? CharacterInTheList(List PosList)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ PosList.Contains(GameData.PosGridToCellXY(character.Position)));
+ }
+ public List? CharacterInTeamID(long teamID)
+ {
+ return GameObjDict[GameObjType.CHARACTER].Cast()?.FindAll(character =>
+ character.TeamID == teamID);
+ }
+ public bool InAttackSize(Character character, GameObj gameObj)
+ {
+ XY pos1 = character.Position;
+ XY pos2 = gameObj.Position;
+ XY del = pos1 - pos2;
+ if (del * del > character.AttackSize * character.AttackSize)
+ return false;
+ return true;
+ }
+ public bool Remove(GameObj gameObj)
+ {
+ GameObj? ans = (GameObj?)GameObjDict[gameObj.Type].RemoveOne(obj => gameObj.ID == obj.ID);
+ if (ans != null)
+ {
+ ans.TryToRemove();
+ return true;
+ }
+ return false;
+ }
+ public bool RemoveJustFromMap(GameObj gameObj)
+ {
+ if (GameObjDict[gameObj.Type].Remove(gameObj))
+ {
+ gameObj.TryToRemove();
+ return true;
+ }
+ return false;
+ }
+ public void Add(IGameObj gameObj)
+ {
+ GameObjDict[gameObj.Type].Add(gameObj);
+ }
+ public Map(MapStruct mapResource, ComputeCenterType Atype = ComputeCenterType.NULL)
+ {
+ gameObjDict = [];
+ foreach (GameObjType idx in Enum.GetValues(typeof(GameObjType)))
+ {
+ if (idx != GameObjType.NULL)
+ gameObjDict.TryAdd(idx, new LockedClassList());
+ }
+ height = mapResource.height;
+ width = mapResource.width;
+ protoGameMap = mapResource.map;
+ int count = 0;
+ for (int i = 0; i < height; ++i)
+ {
+ for (int j = 0; j < width; ++j)
+ {
+ switch (mapResource.map[i, j])
+ {
+ case PlaceType.BARRIER:
+ Add(new Barriers(GameData.GetCellCenterPos(i, j)));
+ break;
+ case PlaceType.BUSH:
+ Add(new Bush(GameData.GetCellCenterPos(i, j)));
+ break;
+ case PlaceType.COMPUTE_CENTER:
+ if (count == 0)
+ {
+ Add(new ComputeCenter(GameData.GetCellCenterPos(i, j), ComputeCenterType.OLCF));
+ count = 1;
+ }
+ else if (count == 1)
+ {
+ Add(new ComputeCenter(GameData.GetCellCenterPos(i, j), ComputeCenterType.ALCF));
+ count = 2;
+ }
+ else if (count == 2)
+ {
+ Add(new ComputeCenter(GameData.GetCellCenterPos(i, j), ComputeCenterType.LLNL_HPC));
+ count = 3;
+ }
+ else
+ {
+ Add(new ComputeCenter(GameData.GetCellCenterPos(i, j), ComputeCenterType.NSCC_WUXI));
+ count = 0;
+ }
+ break;
+ case PlaceType.RESOURCE:
+ Add(new Resource(GameData.GetCellCenterPos(i, j)));
+ break;
+ case PlaceType.SPACE:
+ Add(new Space(GameData.GetCellCenterPos(i, j)));
+ break;
+ case PlaceType.FACTORY:
+ if (i < 25)
+ Add(new Factory(GameData.GetCellCenterPos(i, j)));
+ else
+ Add(new Factory(GameData.GetCellCenterPos(i, j)));
+ break;
+ }
+ }
+ }
+ Factories = GameObjDict[GameObjType.FACTORY].Cast()?.ToNewList()!;
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/GameClass/GameObj/Map/MapInfo.cs b/logic/GameClass/GameObj/Map/MapInfo.cs
new file mode 100644
index 00000000..2c858cae
--- /dev/null
+++ b/logic/GameClass/GameObj/Map/MapInfo.cs
@@ -0,0 +1,65 @@
+using GameClass.MapGenerator;
+
+namespace GameClass.GameObj.Map
+{
+ public static class MapInfo
+ {
+ ///
+ /// 缺省地图
+ ///
+ public static uint[,] defaultMap = new uint[50, 50] {
+ {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 3, 3, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 1, 2, 4, 2, 2, 2, 3, 3, 3, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 3, 2, 2, 2, 1, 2, 2, 3},
+ {3, 2, 2, 2, 2, 4, 2, 3, 4, 4, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 5, 2, 2, 2, 6, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 3},
+ {3, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 3, 2, 4, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 3},
+ {3, 4, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 3, 2, 4, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 4, 4, 2, 2, 2, 2, 3},
+ {3, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 5, 2, 4, 4, 2, 2, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 3},
+ {3, 2, 2, 4, 4, 4, 2, 2, 6, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 4, 4, 4, 4, 4, 2, 2, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 2, 2, 4, 4, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 3},
+ {3, 2, 2, 4, 4, 4, 2, 4, 4, 2, 2, 2, 2, 3, 4, 3, 2, 2, 2, 2, 2, 3, 3, 2, 3, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 3, 2, 2, 3, 2, 2, 3},
+ {3, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 3, 2, 3, 2, 2, 3, 4, 3, 3, 3, 2, 3, 3, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 3, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3},
+ {3, 2, 4, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 2, 2, 2, 2, 2, 2, 4, 4, 7, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 4, 4, 4, 2, 2, 4, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 3, 3, 3, 2, 2, 3},
+ {3, 2, 2, 7, 2, 2, 3, 2, 2, 2, 2, 6, 2, 2, 3, 3, 2, 2, 2, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 4, 4, 2, 4, 2, 2, 3, 2, 2, 2, 2, 3},
+ {3, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 4, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 4, 4, 2, 7, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 4, 4, 2, 2, 2, 3},
+ {3, 2, 2, 2, 4, 4, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 7, 2, 4, 4, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 4, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 3},
+ {3, 2, 2, 2, 2, 3, 2, 2, 4, 2, 4, 4, 2, 2, 2, 2, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 2, 2, 3, 3, 2, 2, 6, 2, 2, 2, 2, 3, 2, 2, 7, 2, 2, 3},
+ {3, 2, 2, 3, 3, 3, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 4, 2, 2, 4, 4, 4, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 7, 4, 4, 2, 2, 2, 2, 2, 2, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 4, 2, 3},
+ {3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 3, 3, 2, 3, 3, 3, 4, 3, 2, 2, 3, 2, 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 3},
+ {3, 2, 2, 3, 2, 2, 3, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 3, 4, 3, 2, 2, 2, 2, 4, 4, 2, 4, 4, 4, 2, 2, 3},
+ {3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 3, 2, 2, 2, 3, 3, 4, 4, 2, 2, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 2, 4, 4, 4, 4, 4, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 2, 6, 2, 2, 4, 4, 4, 2, 2, 3},
+ {3, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 3, 5, 2, 2, 2, 2, 2, 2, 4, 4, 2, 5, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 3},
+ {3, 2, 2, 2, 2, 4, 4, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 4, 2, 3, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 4, 3},
+ {3, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 4, 2, 3, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 3},
+ {3, 2, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 6, 2, 2, 2, 5, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 4, 4, 3, 2, 4, 2, 2, 2, 2, 3},
+ {3, 2, 2, 1, 2, 2, 2, 3, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 3, 3, 3, 3, 2, 2, 2, 4, 2, 1, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 3, 3, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 3},
+ {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}
+};
+ public static readonly uint[,] birthPoints = new uint[2, 2] { { 3, 46 }, { 46, 3 } };
+ public static readonly MapStruct defaultMapStruct = new(50, 50, defaultMap);
+ }
+}
diff --git a/logic/GameClass/GameObj/Map/MapStruct.cs b/logic/GameClass/GameObj/Map/MapStruct.cs
new file mode 100644
index 00000000..21338ee7
--- /dev/null
+++ b/logic/GameClass/GameObj/Map/MapStruct.cs
@@ -0,0 +1,167 @@
+using Preparation.Utility;
+using System;
+using System.IO;
+
+namespace GameClass.MapGenerator;
+
+#region 异常
+public class MapFileError(string filename) : Exception
+{
+ public override string Message => $"{filename} is illegal map file";
+}
+
+public class MapStreamError(Stream str) : Exception
+{
+ public override string Message => $"{str.ToString} is illegal stream of map";
+}
+#endregion
+
+///
+/// 地图结构体,本结构将会被MapGenerator-Python引用——asdawej
+///
+public readonly struct MapStruct
+{
+ public readonly uint height;
+ public readonly uint width;
+ public readonly PlaceType[,] map;
+
+ #region ctor
+ public MapStruct(uint height, uint width)
+ {
+ this.height = height; this.width = width;
+ map = new PlaceType[height, width];
+ }
+ public MapStruct(uint height, uint width, PlaceType[,] map)
+ {
+ this.height = height; this.width = width; this.map = map;
+ }
+ public MapStruct(uint height, uint width, uint[,] map)
+ {
+ this.height = height; this.width = width;
+ this.map = new PlaceType[height, width];
+ for (uint i = 0; i < height; i++)
+ {
+ for (uint j = 0; j < width; j++)
+ {
+ this.map[i, j] = (PlaceType)map[i, j];
+ }
+ }
+ }
+ #endregion
+
+ #region 文件读写
+ ///
+ /// 地图文件读取
+ ///
+ /// 待读取地图文件
+ /// 读取得到的地图
+ ///
+ public static MapStruct FromFile(string filename)
+ {
+ using BinaryReader br = new(File.OpenRead(filename));
+ try
+ {
+ var height = br.ReadUInt32(); var width = br.ReadUInt32();
+ MapStruct ret = new(height, width);
+ for (uint i = 0; i < height; i++)
+ {
+ for (uint j = 0; j < width; j++)
+ {
+ ret[i, j] = (PlaceType)br.ReadUInt32();
+ }
+ }
+ return ret;
+ }
+ catch
+ {
+ throw new MapFileError(filename);
+ }
+ }
+ ///
+ /// 地图文件存储
+ ///
+ /// 待写入地图文件
+ /// 待写入地图
+ public static void ToFile(string filename, MapStruct src)
+ {
+ using BinaryWriter bw = new(File.OpenWrite(filename));
+ bw.Write(src.height);
+ bw.Write(src.width);
+ for (uint i = 0; i < src.height; i++)
+ {
+ for (uint j = 0; j < src.width; j++)
+ {
+ bw.Write((uint)src[i, j]);
+ }
+ }
+ }
+ #endregion
+
+ #region 流读写
+ ///
+ /// 字节提取
+ ///
+ /// 字节输出流
+ /// 提取得到的地图
+ ///
+ public static MapStruct FromBytes(Stream str)
+ {
+ if (!str.CanRead) throw new MapStreamError(str);
+ try
+ {
+ BinaryReader br = new(str);
+ var height = br.ReadUInt32(); var width = br.ReadUInt32();
+ MapStruct ret = new(height, width);
+ for (uint i = 0; i < height; i++)
+ {
+ for (uint j = 0; j < width; j++)
+ {
+ ret[i, j] = (PlaceType)br.ReadUInt32();
+ }
+ }
+ return ret;
+ }
+ catch
+ {
+ throw new MapStreamError(str);
+ }
+ }
+ ///
+ /// 字节解析
+ ///
+ /// 字节输入流
+ /// 待解析地图
+ ///
+ public static void ToBytes(Stream str, MapStruct src)
+ {
+ if (!str.CanWrite) throw new MapStreamError(str);
+ BinaryWriter bw = new(str);
+ bw.Write(src.height);
+ bw.Write(src.width);
+ for (uint i = 0; i < src.height; i++)
+ {
+ for (uint j = 0; j < src.width; j++)
+ {
+ bw.Write((uint)src[i, j]);
+ }
+ }
+ }
+ #endregion
+
+ ///
+ /// 地图清空
+ ///
+ public readonly void Clear()
+ {
+ for (uint i = 0; i < height; i++)
+ {
+ for (uint j = 0; j < width; j++) map[i, j] = PlaceType.NULL_PLACE_TYPE;
+ }
+ }
+
+ public readonly PlaceType this[uint i, uint j]
+ {
+ get => map[i, j];
+ set => map[i, j] = value;
+ }
+}
\ No newline at end of file
diff --git a/logic/logic/GameClass/GameObj/Movable.cs b/logic/GameClass/GameObj/Movable.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Movable.cs
rename to logic/GameClass/GameObj/Movable.cs
diff --git a/logic/logic/GameClass/GameObj/Occupations/AutonomousCar.cs b/logic/GameClass/GameObj/Occupations/AutonomousCar.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Occupations/AutonomousCar.cs
rename to logic/GameClass/GameObj/Occupations/AutonomousCar.cs
diff --git a/logic/logic/GameClass/GameObj/Occupations/Drone.cs b/logic/GameClass/GameObj/Occupations/Drone.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Occupations/Drone.cs
rename to logic/GameClass/GameObj/Occupations/Drone.cs
diff --git a/logic/logic/GameClass/GameObj/Occupations/NullOccupation.cs b/logic/GameClass/GameObj/Occupations/NullOccupation.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Occupations/NullOccupation.cs
rename to logic/GameClass/GameObj/Occupations/NullOccupation.cs
diff --git a/logic/logic/GameClass/GameObj/Occupations/OccupationFactory.cs b/logic/GameClass/GameObj/Occupations/OccupationFactory.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Occupations/OccupationFactory.cs
rename to logic/GameClass/GameObj/Occupations/OccupationFactory.cs
diff --git a/logic/logic/GameClass/GameObj/Occupations/Robot.cs b/logic/GameClass/GameObj/Occupations/Robot.cs
similarity index 100%
rename from logic/logic/GameClass/GameObj/Occupations/Robot.cs
rename to logic/GameClass/GameObj/Occupations/Robot.cs
diff --git a/logic/logic/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/logic/GameClass/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
similarity index 100%
rename from logic/logic/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
rename to logic/GameClass/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
diff --git a/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfo.cs b/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfo.cs
new file mode 100644
index 00000000..3e1c1923
--- /dev/null
+++ b/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("GameClass")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+284be917a425b0385f267a32c248890a07244fc0")]
+[assembly: System.Reflection.AssemblyProductAttribute("GameClass")]
+[assembly: System.Reflection.AssemblyTitleAttribute("GameClass")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// 由 MSBuild WriteCodeFragment 类生成。
+
diff --git a/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfoInputs.cache b/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..1f510dea
--- /dev/null
+++ b/logic/GameClass/obj/Debug/net8.0/GameClass.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+dee0d2646e9bd124aa4ebdf21df2c998f187b95b0bd9e04d39e91b969f9d2453
diff --git a/logic/GameClass/obj/Debug/net8.0/GameClass.GeneratedMSBuildEditorConfig.editorconfig b/logic/GameClass/obj/Debug/net8.0/GameClass.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..96c74c79
--- /dev/null
+++ b/logic/GameClass/obj/Debug/net8.0/GameClass.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,15 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = GameClass
+build_property.ProjectDir = C:\Users\lenovo\OneDrive\桌面\THUthu\THUAI9\logic\GameClass\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/logic/logic/obj/Debug/net8.0/logic.GlobalUsings.g.cs b/logic/GameClass/obj/Debug/net8.0/GameClass.GlobalUsings.g.cs
similarity index 100%
rename from logic/logic/obj/Debug/net8.0/logic.GlobalUsings.g.cs
rename to logic/GameClass/obj/Debug/net8.0/GameClass.GlobalUsings.g.cs
diff --git a/logic/GameClass/obj/Debug/net8.0/GameClass.assets.cache b/logic/GameClass/obj/Debug/net8.0/GameClass.assets.cache
new file mode 100644
index 00000000..002f9f9d
Binary files /dev/null and b/logic/GameClass/obj/Debug/net8.0/GameClass.assets.cache differ
diff --git a/logic/logic/obj/Debug/net8.0/logic.csproj.AssemblyReference.cache b/logic/GameClass/obj/Debug/net8.0/GameClass.csproj.AssemblyReference.cache
similarity index 72%
rename from logic/logic/obj/Debug/net8.0/logic.csproj.AssemblyReference.cache
rename to logic/GameClass/obj/Debug/net8.0/GameClass.csproj.AssemblyReference.cache
index 138b0d84..c028c05f 100644
Binary files a/logic/logic/obj/Debug/net8.0/logic.csproj.AssemblyReference.cache and b/logic/GameClass/obj/Debug/net8.0/GameClass.csproj.AssemblyReference.cache differ
diff --git a/logic/GameClass/obj/GameClass.csproj.nuget.dgspec.json b/logic/GameClass/obj/GameClass.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..7ba4b749
--- /dev/null
+++ b/logic/GameClass/obj/GameClass.csproj.nuget.dgspec.json
@@ -0,0 +1,156 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj",
+ "projectName": "GameClass",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "projectName": "Preparation",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Console": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/logic/obj/logic.csproj.nuget.g.props b/logic/GameClass/obj/GameClass.csproj.nuget.g.props
similarity index 100%
rename from logic/logic/obj/logic.csproj.nuget.g.props
rename to logic/GameClass/obj/GameClass.csproj.nuget.g.props
diff --git a/logic/logic/obj/logic.csproj.nuget.g.targets b/logic/GameClass/obj/GameClass.csproj.nuget.g.targets
similarity index 64%
rename from logic/logic/obj/logic.csproj.nuget.g.targets
rename to logic/GameClass/obj/GameClass.csproj.nuget.g.targets
index 756abdc3..026bb7bf 100644
--- a/logic/logic/obj/logic.csproj.nuget.g.targets
+++ b/logic/GameClass/obj/GameClass.csproj.nuget.g.targets
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/logic/GameClass/obj/project.assets.json b/logic/GameClass/obj/project.assets.json
new file mode 100644
index 00000000..47fd5260
--- /dev/null
+++ b/logic/GameClass/obj/project.assets.json
@@ -0,0 +1,1021 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {
+ "Microsoft.Extensions.Configuration/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "System.Diagnostics.DiagnosticSource": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "System.Text.Json": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Options/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Primitives/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.IO.Pipelines/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.Text.Encodings.Web/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Text.Encodings.Web.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Text.Encodings.Web.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ },
+ "runtimeTargets": {
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": {
+ "assetType": "runtime",
+ "rid": "browser"
+ }
+ }
+ },
+ "System.Text.Json/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.1",
+ "System.Text.Encodings.Web": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/System.Text.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Text.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/System.Text.Json.targets": {}
+ }
+ },
+ "Preparation/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Console": "10.0.1"
+ },
+ "compile": {
+ "bin/placeholder/Preparation.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Preparation.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Microsoft.Extensions.Configuration/10.0.1": {
+ "sha512": "njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml",
+ "microsoft.extensions.configuration.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
+ "sha512": "kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
+ "sha512": "Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.binder/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.binder.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
+ "sha512": "zerXV0GAR9LCSXoSIApbWn+Dq1/T+6vbXMHGduq1LoVQRHT0BXsGQEau0jeLUBUcsoF/NaUT8ADPu8b+eNcIyg==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
+ "microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
+ "sha512": "oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging/10.0.1": {
+ "sha512": "9ItMpMLFZFJFqCuHLLbR3LiA4ahA8dMtYuXpXl2YamSDWZhYS9BruPprkftY0tYi2bQ0slNrixdFm+4kpz1g5w==",
+ "type": "package",
+ "path": "microsoft.extensions.logging/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.xml",
+ "lib/net462/Microsoft.Extensions.Logging.dll",
+ "lib/net462/Microsoft.Extensions.Logging.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
+ "microsoft.extensions.logging.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
+ "sha512": "YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
+ "sha512": "Zg8LLnfZs5o2RCHD/+9NfDtJ40swauemwCa7sI8gQoAye/UJHRZNpCtC7a5XE7l9Z7mdI8iMWnLZ6m7Q6S3jLg==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.configuration/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
+ "sha512": "38Q8sEHwQ/+wVO/mwQBa0fcdHbezFpusHE+vBw/dSr6Fq/kzZm3H/NQX511Jki/R3FHd64IY559gdlHZQtYeEA==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.console/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml",
+ "microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.console.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Options/10.0.1": {
+ "sha512": "G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
+ "type": "package",
+ "path": "microsoft.extensions.options/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
+ "lib/net10.0/Microsoft.Extensions.Options.dll",
+ "lib/net10.0/Microsoft.Extensions.Options.xml",
+ "lib/net462/Microsoft.Extensions.Options.dll",
+ "lib/net462/Microsoft.Extensions.Options.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.xml",
+ "lib/net9.0/Microsoft.Extensions.Options.dll",
+ "lib/net9.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.xml",
+ "microsoft.extensions.options.10.0.1.nupkg.sha512",
+ "microsoft.extensions.options.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
+ "sha512": "pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
+ "type": "package",
+ "path": "microsoft.extensions.options.configurationextensions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.options.configurationextensions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Primitives/10.0.1": {
+ "sha512": "DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
+ "type": "package",
+ "path": "microsoft.extensions.primitives/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
+ "lib/net10.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net10.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net462/Microsoft.Extensions.Primitives.dll",
+ "lib/net462/Microsoft.Extensions.Primitives.xml",
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net8.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net9.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net9.0/Microsoft.Extensions.Primitives.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
+ "microsoft.extensions.primitives.10.0.1.nupkg.sha512",
+ "microsoft.extensions.primitives.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
+ "sha512": "wVYO4/71Pk177uQ3TG8ZQFS3Pnmr98cF9pYxnpuIb/bMnbEWsdZZoLU/euv29mfSi2/Iuypj0TRUchPk7aqBGg==",
+ "type": "package",
+ "path": "system.diagnostics.diagnosticsource/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets",
+ "lib/net10.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net10.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net462/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net462/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net9.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net9.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml",
+ "system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
+ "system.diagnostics.diagnosticsource.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.IO.Pipelines/10.0.1": {
+ "sha512": "26LbFXHKd7PmRnWlkjnYgmjd5B6HYVG+1MpTO25BdxTJnx6D0O16JPAC/S4YBqjtt4YpfGj1QO/Ss6SPMGEGQw==",
+ "type": "package",
+ "path": "system.io.pipelines/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.IO.Pipelines.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets",
+ "lib/net10.0/System.IO.Pipelines.dll",
+ "lib/net10.0/System.IO.Pipelines.xml",
+ "lib/net462/System.IO.Pipelines.dll",
+ "lib/net462/System.IO.Pipelines.xml",
+ "lib/net8.0/System.IO.Pipelines.dll",
+ "lib/net8.0/System.IO.Pipelines.xml",
+ "lib/net9.0/System.IO.Pipelines.dll",
+ "lib/net9.0/System.IO.Pipelines.xml",
+ "lib/netstandard2.0/System.IO.Pipelines.dll",
+ "lib/netstandard2.0/System.IO.Pipelines.xml",
+ "system.io.pipelines.10.0.1.nupkg.sha512",
+ "system.io.pipelines.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Text.Encodings.Web/10.0.1": {
+ "sha512": "cVAka0o1rJJ5/De0pjNs7jcaZk5hUGf1HGzUyVmE2MEB1Vf0h/8qsWxImk1zjitCbeD2Avaq2P2+usdvqgbeVQ==",
+ "type": "package",
+ "path": "system.text.encodings.web/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Text.Encodings.Web.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets",
+ "lib/net10.0/System.Text.Encodings.Web.dll",
+ "lib/net10.0/System.Text.Encodings.Web.xml",
+ "lib/net462/System.Text.Encodings.Web.dll",
+ "lib/net462/System.Text.Encodings.Web.xml",
+ "lib/net8.0/System.Text.Encodings.Web.dll",
+ "lib/net8.0/System.Text.Encodings.Web.xml",
+ "lib/net9.0/System.Text.Encodings.Web.dll",
+ "lib/net9.0/System.Text.Encodings.Web.xml",
+ "lib/netstandard2.0/System.Text.Encodings.Web.dll",
+ "lib/netstandard2.0/System.Text.Encodings.Web.xml",
+ "runtimes/browser/lib/net10.0/System.Text.Encodings.Web.dll",
+ "runtimes/browser/lib/net10.0/System.Text.Encodings.Web.xml",
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll",
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml",
+ "runtimes/wasi/lib/net10.0/System.Text.Encodings.Web.dll",
+ "runtimes/wasi/lib/net10.0/System.Text.Encodings.Web.xml",
+ "runtimes/win/lib/net9.0/System.Text.Encodings.Web.dll",
+ "runtimes/win/lib/net9.0/System.Text.Encodings.Web.xml",
+ "system.text.encodings.web.10.0.1.nupkg.sha512",
+ "system.text.encodings.web.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Text.Json/10.0.1": {
+ "sha512": "EsgwDgU1PFqhrFA9l5n+RBu76wFhNGCEwu8ITrBNhjPP3MxLyklroU5GIF8o6JYpYg6T4KD/VICfMdgPAvNp5g==",
+ "type": "package",
+ "path": "system.text.json/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "buildTransitive/net461/System.Text.Json.targets",
+ "buildTransitive/net462/System.Text.Json.targets",
+ "buildTransitive/net8.0/System.Text.Json.targets",
+ "buildTransitive/netcoreapp2.0/System.Text.Json.targets",
+ "buildTransitive/netstandard2.0/System.Text.Json.targets",
+ "lib/net10.0/System.Text.Json.dll",
+ "lib/net10.0/System.Text.Json.xml",
+ "lib/net462/System.Text.Json.dll",
+ "lib/net462/System.Text.Json.xml",
+ "lib/net8.0/System.Text.Json.dll",
+ "lib/net8.0/System.Text.Json.xml",
+ "lib/net9.0/System.Text.Json.dll",
+ "lib/net9.0/System.Text.Json.xml",
+ "lib/netstandard2.0/System.Text.Json.dll",
+ "lib/netstandard2.0/System.Text.Json.xml",
+ "system.text.json.10.0.1.nupkg.sha512",
+ "system.text.json.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Preparation/1.0.0": {
+ "type": "project",
+ "path": "../Preparation/Preparation.csproj",
+ "msbuildProject": "../Preparation/Preparation.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net8.0": [
+ "Microsoft.Extensions.Logging >= 10.0.1",
+ "Preparation >= 1.0.0"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\lenovo\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj",
+ "projectName": "GameClass",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/GameClass/obj/project.nuget.cache b/logic/GameClass/obj/project.nuget.cache
new file mode 100644
index 00000000..05e4fcda
--- /dev/null
+++ b/logic/GameClass/obj/project.nuget.cache
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "dgSpecHash": "FrhFn0A102w=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameClass\\GameClass.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.1\\microsoft.extensions.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.1\\microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.1\\microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.1\\microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.1\\microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging\\10.0.1\\microsoft.extensions.logging.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.1\\microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.configuration\\10.0.1\\microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.console\\10.0.1\\microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options\\10.0.1\\microsoft.extensions.options.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\10.0.1\\microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.primitives\\10.0.1\\microsoft.extensions.primitives.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.diagnostics.diagnosticsource\\10.0.1\\system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.io.pipelines\\10.0.1\\system.io.pipelines.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.encodings.web\\10.0.1\\system.text.encodings.web.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.json\\10.0.1\\system.text.json.10.0.1.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/logic/GameEngine/CollisionChecker.cs b/logic/GameEngine/CollisionChecker.cs
new file mode 100644
index 00000000..d9e2e7ac
--- /dev/null
+++ b/logic/GameEngine/CollisionChecker.cs
@@ -0,0 +1,129 @@
+using Preparation.Interface;
+using Preparation.Utility;
+using Preparation.Utility.Value;
+using Preparation.Utility.Value.SafeValue;
+using System;
+
+namespace GameEngine
+{
+ internal class CollisionChecker(IMap gameMap)
+ {
+ public IGameObj? CheckCollision(IMovable obj, XY Pos)
+ {
+ // 在列表中检查碰撞
+ IGameObj? CheckCollisionInList(LockedClassList lst)
+ {
+ return lst.Find(listObj => obj.WillCollideWith(listObj, Pos));
+ }
+
+ IGameObj? collisionObj;
+ foreach (var list in lists)
+ {
+ if ((collisionObj = CheckCollisionInList(list)) != null)
+ {
+ return collisionObj;
+ }
+ }
+
+ return null;
+ }
+ ///
+ /// 碰撞检测,如果这样行走是否会与之碰撞,返回与之碰撞的物体
+ ///
+ /// 移动的物体
+ /// 移动的位移向量
+ /// 和它碰撞的物体
+ public IGameObj? CheckCollisionWhenMoving(IMovable obj, XY moveVec)
+ {
+ XY nextPos = obj.Position + moveVec;
+ if (!obj.IsRigid())
+ {
+ if (gameMap.IsOutOfBound(obj))
+ return gameMap.GetOutOfBound(nextPos);
+ return null;
+ }
+ return CheckCollision(obj, nextPos);
+ }
+ public double FindMax(IMovable obj, XY moveVec)
+ {
+ XY nextPos = obj.Position + moveVec;
+ double tmpMax = uint.MaxValue; // 暂存最大值
+
+ double maxDistance = uint.MaxValue;
+ foreach (var lst in lists)
+ {
+ lst.ForEach(listObj =>
+ {
+ // 如果再走一步发生碰撞
+ if (obj.WillCollideWith(listObj, nextPos))
+ {
+ switch (listObj.Shape) // 默认obj为圆形
+ {
+ case ShapeType.CIRCLE:
+ {
+ // 计算两者之间的距离
+ double mod = XY.DistanceFloor3(listObj.Position, obj.Position);
+ int orgDeltaX = listObj.Position.x - obj.Position.x;
+ int orgDeltaY = listObj.Position.y - obj.Position.y;
+
+ if (mod < listObj.Radius + obj.Radius) // 如果两者已经重叠
+ {
+ tmpMax = 0;
+ }
+ else
+ {
+ double tmp = mod - obj.Radius - listObj.Radius;
+ // 计算能走的最长距离,好像这么算有一点误差?
+ tmp = (int)(tmp * 1000 / Math.Cos(Math.Atan2(orgDeltaY, orgDeltaX) - moveVec.Angle()));
+ if (tmp < 0 || tmp > uint.MaxValue || double.IsNaN(tmp))
+ {
+ tmpMax = uint.MaxValue;
+ }
+ else
+ tmpMax = tmp / 1000.0;
+ }
+ break;
+ }
+ case ShapeType.SQUARE:
+ {
+ // if (obj.WillCollideWith(listObj, obj.Position))
+ // tmpMax = 0;
+ // else tmpMax = MaxMoveToSquare(obj, listObj);
+ // break;
+ if (obj.WillCollideWith(listObj, obj.Position))
+ tmpMax = 0;
+ else
+ {
+ // 二分查找最大可能移动距离
+ int left = 0, right = (int)moveVec.Length();
+ while (left < right - 1)
+ {
+ int mid = (right - left) / 2 + left;
+ if (obj.WillCollideWith(listObj, obj.Position + new XY(moveVec, mid)))
+ {
+ right = mid;
+ }
+ else
+ left = mid;
+ }
+ tmpMax = (uint)left;
+ }
+ break;
+ }
+ default:
+ tmpMax = uint.MaxValue;
+ break;
+ }
+ if (tmpMax < maxDistance)
+ maxDistance = tmpMax;
+ }
+ }
+ );
+ }
+ return maxDistance;
+ }
+
+ readonly IMap gameMap = gameMap;
+ private readonly LockedClassList[] lists = [.. gameMap.GameObjDict.Values];
+ }
+}
diff --git a/logic/GameEngine/GameEngine.csproj b/logic/GameEngine/GameEngine.csproj
new file mode 100644
index 00000000..2a6fe16d
--- /dev/null
+++ b/logic/GameEngine/GameEngine.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/logic/GameEngine/MoveEngine.cs b/logic/GameEngine/MoveEngine.cs
new file mode 100644
index 00000000..ca390b7b
--- /dev/null
+++ b/logic/GameEngine/MoveEngine.cs
@@ -0,0 +1,245 @@
+using Microsoft.Extensions.Logging;
+using Preparation.Interface;
+using Preparation.Utility;
+using Preparation.Utility.Logging;
+using Preparation.Utility.Value;
+using System;
+using System.Threading;
+using Timothy.FrameRateTask;
+
+namespace GameEngine
+{
+ ///
+ /// Constrctor
+ ///
+ /// 游戏地图
+ ///
+ /// 发生碰撞时要做的事情
+ /// - 第一个参数为移动的物体
+ /// - 第二个参数为撞到的物体
+ /// - 第三个参数为移动的位移向量
+ /// 返回值见AfterCollision的定义
+ ///
+ /// 结束碰撞时要做的事情
+ public class MoveEngine(
+ IMap gameMap,
+ Func OnCollision,
+ Action EndMove
+ )
+ {
+ ///
+ /// 碰撞结束后要做的事情
+ ///
+ public enum AfterCollision
+ {
+ ContinueCheck = 0, // 碰撞后继续检查其他碰撞,暂时没用
+ MoveMax = 1, // 行走最远距离
+ Destroyed = 2, // 物体已经毁坏
+ Demage = 3
+ }
+
+ private readonly IMyTimer gameTimer = gameMap.Timer;
+ private readonly Action EndMove = EndMove;
+
+ public IGameObj? CheckCollision(IMovable obj, XY Pos)
+ {
+ return collisionChecker.CheckCollision(obj, Pos);
+ }
+
+ private readonly CollisionChecker collisionChecker = new(gameMap);
+ private readonly Func OnCollision = OnCollision;
+
+ ///
+ /// 在无碰撞的前提下行走最远的距离
+ ///
+ /// 移动物体,默认obj.Rigid为true
+ /// 移动的位移向量
+ private bool MoveMax(IMovable obj, XY moveVec, long stateNum, long speedIncrease = 0)
+ {
+ /*由于四周是墙,所以人物永远不可能与越界方块碰撞*/
+ double maxLen = collisionChecker.FindMax(obj, moveVec);
+ maxLen = Math.Min(maxLen, (obj.MoveSpeed + speedIncrease) / GameData.NumOfStepPerSecond);
+ return (obj.MovingSetPos(new XY(moveVec, maxLen), stateNum)) >= 0;
+ }
+
+ private bool LoopDo(IMovable obj, double direction, ref double deltaLen, long stateNum, long speedIncrease = 0)
+ {
+ double moveVecLength = (obj.MoveSpeed + speedIncrease) / GameData.NumOfStepPerSecond;
+ XY res = new(direction, moveVecLength);
+
+ // 越界情况处理:如果越界,则与越界方块碰撞
+ bool flag; // 循环标志
+ do
+ {
+ flag = false;
+ IGameObj? collisionObj = collisionChecker.CheckCollisionWhenMoving(obj, res);
+ if (collisionObj == null)
+ break;
+
+ switch (OnCollision(obj, collisionObj, res))
+ {
+ case AfterCollision.ContinueCheck:
+ flag = true;
+ break;
+ case AfterCollision.Destroyed:
+ LogicLogging.logger.LogDebug(
+ LogUtility.GetObjectInfo(obj)
+ + " collide with "
+ + LogUtility.GetObjectInfo(collisionObj)
+ + " and has been removed from the game");
+ return false;
+ case AfterCollision.MoveMax:
+ if (!MoveMax(obj, res, stateNum, speedIncrease)) return false;
+ moveVecLength = 0;
+ res = new XY(direction, moveVecLength);
+ break;
+ }
+ } while (flag);
+ long moveL = obj.MovingSetPos(res, stateNum);
+ if (moveL == -1) return false;
+ deltaLen = deltaLen + moveVecLength - Math.Sqrt(moveL);
+ return true;
+ }
+
+ public void MoveObj(IMovable obj, int moveTime, double direction, long stateNum, long speedIncrease = 0)
+ {
+ LogicLogging.logger.LogDebug(
+ LogUtility.GetObjectInfo(obj)
+ + $" position {obj.Position}, start moving in direction {direction}, with speed {obj.MoveSpeed + speedIncrease}");
+ if (!gameTimer.IsGaming) return;
+ lock (obj.ActionLock)
+ {
+ if (!obj.IsAvailableForMove) { EndMove(obj); return; }
+ obj.IsMoving.SetROri(true);
+ }
+ new Thread
+ (
+ () =>
+ {
+ double moveVecLength = 0.0;
+ XY res = new(direction, moveVecLength);
+ double deltaLen = 0.0; // 转向,并用deltaLen存储行走的误差
+ IGameObj? collisionObj = null;
+ bool isEnded = false;
+
+ bool flag; // 循环标志
+ do
+ {
+ flag = false;
+ collisionObj = collisionChecker.CheckCollision(obj, obj.Position);
+ if (collisionObj == null)
+ break;
+
+ switch (OnCollision(obj, collisionObj, res))
+ {
+ case AfterCollision.ContinueCheck:
+ flag = true;
+ break;
+ case AfterCollision.Destroyed:
+ LogicLogging.logger.LogDebug(
+ LogUtility.GetObjectInfo(obj)
+ + " collide with "
+ + LogUtility.GetObjectInfo(collisionObj)
+ + " and has been removed from the game");
+ isEnded = true;
+ break;
+ case AfterCollision.MoveMax:
+ break;
+ }
+ } while (flag);
+
+ if (isEnded)
+ {
+ obj.IsMoving.SetROri(false);
+ EndMove(obj);
+ return;
+ }
+ else
+ {
+ if (moveTime >= GameData.NumOfPosGridPerCell / GameData.NumOfStepPerSecond)
+ {
+ Thread.Sleep(GameData.NumOfPosGridPerCell / GameData.NumOfStepPerSecond);
+ new FrameRateTaskExecutor(
+ () => gameTimer.IsGaming,
+ () =>
+ {
+ if (obj.StateNum != stateNum || !obj.CanMove || obj.IsRemoved)
+ return !(isEnded = true);
+ return !(isEnded = !LoopDo(obj, direction, ref deltaLen, stateNum, speedIncrease));
+ },
+ GameData.NumOfPosGridPerCell / GameData.NumOfStepPerSecond,
+ () =>
+ {
+ return 0;
+ },
+ maxTotalDuration: moveTime - GameData.NumOfPosGridPerCell / GameData.NumOfStepPerSecond
+ )
+ {
+ AllowTimeExceed = true,
+ MaxTolerantTimeExceedCount = ulong.MaxValue,
+ TimeExceedAction = b =>
+ {
+ if (b) LogicLogging.logger.LogInfo(
+ "Fatal Error: The computer runs so slow that " +
+ "the object cannot finish moving during this time!!!!!!");
+ else LogicLogging.logger.LogDebug(
+ "Debug info: Object moving time exceed for once");
+ }
+ }.Start();
+ if (!isEnded && obj.StateNum == stateNum && obj.CanMove && !obj.IsRemoved)
+ isEnded = !LoopDo(obj, direction, ref deltaLen, stateNum, speedIncrease);
+ }
+ if (isEnded)
+ {
+ obj.IsMoving.SetROri(false);
+ EndMove(obj);
+ return;
+ }
+ if (obj.StateNum == stateNum && obj.CanMove && !obj.IsRemoved)
+ {
+ int leftTime = moveTime % (GameData.NumOfPosGridPerCell / GameData.NumOfStepPerSecond);
+ if (leftTime > 0)
+ {
+ Thread.Sleep(leftTime); // 多移动的在这里补回来
+ }
+ do
+ {
+ flag = false;
+ moveVecLength = (double)deltaLen + leftTime * (obj.MoveSpeed + speedIncrease) / GameData.NumOfPosGridPerCell;
+ res = new XY(direction, moveVecLength);
+ if ((collisionObj = collisionChecker.CheckCollisionWhenMoving(obj, res)) == null)
+ {
+ obj.MovingSetPos(res, stateNum);
+ }
+ else
+ {
+ switch (OnCollision(obj, collisionObj, res))
+ {
+ case AfterCollision.ContinueCheck:
+ flag = true;
+ break;
+ case AfterCollision.Destroyed:
+ LogicLogging.logger.LogDebug(
+ LogUtility.GetObjectInfo(obj)
+ + " collide with "
+ + LogUtility.GetObjectInfo(collisionObj)
+ + " and has been removed from the game");
+ isEnded = true;
+ break;
+ case AfterCollision.MoveMax:
+ MoveMax(obj, res, stateNum, speedIncrease);
+ moveVecLength = 0;
+ res = new XY(direction, moveVecLength);
+ break;
+ }
+ }
+ } while (flag);
+ }
+ obj.IsMoving.SetROri(false); // 结束移动
+ EndMove(obj);
+ }
+ }
+ ).Start();
+ }
+ }
+}
diff --git a/logic/GameEngine/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/logic/GameEngine/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 00000000..2217181c
--- /dev/null
+++ b/logic/GameEngine/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfo.cs b/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfo.cs
new file mode 100644
index 00000000..bf2d4e0d
--- /dev/null
+++ b/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("GameEngine")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+284be917a425b0385f267a32c248890a07244fc0")]
+[assembly: System.Reflection.AssemblyProductAttribute("GameEngine")]
+[assembly: System.Reflection.AssemblyTitleAttribute("GameEngine")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// 由 MSBuild WriteCodeFragment 类生成。
+
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfoInputs.cache b/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..01bce270
--- /dev/null
+++ b/logic/GameEngine/obj/Debug/net8.0/GameEngine.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+fc718c42635cf5a6cb55107d41ff2065404ba43f946b2a47dc131d98574ed7e7
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.GeneratedMSBuildEditorConfig.editorconfig b/logic/GameEngine/obj/Debug/net8.0/GameEngine.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..7fef79f4
--- /dev/null
+++ b/logic/GameEngine/obj/Debug/net8.0/GameEngine.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,15 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = GameEngine
+build_property.ProjectDir = C:\Users\lenovo\OneDrive\桌面\THUthu\THUAI9\logic\GameEngine\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.GlobalUsings.g.cs b/logic/GameEngine/obj/Debug/net8.0/GameEngine.GlobalUsings.g.cs
new file mode 100644
index 00000000..8578f3d0
--- /dev/null
+++ b/logic/GameEngine/obj/Debug/net8.0/GameEngine.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.assets.cache b/logic/GameEngine/obj/Debug/net8.0/GameEngine.assets.cache
new file mode 100644
index 00000000..c0a6d78c
Binary files /dev/null and b/logic/GameEngine/obj/Debug/net8.0/GameEngine.assets.cache differ
diff --git a/logic/GameEngine/obj/Debug/net8.0/GameEngine.csproj.AssemblyReference.cache b/logic/GameEngine/obj/Debug/net8.0/GameEngine.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..b52569d5
Binary files /dev/null and b/logic/GameEngine/obj/Debug/net8.0/GameEngine.csproj.AssemblyReference.cache differ
diff --git a/logic/GameEngine/obj/GameEngine.csproj.nuget.dgspec.json b/logic/GameEngine/obj/GameEngine.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..982fd3b6
--- /dev/null
+++ b/logic/GameEngine/obj/GameEngine.csproj.nuget.dgspec.json
@@ -0,0 +1,160 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj",
+ "projectName": "GameEngine",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "FrameRateTask": {
+ "target": "Package",
+ "version": "[1.2.0, )"
+ },
+ "Microsoft.Extensions.Logging": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ },
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "projectName": "Preparation",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Console": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/GameEngine/obj/GameEngine.csproj.nuget.g.props b/logic/GameEngine/obj/GameEngine.csproj.nuget.g.props
new file mode 100644
index 00000000..f6d9c953
--- /dev/null
+++ b/logic/GameEngine/obj/GameEngine.csproj.nuget.g.props
@@ -0,0 +1,16 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\lenovo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logic/GameEngine/obj/GameEngine.csproj.nuget.g.targets b/logic/GameEngine/obj/GameEngine.csproj.nuget.g.targets
new file mode 100644
index 00000000..026bb7bf
--- /dev/null
+++ b/logic/GameEngine/obj/GameEngine.csproj.nuget.g.targets
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logic/GameEngine/obj/project.assets.json b/logic/GameEngine/obj/project.assets.json
new file mode 100644
index 00000000..b7626301
--- /dev/null
+++ b/logic/GameEngine/obj/project.assets.json
@@ -0,0 +1,1058 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {
+ "FrameRateTask/1.2.0": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/FrameRateTask.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/FrameRateTask.dll": {
+ "related": ".xml"
+ }
+ }
+ },
+ "Microsoft.Extensions.Configuration/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "System.Diagnostics.DiagnosticSource": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "System.Text.Json": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Options/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "Microsoft.Extensions.Primitives/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.IO.Pipelines/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.IO.Pipelines.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ }
+ },
+ "System.Text.Encodings.Web/10.0.1": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/System.Text.Encodings.Web.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Text.Encodings.Web.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/_._": {}
+ },
+ "runtimeTargets": {
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": {
+ "assetType": "runtime",
+ "rid": "browser"
+ }
+ }
+ },
+ "System.Text.Json/10.0.1": {
+ "type": "package",
+ "dependencies": {
+ "System.IO.Pipelines": "10.0.1",
+ "System.Text.Encodings.Web": "10.0.1"
+ },
+ "compile": {
+ "lib/net8.0/System.Text.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net8.0/System.Text.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "build": {
+ "buildTransitive/net8.0/System.Text.Json.targets": {}
+ }
+ },
+ "Preparation/1.0.0": {
+ "type": "project",
+ "framework": ".NETCoreApp,Version=v8.0",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Console": "10.0.1"
+ },
+ "compile": {
+ "bin/placeholder/Preparation.dll": {}
+ },
+ "runtime": {
+ "bin/placeholder/Preparation.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "FrameRateTask/1.2.0": {
+ "sha512": "O4CEk9E+CS9okF31u+vcuIux4eWypuFgK8mwh/aoMCXGImeo6VYIojUu57eVwcp5JfT/Kb4h9Aflmv2O+JJIyg==",
+ "type": "package",
+ "path": "frameratetask/1.2.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.txt",
+ "README.md",
+ "frameratetask.1.2.0.nupkg.sha512",
+ "frameratetask.nuspec",
+ "lib/net5.0/FrameRateTask.dll",
+ "lib/net5.0/FrameRateTask.xml",
+ "lib/net6.0/FrameRateTask.dll",
+ "lib/net6.0/FrameRateTask.xml",
+ "lib/netcoreapp3.1/FrameRateTask.dll",
+ "lib/netcoreapp3.1/FrameRateTask.xml"
+ ]
+ },
+ "Microsoft.Extensions.Configuration/10.0.1": {
+ "sha512": "njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml",
+ "microsoft.extensions.configuration.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
+ "sha512": "kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
+ "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
+ "sha512": "Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
+ "type": "package",
+ "path": "microsoft.extensions.configuration.binder/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll",
+ "analyzers/dotnet/cs/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/de/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/es/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/fr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/it/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ja/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ko/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pl/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/pt-BR/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/ru/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/tr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hans/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "analyzers/dotnet/cs/zh-Hant/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net10.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net462/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net8.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/net9.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
+ "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
+ "microsoft.extensions.configuration.binder.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
+ "sha512": "zerXV0GAR9LCSXoSIApbWn+Dq1/T+6vbXMHGduq1LoVQRHT0BXsGQEau0jeLUBUcsoF/NaUT8ADPu8b+eNcIyg==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
+ "microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
+ "sha512": "oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
+ "type": "package",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
+ "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging/10.0.1": {
+ "sha512": "9ItMpMLFZFJFqCuHLLbR3LiA4ahA8dMtYuXpXl2YamSDWZhYS9BruPprkftY0tYi2bQ0slNrixdFm+4kpz1g5w==",
+ "type": "package",
+ "path": "microsoft.extensions.logging/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.xml",
+ "lib/net462/Microsoft.Extensions.Logging.dll",
+ "lib/net462/Microsoft.Extensions.Logging.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
+ "microsoft.extensions.logging.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
+ "sha512": "YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.abstractions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
+ "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.abstractions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
+ "sha512": "Zg8LLnfZs5o2RCHD/+9NfDtJ40swauemwCa7sI8gQoAye/UJHRZNpCtC7a5XE7l9Z7mdI8iMWnLZ6m7Q6S3jLg==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.configuration/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml",
+ "microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.configuration.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
+ "sha512": "38Q8sEHwQ/+wVO/mwQBa0fcdHbezFpusHE+vBw/dSr6Fq/kzZm3H/NQX511Jki/R3FHd64IY559gdlHZQtYeEA==",
+ "type": "package",
+ "path": "microsoft.extensions.logging.console/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets",
+ "lib/net10.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net10.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net462/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net462/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net8.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/net9.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/net9.0/Microsoft.Extensions.Logging.Console.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml",
+ "microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
+ "microsoft.extensions.logging.console.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Options/10.0.1": {
+ "sha512": "G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
+ "type": "package",
+ "path": "microsoft.extensions.options/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
+ "buildTransitive/net461/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net462/Microsoft.Extensions.Options.targets",
+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
+ "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
+ "lib/net10.0/Microsoft.Extensions.Options.dll",
+ "lib/net10.0/Microsoft.Extensions.Options.xml",
+ "lib/net462/Microsoft.Extensions.Options.dll",
+ "lib/net462/Microsoft.Extensions.Options.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.xml",
+ "lib/net9.0/Microsoft.Extensions.Options.dll",
+ "lib/net9.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.xml",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.dll",
+ "lib/netstandard2.1/Microsoft.Extensions.Options.xml",
+ "microsoft.extensions.options.10.0.1.nupkg.sha512",
+ "microsoft.extensions.options.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
+ "sha512": "pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
+ "type": "package",
+ "path": "microsoft.extensions.options.configurationextensions/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.ConfigurationExtensions.targets",
+ "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
+ "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
+ "microsoft.extensions.options.configurationextensions.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Microsoft.Extensions.Primitives/10.0.1": {
+ "sha512": "DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
+ "type": "package",
+ "path": "microsoft.extensions.primitives/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
+ "lib/net10.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net10.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net462/Microsoft.Extensions.Primitives.dll",
+ "lib/net462/Microsoft.Extensions.Primitives.xml",
+ "lib/net8.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net8.0/Microsoft.Extensions.Primitives.xml",
+ "lib/net9.0/Microsoft.Extensions.Primitives.dll",
+ "lib/net9.0/Microsoft.Extensions.Primitives.xml",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
+ "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
+ "microsoft.extensions.primitives.10.0.1.nupkg.sha512",
+ "microsoft.extensions.primitives.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
+ "sha512": "wVYO4/71Pk177uQ3TG8ZQFS3Pnmr98cF9pYxnpuIb/bMnbEWsdZZoLU/euv29mfSi2/Iuypj0TRUchPk7aqBGg==",
+ "type": "package",
+ "path": "system.diagnostics.diagnosticsource/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets",
+ "lib/net10.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net10.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net462/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net462/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net8.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/net9.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/net9.0/System.Diagnostics.DiagnosticSource.xml",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll",
+ "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml",
+ "system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
+ "system.diagnostics.diagnosticsource.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.IO.Pipelines/10.0.1": {
+ "sha512": "26LbFXHKd7PmRnWlkjnYgmjd5B6HYVG+1MpTO25BdxTJnx6D0O16JPAC/S4YBqjtt4YpfGj1QO/Ss6SPMGEGQw==",
+ "type": "package",
+ "path": "system.io.pipelines/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.IO.Pipelines.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets",
+ "lib/net10.0/System.IO.Pipelines.dll",
+ "lib/net10.0/System.IO.Pipelines.xml",
+ "lib/net462/System.IO.Pipelines.dll",
+ "lib/net462/System.IO.Pipelines.xml",
+ "lib/net8.0/System.IO.Pipelines.dll",
+ "lib/net8.0/System.IO.Pipelines.xml",
+ "lib/net9.0/System.IO.Pipelines.dll",
+ "lib/net9.0/System.IO.Pipelines.xml",
+ "lib/netstandard2.0/System.IO.Pipelines.dll",
+ "lib/netstandard2.0/System.IO.Pipelines.xml",
+ "system.io.pipelines.10.0.1.nupkg.sha512",
+ "system.io.pipelines.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Text.Encodings.Web/10.0.1": {
+ "sha512": "cVAka0o1rJJ5/De0pjNs7jcaZk5hUGf1HGzUyVmE2MEB1Vf0h/8qsWxImk1zjitCbeD2Avaq2P2+usdvqgbeVQ==",
+ "type": "package",
+ "path": "system.text.encodings.web/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "buildTransitive/net461/System.Text.Encodings.Web.targets",
+ "buildTransitive/net462/_._",
+ "buildTransitive/net8.0/_._",
+ "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets",
+ "lib/net10.0/System.Text.Encodings.Web.dll",
+ "lib/net10.0/System.Text.Encodings.Web.xml",
+ "lib/net462/System.Text.Encodings.Web.dll",
+ "lib/net462/System.Text.Encodings.Web.xml",
+ "lib/net8.0/System.Text.Encodings.Web.dll",
+ "lib/net8.0/System.Text.Encodings.Web.xml",
+ "lib/net9.0/System.Text.Encodings.Web.dll",
+ "lib/net9.0/System.Text.Encodings.Web.xml",
+ "lib/netstandard2.0/System.Text.Encodings.Web.dll",
+ "lib/netstandard2.0/System.Text.Encodings.Web.xml",
+ "runtimes/browser/lib/net10.0/System.Text.Encodings.Web.dll",
+ "runtimes/browser/lib/net10.0/System.Text.Encodings.Web.xml",
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll",
+ "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml",
+ "runtimes/wasi/lib/net10.0/System.Text.Encodings.Web.dll",
+ "runtimes/wasi/lib/net10.0/System.Text.Encodings.Web.xml",
+ "runtimes/win/lib/net9.0/System.Text.Encodings.Web.dll",
+ "runtimes/win/lib/net9.0/System.Text.Encodings.Web.xml",
+ "system.text.encodings.web.10.0.1.nupkg.sha512",
+ "system.text.encodings.web.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "System.Text.Json/10.0.1": {
+ "sha512": "EsgwDgU1PFqhrFA9l5n+RBu76wFhNGCEwu8ITrBNhjPP3MxLyklroU5GIF8o6JYpYg6T4KD/VICfMdgPAvNp5g==",
+ "type": "package",
+ "path": "system.text.json/10.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "PACKAGE.md",
+ "THIRD-PARTY-NOTICES.TXT",
+ "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll",
+ "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll",
+ "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll",
+ "buildTransitive/net461/System.Text.Json.targets",
+ "buildTransitive/net462/System.Text.Json.targets",
+ "buildTransitive/net8.0/System.Text.Json.targets",
+ "buildTransitive/netcoreapp2.0/System.Text.Json.targets",
+ "buildTransitive/netstandard2.0/System.Text.Json.targets",
+ "lib/net10.0/System.Text.Json.dll",
+ "lib/net10.0/System.Text.Json.xml",
+ "lib/net462/System.Text.Json.dll",
+ "lib/net462/System.Text.Json.xml",
+ "lib/net8.0/System.Text.Json.dll",
+ "lib/net8.0/System.Text.Json.xml",
+ "lib/net9.0/System.Text.Json.dll",
+ "lib/net9.0/System.Text.Json.xml",
+ "lib/netstandard2.0/System.Text.Json.dll",
+ "lib/netstandard2.0/System.Text.Json.xml",
+ "system.text.json.10.0.1.nupkg.sha512",
+ "system.text.json.nuspec",
+ "useSharedDesignerContext.txt"
+ ]
+ },
+ "Preparation/1.0.0": {
+ "type": "project",
+ "path": "../Preparation/Preparation.csproj",
+ "msbuildProject": "../Preparation/Preparation.csproj"
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net8.0": [
+ "FrameRateTask >= 1.2.0",
+ "Microsoft.Extensions.Logging >= 10.0.1",
+ "Preparation >= 1.0.0"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\lenovo\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj",
+ "projectName": "GameEngine",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj"
+ }
+ }
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "FrameRateTask": {
+ "target": "Package",
+ "version": "[1.2.0, )"
+ },
+ "Microsoft.Extensions.Logging": {
+ "target": "Package",
+ "version": "[10.0.1, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/GameEngine/obj/project.nuget.cache b/logic/GameEngine/obj/project.nuget.cache
new file mode 100644
index 00000000..ebbabb43
--- /dev/null
+++ b/logic/GameEngine/obj/project.nuget.cache
@@ -0,0 +1,26 @@
+{
+ "version": 2,
+ "dgSpecHash": "kHr0gPh2EF8=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\GameEngine\\GameEngine.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\lenovo\\.nuget\\packages\\frameratetask\\1.2.0\\frameratetask.1.2.0.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.1\\microsoft.extensions.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.1\\microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.1\\microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.1\\microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.1\\microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging\\10.0.1\\microsoft.extensions.logging.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.1\\microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.configuration\\10.0.1\\microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.console\\10.0.1\\microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options\\10.0.1\\microsoft.extensions.options.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\10.0.1\\microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.primitives\\10.0.1\\microsoft.extensions.primitives.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.diagnostics.diagnosticsource\\10.0.1\\system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.io.pipelines\\10.0.1\\system.io.pipelines.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.encodings.web\\10.0.1\\system.text.encodings.web.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.json\\10.0.1\\system.text.json.10.0.1.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/logic/logic/Gaming/ActionManager.cs b/logic/Gaming/ActionManager.cs
similarity index 100%
rename from logic/logic/Gaming/ActionManager.cs
rename to logic/Gaming/ActionManager.cs
diff --git a/logic/logic/Gaming/AttackManager.cs b/logic/Gaming/AttackManager.cs
similarity index 100%
rename from logic/logic/Gaming/AttackManager.cs
rename to logic/Gaming/AttackManager.cs
diff --git a/logic/logic/Gaming/CharacterManager.cs b/logic/Gaming/CharacterManager.cs
similarity index 100%
rename from logic/logic/Gaming/CharacterManager.cs
rename to logic/Gaming/CharacterManager.cs
diff --git a/logic/logic/Gaming/Game.cs b/logic/Gaming/Game.cs
similarity index 100%
rename from logic/logic/Gaming/Game.cs
rename to logic/Gaming/Game.cs
diff --git a/logic/Gaming/Gaming.csproj b/logic/Gaming/Gaming.csproj
new file mode 100644
index 00000000..fa71b7ae
--- /dev/null
+++ b/logic/Gaming/Gaming.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/logic/logic/Gaming/Produce.cs b/logic/Gaming/Produce.cs
similarity index 100%
rename from logic/logic/Gaming/Produce.cs
rename to logic/Gaming/Produce.cs
diff --git a/logic/logic/Gaming/ResourceManager.cs b/logic/Gaming/ResourceManager.cs
similarity index 100%
rename from logic/logic/Gaming/ResourceManager.cs
rename to logic/Gaming/ResourceManager.cs
diff --git a/logic/logic/Gaming/Trade.cs b/logic/Gaming/Trade.cs
similarity index 100%
rename from logic/logic/Gaming/Trade.cs
rename to logic/Gaming/Trade.cs
diff --git a/logic/logic/Gaming/Uplevel.cs b/logic/Gaming/Uplevel.cs
similarity index 100%
rename from logic/logic/Gaming/Uplevel.cs
rename to logic/Gaming/Uplevel.cs
diff --git a/logic/Gaming/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/logic/Gaming/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 00000000..2217181c
--- /dev/null
+++ b/logic/Gaming/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/logic/logic/obj/Debug/net8.0/logic.AssemblyInfo.cs b/logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfo.cs
similarity index 75%
rename from logic/logic/obj/Debug/net8.0/logic.AssemblyInfo.cs
rename to logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfo.cs
index 7cfff1ec..03452aec 100644
--- a/logic/logic/obj/Debug/net8.0/logic.AssemblyInfo.cs
+++ b/logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfo.cs
@@ -11,12 +11,12 @@
using System;
using System.Reflection;
-[assembly: System.Reflection.AssemblyCompanyAttribute("logic")]
+[assembly: System.Reflection.AssemblyCompanyAttribute("Gaming")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8c52a7a53d7c216e885a3d33b3eb809a8836fd1a")]
-[assembly: System.Reflection.AssemblyProductAttribute("logic")]
-[assembly: System.Reflection.AssemblyTitleAttribute("logic")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+50f1ce65ea96c055f600099d13b1cda8c96268be")]
+[assembly: System.Reflection.AssemblyProductAttribute("Gaming")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Gaming")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
diff --git a/logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfoInputs.cache b/logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..48f1f0ea
--- /dev/null
+++ b/logic/Gaming/obj/Debug/net8.0/Gaming.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+dc4d650e3410f38bd611022f0dd782a0682666575f18126e73d74183509ced65
diff --git a/logic/logic/obj/Debug/net8.0/logic.GeneratedMSBuildEditorConfig.editorconfig b/logic/Gaming/obj/Debug/net8.0/Gaming.GeneratedMSBuildEditorConfig.editorconfig
similarity index 90%
rename from logic/logic/obj/Debug/net8.0/logic.GeneratedMSBuildEditorConfig.editorconfig
rename to logic/Gaming/obj/Debug/net8.0/Gaming.GeneratedMSBuildEditorConfig.editorconfig
index b801331b..9e5644cd 100644
--- a/logic/logic/obj/Debug/net8.0/logic.GeneratedMSBuildEditorConfig.editorconfig
+++ b/logic/Gaming/obj/Debug/net8.0/Gaming.GeneratedMSBuildEditorConfig.editorconfig
@@ -7,8 +7,8 @@ build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
-build_property.RootNamespace = logic
-build_property.ProjectDir = C:\Users\lenovo\OneDrive\桌面\THUthu\THUAI9\logic\logic\
+build_property.RootNamespace = Gaming
+build_property.ProjectDir = C:\Users\lenovo\OneDrive\桌面\THUthu\THUAI9\logic\Gaming\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0
diff --git a/logic/Gaming/obj/Debug/net8.0/Gaming.GlobalUsings.g.cs b/logic/Gaming/obj/Debug/net8.0/Gaming.GlobalUsings.g.cs
new file mode 100644
index 00000000..8578f3d0
--- /dev/null
+++ b/logic/Gaming/obj/Debug/net8.0/Gaming.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/logic/Gaming/obj/Debug/net8.0/Gaming.assets.cache b/logic/Gaming/obj/Debug/net8.0/Gaming.assets.cache
new file mode 100644
index 00000000..6208d2a2
Binary files /dev/null and b/logic/Gaming/obj/Debug/net8.0/Gaming.assets.cache differ
diff --git a/logic/Gaming/obj/Gaming.csproj.nuget.dgspec.json b/logic/Gaming/obj/Gaming.csproj.nuget.dgspec.json
new file mode 100644
index 00000000..a8c89d7f
--- /dev/null
+++ b/logic/Gaming/obj/Gaming.csproj.nuget.dgspec.json
@@ -0,0 +1,74 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj",
+ "projectName": "Gaming",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/Gaming/obj/Gaming.csproj.nuget.g.props b/logic/Gaming/obj/Gaming.csproj.nuget.g.props
new file mode 100644
index 00000000..f6d9c953
--- /dev/null
+++ b/logic/Gaming/obj/Gaming.csproj.nuget.g.props
@@ -0,0 +1,16 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\lenovo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logic/Gaming/obj/Gaming.csproj.nuget.g.targets b/logic/Gaming/obj/Gaming.csproj.nuget.g.targets
new file mode 100644
index 00000000..3dc06ef3
--- /dev/null
+++ b/logic/Gaming/obj/Gaming.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/logic/Gaming/obj/project.assets.json b/logic/Gaming/obj/project.assets.json
new file mode 100644
index 00000000..b7f7a707
--- /dev/null
+++ b/logic/Gaming/obj/project.assets.json
@@ -0,0 +1,80 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {}
+ },
+ "libraries": {},
+ "projectFileDependencyGroups": {
+ "net8.0": []
+ },
+ "packageFolders": {
+ "C:\\Users\\lenovo\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj",
+ "projectName": "Gaming",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj",
+ "packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\lenovo\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ },
+ "SdkAnalysisLevel": "9.0.300"
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.307/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/logic/Gaming/obj/project.nuget.cache b/logic/Gaming/obj/project.nuget.cache
new file mode 100644
index 00000000..2369ded4
--- /dev/null
+++ b/logic/Gaming/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{
+ "version": 2,
+ "dgSpecHash": "kXB8h1Na1eg=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Gaming\\Gaming.csproj",
+ "expectedPackageFiles": [],
+ "logs": []
+}
\ No newline at end of file
diff --git a/logic/logic/Preparation/Interface/ICharacter.cs b/logic/Preparation/Interface/ICharacter.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/ICharacter.cs
rename to logic/Preparation/Interface/ICharacter.cs
diff --git a/logic/logic/Preparation/Interface/IFactory.cs b/logic/Preparation/Interface/IFactory.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IFactory.cs
rename to logic/Preparation/Interface/IFactory.cs
diff --git a/logic/logic/Preparation/Interface/IGameObj.cs b/logic/Preparation/Interface/IGameObj.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IGameObj.cs
rename to logic/Preparation/Interface/IGameObj.cs
diff --git a/logic/logic/Preparation/Interface/IGoods.cs b/logic/Preparation/Interface/IGoods.cs
similarity index 80%
rename from logic/logic/Preparation/Interface/IGoods.cs
rename to logic/Preparation/Interface/IGoods.cs
index 1ec146f3..3c234d90 100644
--- a/logic/logic/Preparation/Interface/IGoods.cs
+++ b/logic/Preparation/Interface/IGoods.cs
@@ -7,7 +7,7 @@ public interface IGoods
{
public int Cost { get; }
public int Price { get; }
- public GoodsType goodsType { get; }
+ public GoodsType GoodsType { get; }
}
}
diff --git a/logic/logic/Preparation/Interface/IMap.cs b/logic/Preparation/Interface/IMap.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IMap.cs
rename to logic/Preparation/Interface/IMap.cs
diff --git a/logic/logic/Preparation/Interface/IMovable.cs b/logic/Preparation/Interface/IMovable.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IMovable.cs
rename to logic/Preparation/Interface/IMovable.cs
diff --git a/logic/logic/Preparation/Interface/IObjPool.cs b/logic/Preparation/Interface/IObjPool.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IObjPool.cs
rename to logic/Preparation/Interface/IObjPool.cs
diff --git a/logic/logic/Preparation/Interface/IOccupation.cs b/logic/Preparation/Interface/IOccupation.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IOccupation.cs
rename to logic/Preparation/Interface/IOccupation.cs
diff --git a/logic/logic/Preparation/Interface/IOutOfBound.cs b/logic/Preparation/Interface/IOutOfBound.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IOutOfBound.cs
rename to logic/Preparation/Interface/IOutOfBound.cs
diff --git a/logic/logic/Preparation/Interface/IPlayer.cs b/logic/Preparation/Interface/IPlayer.cs
similarity index 100%
rename from logic/logic/Preparation/Interface/IPlayer.cs
rename to logic/Preparation/Interface/IPlayer.cs
diff --git a/logic/logic/Preparation/Interface/Tech.cs b/logic/Preparation/Interface/Tech.cs
similarity index 79%
rename from logic/logic/Preparation/Interface/Tech.cs
rename to logic/Preparation/Interface/Tech.cs
index ad0fe45a..d156079a 100644
--- a/logic/logic/Preparation/Interface/Tech.cs
+++ b/logic/Preparation/Interface/Tech.cs
@@ -1,4 +1,4 @@
-namespace Preperation.Interface
+namespace Preparation.Interface
{
public interface Tech
{
@@ -17,9 +17,9 @@ public interface SpeedTech : Tech
{
public double SpeedIncrease { get; }
}
- public interface EfficencyTech : Tech
+ public interface EfficiencyTech : Tech
{
- public double EfficencyIncrease { get; }
+ public double EfficiencyIncrease { get; }
}
public interface CapacityTech : Tech
{
diff --git a/logic/Preparation/Preparation.csproj b/logic/Preparation/Preparation.csproj
new file mode 100644
index 00000000..95ade617
--- /dev/null
+++ b/logic/Preparation/Preparation.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/logic/logic/Preparation/Utility/EnumType.cs b/logic/Preparation/Utility/EnumType.cs
similarity index 98%
rename from logic/logic/Preparation/Utility/EnumType.cs
rename to logic/Preparation/Utility/EnumType.cs
index 122d9a90..b8b5bd97 100644
--- a/logic/logic/Preparation/Utility/EnumType.cs
+++ b/logic/Preparation/Utility/EnumType.cs
@@ -24,6 +24,8 @@ public enum GameObjType : uint
FACTORY = 7,
GOODS = 8,
BRAIN = 9,
+ OUTOFBOUNDBLOCK = 10,
+ SPACE = 11
}
public enum ComputeCenterType
diff --git a/logic/logic/Preparation/Utility/GameData.cs b/logic/Preparation/Utility/GameData.cs
similarity index 98%
rename from logic/logic/Preparation/Utility/GameData.cs
rename to logic/Preparation/Utility/GameData.cs
index 5f2e332b..b8f3ad56 100644
--- a/logic/logic/Preparation/Utility/GameData.cs
+++ b/logic/Preparation/Utility/GameData.cs
@@ -46,6 +46,8 @@ public static class GameData
public const int RobotATKpower = 1;
public const int RobotMaxLoad = 5;
+ public const int ComputeCenterRadius = 2;
+
public static XY PosNotInGame = new(-1, -1); // 不在游戏中的坐标
public static XY GetCellCenterPos(int x, int y) // 求格子的中心坐标
diff --git a/logic/logic/Preparation/Utility/Logger.cs b/logic/Preparation/Utility/Logger.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Logger.cs
rename to logic/Preparation/Utility/Logger.cs
diff --git a/logic/logic/Preparation/Utility/MapEncoder.cs b/logic/Preparation/Utility/MapEncoder.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/MapEncoder.cs
rename to logic/Preparation/Utility/MapEncoder.cs
diff --git a/logic/logic/Preparation/Utility/UtilityLogging.cs b/logic/Preparation/Utility/UtilityLogging.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/UtilityLogging.cs
rename to logic/Preparation/Utility/UtilityLogging.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/Atomic.cs b/logic/Preparation/Utility/Value/SafeValue/Atomic.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/Atomic.cs
rename to logic/Preparation/Utility/Value/SafeValue/Atomic.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/AtomicInt.cs b/logic/Preparation/Utility/Value/SafeValue/AtomicInt.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/AtomicInt.cs
rename to logic/Preparation/Utility/Value/SafeValue/AtomicInt.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/ListLocked.cs b/logic/Preparation/Utility/Value/SafeValue/ListLocked.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/ListLocked.cs
rename to logic/Preparation/Utility/Value/SafeValue/ListLocked.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/InRangeTimeBased.cs b/logic/Preparation/Utility/Value/SafeValue/LockedValue/InRangeTimeBased.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/InRangeTimeBased.cs
rename to logic/Preparation/Utility/Value/SafeValue/LockedValue/InRangeTimeBased.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/InTheRange.cs b/logic/Preparation/Utility/Value/SafeValue/LockedValue/InTheRange.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/InTheRange.cs
rename to logic/Preparation/Utility/Value/SafeValue/LockedValue/InTheRange.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedDouble.cs b/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedDouble.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedDouble.cs
rename to logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedDouble.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedValue.cs b/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedValue.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedValue.cs
rename to logic/Preparation/Utility/Value/SafeValue/LockedValue/LockedValue.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/PositiveV.cs b/logic/Preparation/Utility/Value/SafeValue/LockedValue/PositiveV.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/LockedValue/PositiveV.cs
rename to logic/Preparation/Utility/Value/SafeValue/LockedValue/PositiveV.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/MyTimer.cs b/logic/Preparation/Utility/Value/SafeValue/MyTimer.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/MyTimer.cs
rename to logic/Preparation/Utility/Value/SafeValue/MyTimer.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/ObjPool.cs b/logic/Preparation/Utility/Value/SafeValue/ObjPool.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/ObjPool.cs
rename to logic/Preparation/Utility/Value/SafeValue/ObjPool.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/SafeMethod/InterlockedEx.cs b/logic/Preparation/Utility/Value/SafeValue/SafeMethod/InterlockedEx.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/SafeMethod/InterlockedEx.cs
rename to logic/Preparation/Utility/Value/SafeValue/SafeMethod/InterlockedEx.cs
diff --git a/logic/logic/Preparation/Utility/Value/SafeValue/TimeBased.cs b/logic/Preparation/Utility/Value/SafeValue/TimeBased.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/SafeValue/TimeBased.cs
rename to logic/Preparation/Utility/Value/SafeValue/TimeBased.cs
diff --git a/logic/logic/Preparation/Utility/Value/XY.cs b/logic/Preparation/Utility/Value/XY.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/Value/XY.cs
rename to logic/Preparation/Utility/Value/XY.cs
diff --git a/logic/logic/Preparation/Utility/ValueInterface/IAddable.cs b/logic/Preparation/Utility/ValueInterface/IAddable.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/ValueInterface/IAddable.cs
rename to logic/Preparation/Utility/ValueInterface/IAddable.cs
diff --git a/logic/logic/Preparation/Utility/ValueInterface/IDouble.cs b/logic/Preparation/Utility/ValueInterface/IDouble.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/ValueInterface/IDouble.cs
rename to logic/Preparation/Utility/ValueInterface/IDouble.cs
diff --git a/logic/logic/Preparation/Utility/ValueInterface/IMyTimer.cs b/logic/Preparation/Utility/ValueInterface/IMyTimer.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/ValueInterface/IMyTimer.cs
rename to logic/Preparation/Utility/ValueInterface/IMyTimer.cs
diff --git a/logic/logic/Preparation/Utility/ValueInterface/IReturnClass.cs b/logic/Preparation/Utility/ValueInterface/IReturnClass.cs
similarity index 100%
rename from logic/logic/Preparation/Utility/ValueInterface/IReturnClass.cs
rename to logic/Preparation/Utility/ValueInterface/IReturnClass.cs
diff --git a/logic/Preparation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/logic/Preparation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 00000000..2217181c
--- /dev/null
+++ b/logic/Preparation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfo.cs b/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfo.cs
new file mode 100644
index 00000000..a5de6764
--- /dev/null
+++ b/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Preparation")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+284be917a425b0385f267a32c248890a07244fc0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Preparation")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Preparation")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// 由 MSBuild WriteCodeFragment 类生成。
+
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfoInputs.cache b/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfoInputs.cache
new file mode 100644
index 00000000..90ade74c
--- /dev/null
+++ b/logic/Preparation/obj/Debug/net8.0/Preparation.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+fb68b7e9645d5ee962a7793c92e50126bd7e5e48e28660bcadaf5b5d0f3fa628
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.GeneratedMSBuildEditorConfig.editorconfig b/logic/Preparation/obj/Debug/net8.0/Preparation.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 00000000..9afa24eb
--- /dev/null
+++ b/logic/Preparation/obj/Debug/net8.0/Preparation.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,15 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Preparation
+build_property.ProjectDir = C:\Users\lenovo\OneDrive\桌面\THUthu\THUAI9\logic\Preparation\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 8.0
+build_property.EnableCodeStyleSeverity =
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.GlobalUsings.g.cs b/logic/Preparation/obj/Debug/net8.0/Preparation.GlobalUsings.g.cs
new file mode 100644
index 00000000..8578f3d0
--- /dev/null
+++ b/logic/Preparation/obj/Debug/net8.0/Preparation.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.assets.cache b/logic/Preparation/obj/Debug/net8.0/Preparation.assets.cache
new file mode 100644
index 00000000..a12ebf63
Binary files /dev/null and b/logic/Preparation/obj/Debug/net8.0/Preparation.assets.cache differ
diff --git a/logic/Preparation/obj/Debug/net8.0/Preparation.csproj.AssemblyReference.cache b/logic/Preparation/obj/Debug/net8.0/Preparation.csproj.AssemblyReference.cache
new file mode 100644
index 00000000..c028c05f
Binary files /dev/null and b/logic/Preparation/obj/Debug/net8.0/Preparation.csproj.AssemblyReference.cache differ
diff --git a/logic/logic/obj/logic.csproj.nuget.dgspec.json b/logic/Preparation/obj/Preparation.csproj.nuget.dgspec.json
similarity index 86%
rename from logic/logic/obj/logic.csproj.nuget.dgspec.json
rename to logic/Preparation/obj/Preparation.csproj.nuget.dgspec.json
index 6cc88d6b..2356bbca 100644
--- a/logic/logic/obj/logic.csproj.nuget.dgspec.json
+++ b/logic/Preparation/obj/Preparation.csproj.nuget.dgspec.json
@@ -1,17 +1,17 @@
{
"format": 1,
"restore": {
- "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj": {}
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {}
},
"projects": {
- "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj": {
+ "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj",
- "projectName": "logic",
- "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj",
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "projectName": "Preparation",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
"packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
- "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\obj\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
@@ -51,13 +51,9 @@
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
- "Microsoft.Extensions.Logging": {
- "target": "Package",
- "version": "[10.0.0, )"
- },
"Microsoft.Extensions.Logging.Console": {
"target": "Package",
- "version": "[10.0.0, )"
+ "version": "[10.0.1, )"
}
},
"imports": [
diff --git a/logic/Preparation/obj/Preparation.csproj.nuget.g.props b/logic/Preparation/obj/Preparation.csproj.nuget.g.props
new file mode 100644
index 00000000..f6d9c953
--- /dev/null
+++ b/logic/Preparation/obj/Preparation.csproj.nuget.g.props
@@ -0,0 +1,16 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\lenovo\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.14.1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logic/Preparation/obj/Preparation.csproj.nuget.g.targets b/logic/Preparation/obj/Preparation.csproj.nuget.g.targets
new file mode 100644
index 00000000..026bb7bf
--- /dev/null
+++ b/logic/Preparation/obj/Preparation.csproj.nuget.g.targets
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logic/logic/obj/project.assets.json b/logic/Preparation/obj/project.assets.json
similarity index 86%
rename from logic/logic/obj/project.assets.json
rename to logic/Preparation/obj/project.assets.json
index c6bda646..2a97ebc0 100644
--- a/logic/logic/obj/project.assets.json
+++ b/logic/Preparation/obj/project.assets.json
@@ -2,11 +2,11 @@
"version": 3,
"targets": {
"net8.0": {
- "Microsoft.Extensions.Configuration/10.0.0": {
+ "Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
- "Microsoft.Extensions.Primitives": "10.0.0"
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Configuration.dll": {
@@ -22,10 +22,10 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.0"
+ "Microsoft.Extensions.Primitives": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
@@ -41,11 +41,11 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Configuration.Binder/10.0.0": {
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.0",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.0"
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": {
@@ -61,10 +61,10 @@
"buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
}
},
- "Microsoft.Extensions.DependencyInjection/10.0.0": {
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": {
@@ -80,7 +80,7 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"compile": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
@@ -96,12 +96,12 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Logging/10.0.0": {
+ "Microsoft.Extensions.Logging/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
- "Microsoft.Extensions.Options": "10.0.0"
+ "Microsoft.Extensions.DependencyInjection": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Logging.dll": {
@@ -117,11 +117,11 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
- "System.Diagnostics.DiagnosticSource": "10.0.0"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "System.Diagnostics.DiagnosticSource": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
@@ -137,17 +137,17 @@
"buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
}
},
- "Microsoft.Extensions.Logging.Configuration/10.0.0": {
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.0",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
- "Microsoft.Extensions.Configuration.Binder": "10.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
- "Microsoft.Extensions.Logging": "10.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
- "Microsoft.Extensions.Options": "10.0.0",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ "Microsoft.Extensions.Configuration": "10.0.1",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": {
@@ -163,15 +163,15 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Logging.Console/10.0.0": {
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
- "Microsoft.Extensions.Logging": "10.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
- "Microsoft.Extensions.Logging.Configuration": "10.0.0",
- "Microsoft.Extensions.Options": "10.0.0",
- "System.Text.Json": "10.0.0"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging": "10.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "System.Text.Json": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Logging.Console.dll": {
@@ -187,11 +187,11 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Options/10.0.0": {
+ "Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
- "Microsoft.Extensions.Primitives": "10.0.0"
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Options.dll": {
@@ -207,14 +207,14 @@
"buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
}
},
- "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": {
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
- "Microsoft.Extensions.Configuration.Binder": "10.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
- "Microsoft.Extensions.Options": "10.0.0",
- "Microsoft.Extensions.Primitives": "10.0.0"
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
+ "Microsoft.Extensions.Options": "10.0.1",
+ "Microsoft.Extensions.Primitives": "10.0.1"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
@@ -230,7 +230,7 @@
"buildTransitive/net8.0/_._": {}
}
},
- "Microsoft.Extensions.Primitives/10.0.0": {
+ "Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"compile": {
"lib/net8.0/Microsoft.Extensions.Primitives.dll": {
@@ -246,7 +246,7 @@
"buildTransitive/net8.0/_._": {}
}
},
- "System.Diagnostics.DiagnosticSource/10.0.0": {
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
"type": "package",
"compile": {
"lib/net8.0/System.Diagnostics.DiagnosticSource.dll": {
@@ -262,7 +262,7 @@
"buildTransitive/net8.0/_._": {}
}
},
- "System.IO.Pipelines/10.0.0": {
+ "System.IO.Pipelines/10.0.1": {
"type": "package",
"compile": {
"lib/net8.0/System.IO.Pipelines.dll": {
@@ -278,7 +278,7 @@
"buildTransitive/net8.0/_._": {}
}
},
- "System.Text.Encodings.Web/10.0.0": {
+ "System.Text.Encodings.Web/10.0.1": {
"type": "package",
"compile": {
"lib/net8.0/System.Text.Encodings.Web.dll": {
@@ -300,11 +300,11 @@
}
}
},
- "System.Text.Json/10.0.0": {
+ "System.Text.Json/10.0.1": {
"type": "package",
"dependencies": {
- "System.IO.Pipelines": "10.0.0",
- "System.Text.Encodings.Web": "10.0.0"
+ "System.IO.Pipelines": "10.0.1",
+ "System.Text.Encodings.Web": "10.0.1"
},
"compile": {
"lib/net8.0/System.Text.Json.dll": {
@@ -323,10 +323,10 @@
}
},
"libraries": {
- "Microsoft.Extensions.Configuration/10.0.0": {
- "sha512": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==",
+ "Microsoft.Extensions.Configuration/10.0.1": {
+ "sha512": "njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"type": "package",
- "path": "microsoft.extensions.configuration/10.0.0",
+ "path": "microsoft.extensions.configuration/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -347,15 +347,15 @@
"lib/net9.0/Microsoft.Extensions.Configuration.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.xml",
- "microsoft.extensions.configuration.10.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.10.0.1.nupkg.sha512",
"microsoft.extensions.configuration.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
- "sha512": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==",
+ "Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
+ "sha512": "kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"type": "package",
- "path": "microsoft.extensions.configuration.abstractions/10.0.0",
+ "path": "microsoft.extensions.configuration.abstractions/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -376,15 +376,15 @@
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
- "microsoft.extensions.configuration.abstractions.10.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Configuration.Binder/10.0.0": {
- "sha512": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==",
+ "Microsoft.Extensions.Configuration.Binder/10.0.1": {
+ "sha512": "Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"type": "package",
- "path": "microsoft.extensions.configuration.binder/10.0.0",
+ "path": "microsoft.extensions.configuration.binder/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -416,15 +416,15 @@
"lib/net9.0/Microsoft.Extensions.Configuration.Binder.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
- "microsoft.extensions.configuration.binder.10.0.0.nupkg.sha512",
+ "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
"microsoft.extensions.configuration.binder.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.DependencyInjection/10.0.0": {
- "sha512": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==",
+ "Microsoft.Extensions.DependencyInjection/10.0.1": {
+ "sha512": "zerXV0GAR9LCSXoSIApbWn+Dq1/T+6vbXMHGduq1LoVQRHT0BXsGQEau0jeLUBUcsoF/NaUT8ADPu8b+eNcIyg==",
"type": "package",
- "path": "microsoft.extensions.dependencyinjection/10.0.0",
+ "path": "microsoft.extensions.dependencyinjection/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -447,15 +447,15 @@
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
- "microsoft.extensions.dependencyinjection.10.0.0.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
- "sha512": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==",
+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
+ "sha512": "oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"type": "package",
- "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0",
+ "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -478,15 +478,15 @@
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
- "microsoft.extensions.dependencyinjection.abstractions.10.0.0.nupkg.sha512",
+ "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Logging/10.0.0": {
- "sha512": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==",
+ "Microsoft.Extensions.Logging/10.0.1": {
+ "sha512": "9ItMpMLFZFJFqCuHLLbR3LiA4ahA8dMtYuXpXl2YamSDWZhYS9BruPprkftY0tYi2bQ0slNrixdFm+4kpz1g5w==",
"type": "package",
- "path": "microsoft.extensions.logging/10.0.0",
+ "path": "microsoft.extensions.logging/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -509,15 +509,15 @@
"lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
- "microsoft.extensions.logging.10.0.0.nupkg.sha512",
+ "microsoft.extensions.logging.10.0.1.nupkg.sha512",
"microsoft.extensions.logging.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
- "sha512": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==",
+ "Microsoft.Extensions.Logging.Abstractions/10.0.1": {
+ "sha512": "YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"type": "package",
- "path": "microsoft.extensions.logging.abstractions/10.0.0",
+ "path": "microsoft.extensions.logging.abstractions/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -581,15 +581,15 @@
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
- "microsoft.extensions.logging.abstractions.10.0.0.nupkg.sha512",
+ "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Logging.Configuration/10.0.0": {
- "sha512": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "Microsoft.Extensions.Logging.Configuration/10.0.1": {
+ "sha512": "Zg8LLnfZs5o2RCHD/+9NfDtJ40swauemwCa7sI8gQoAye/UJHRZNpCtC7a5XE7l9Z7mdI8iMWnLZ6m7Q6S3jLg==",
"type": "package",
- "path": "microsoft.extensions.logging.configuration/10.0.0",
+ "path": "microsoft.extensions.logging.configuration/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -609,15 +609,15 @@
"lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml",
- "microsoft.extensions.logging.configuration.10.0.0.nupkg.sha512",
+ "microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
"microsoft.extensions.logging.configuration.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Logging.Console/10.0.0": {
- "sha512": "treWetuksp8LVb09fCJ5zNhNJjyDkqzVm83XxcrlWQnAdXznR140UUXo8PyEPBvFlHhjKhFQZEOP3Sk/ByCvEw==",
+ "Microsoft.Extensions.Logging.Console/10.0.1": {
+ "sha512": "38Q8sEHwQ/+wVO/mwQBa0fcdHbezFpusHE+vBw/dSr6Fq/kzZm3H/NQX511Jki/R3FHd64IY559gdlHZQtYeEA==",
"type": "package",
- "path": "microsoft.extensions.logging.console/10.0.0",
+ "path": "microsoft.extensions.logging.console/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -638,15 +638,15 @@
"lib/net9.0/Microsoft.Extensions.Logging.Console.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Console.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml",
- "microsoft.extensions.logging.console.10.0.0.nupkg.sha512",
+ "microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
"microsoft.extensions.logging.console.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Options/10.0.0": {
- "sha512": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==",
+ "Microsoft.Extensions.Options/10.0.1": {
+ "sha512": "G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"type": "package",
- "path": "microsoft.extensions.options/10.0.0",
+ "path": "microsoft.extensions.options/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -684,15 +684,15 @@
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
- "microsoft.extensions.options.10.0.0.nupkg.sha512",
+ "microsoft.extensions.options.10.0.1.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": {
- "sha512": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==",
+ "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
+ "sha512": "pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"type": "package",
- "path": "microsoft.extensions.options.configurationextensions/10.0.0",
+ "path": "microsoft.extensions.options.configurationextensions/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -713,15 +713,15 @@
"lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
- "microsoft.extensions.options.configurationextensions.10.0.0.nupkg.sha512",
+ "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
"microsoft.extensions.options.configurationextensions.nuspec",
"useSharedDesignerContext.txt"
]
},
- "Microsoft.Extensions.Primitives/10.0.0": {
- "sha512": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==",
+ "Microsoft.Extensions.Primitives/10.0.1": {
+ "sha512": "DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"type": "package",
- "path": "microsoft.extensions.primitives/10.0.0",
+ "path": "microsoft.extensions.primitives/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -742,15 +742,15 @@
"lib/net9.0/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
- "microsoft.extensions.primitives.10.0.0.nupkg.sha512",
+ "microsoft.extensions.primitives.10.0.1.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
},
- "System.Diagnostics.DiagnosticSource/10.0.0": {
- "sha512": "0KdBK+h7G13PuOSC2R/DalAoFMvdYMznvGRuICtkdcUMXgl/gYXsG6z4yUvTxHSMACorWgHCU1Faq0KUHU6yAQ==",
+ "System.Diagnostics.DiagnosticSource/10.0.1": {
+ "sha512": "wVYO4/71Pk177uQ3TG8ZQFS3Pnmr98cF9pYxnpuIb/bMnbEWsdZZoLU/euv29mfSi2/Iuypj0TRUchPk7aqBGg==",
"type": "package",
- "path": "system.diagnostics.diagnosticsource/10.0.0",
+ "path": "system.diagnostics.diagnosticsource/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -770,15 +770,15 @@
"lib/net9.0/System.Diagnostics.DiagnosticSource.xml",
"lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll",
"lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml",
- "system.diagnostics.diagnosticsource.10.0.0.nupkg.sha512",
+ "system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
"system.diagnostics.diagnosticsource.nuspec",
"useSharedDesignerContext.txt"
]
},
- "System.IO.Pipelines/10.0.0": {
- "sha512": "M1eb3nfXntaRJPrrMVM9EFS8I1bDTnt0uvUS6QP/SicZf/ZZjydMD5NiXxfmwW/uQwaMDP/yX2P+zQN1NBHChg==",
+ "System.IO.Pipelines/10.0.1": {
+ "sha512": "26LbFXHKd7PmRnWlkjnYgmjd5B6HYVG+1MpTO25BdxTJnx6D0O16JPAC/S4YBqjtt4YpfGj1QO/Ss6SPMGEGQw==",
"type": "package",
- "path": "system.io.pipelines/10.0.0",
+ "path": "system.io.pipelines/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -799,15 +799,15 @@
"lib/net9.0/System.IO.Pipelines.xml",
"lib/netstandard2.0/System.IO.Pipelines.dll",
"lib/netstandard2.0/System.IO.Pipelines.xml",
- "system.io.pipelines.10.0.0.nupkg.sha512",
+ "system.io.pipelines.10.0.1.nupkg.sha512",
"system.io.pipelines.nuspec",
"useSharedDesignerContext.txt"
]
},
- "System.Text.Encodings.Web/10.0.0": {
- "sha512": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg==",
+ "System.Text.Encodings.Web/10.0.1": {
+ "sha512": "cVAka0o1rJJ5/De0pjNs7jcaZk5hUGf1HGzUyVmE2MEB1Vf0h/8qsWxImk1zjitCbeD2Avaq2P2+usdvqgbeVQ==",
"type": "package",
- "path": "system.text.encodings.web/10.0.0",
+ "path": "system.text.encodings.web/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -836,15 +836,15 @@
"runtimes/wasi/lib/net10.0/System.Text.Encodings.Web.xml",
"runtimes/win/lib/net9.0/System.Text.Encodings.Web.dll",
"runtimes/win/lib/net9.0/System.Text.Encodings.Web.xml",
- "system.text.encodings.web.10.0.0.nupkg.sha512",
+ "system.text.encodings.web.10.0.1.nupkg.sha512",
"system.text.encodings.web.nuspec",
"useSharedDesignerContext.txt"
]
},
- "System.Text.Json/10.0.0": {
- "sha512": "1Dpjwq9peG/Wt5BNbrzIhTpclfOSqBWZsUO28vVr59yQlkvL5jLBWfpfzRmJ1OY+6DciaY0DUcltyzs4fuZHjw==",
+ "System.Text.Json/10.0.1": {
+ "sha512": "EsgwDgU1PFqhrFA9l5n+RBu76wFhNGCEwu8ITrBNhjPP3MxLyklroU5GIF8o6JYpYg6T4KD/VICfMdgPAvNp5g==",
"type": "package",
- "path": "system.text.json/10.0.0",
+ "path": "system.text.json/10.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
@@ -908,7 +908,7 @@
"lib/net9.0/System.Text.Json.xml",
"lib/netstandard2.0/System.Text.Json.dll",
"lib/netstandard2.0/System.Text.Json.xml",
- "system.text.json.10.0.0.nupkg.sha512",
+ "system.text.json.10.0.1.nupkg.sha512",
"system.text.json.nuspec",
"useSharedDesignerContext.txt"
]
@@ -916,8 +916,7 @@
},
"projectFileDependencyGroups": {
"net8.0": [
- "Microsoft.Extensions.Logging >= 10.0.0",
- "Microsoft.Extensions.Logging.Console >= 10.0.0"
+ "Microsoft.Extensions.Logging.Console >= 10.0.1"
]
},
"packageFolders": {
@@ -927,11 +926,11 @@
"project": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj",
- "projectName": "logic",
- "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj",
+ "projectUniqueName": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "projectName": "Preparation",
+ "projectPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
"packagesPath": "C:\\Users\\lenovo\\.nuget\\packages\\",
- "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\obj\\",
+ "outputPath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
@@ -971,13 +970,9 @@
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
- "Microsoft.Extensions.Logging": {
- "target": "Package",
- "version": "[10.0.0, )"
- },
"Microsoft.Extensions.Logging.Console": {
"target": "Package",
- "version": "[10.0.0, )"
+ "version": "[10.0.1, )"
}
},
"imports": [
diff --git a/logic/Preparation/obj/project.nuget.cache b/logic/Preparation/obj/project.nuget.cache
new file mode 100644
index 00000000..e450cd17
--- /dev/null
+++ b/logic/Preparation/obj/project.nuget.cache
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "dgSpecHash": "Ia1kOa0/Gmw=",
+ "success": true,
+ "projectFilePath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\Preparation\\Preparation.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.1\\microsoft.extensions.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.1\\microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.1\\microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.1\\microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.1\\microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging\\10.0.1\\microsoft.extensions.logging.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.1\\microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.configuration\\10.0.1\\microsoft.extensions.logging.configuration.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.console\\10.0.1\\microsoft.extensions.logging.console.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options\\10.0.1\\microsoft.extensions.options.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\10.0.1\\microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.primitives\\10.0.1\\microsoft.extensions.primitives.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.diagnostics.diagnosticsource\\10.0.1\\system.diagnostics.diagnosticsource.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.io.pipelines\\10.0.1\\system.io.pipelines.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.encodings.web\\10.0.1\\system.text.encodings.web.10.0.1.nupkg.sha512",
+ "C:\\Users\\lenovo\\.nuget\\packages\\system.text.json\\10.0.1\\system.text.json.10.0.1.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/logic/logic.sln b/logic/logic.sln
index e2e35248..bfad770e 100644
--- a/logic/logic.sln
+++ b/logic/logic.sln
@@ -1,20 +1,74 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.14.36105.17 d17.14
+VisualStudioVersion = 17.14.36105.17
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "logic", "logic\logic.csproj", "{63C2B7BA-2DB2-44B7-912F-C8B905EFFDFC}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameClass", "GameClass\GameClass.csproj", "{E13167A8-D55C-4013-BC61-491547F6A223}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Preparation", "Preparation\Preparation.csproj", "{D6FDE004-5167-4C98-B151-35C01562BB4F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gaming", "Gaming\Gaming.csproj", "{025AFE23-8004-44BE-ABDF-161286FEDF1B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameEngine", "GameEngine\GameEngine.csproj", "{122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {63C2B7BA-2DB2-44B7-912F-C8B905EFFDFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {63C2B7BA-2DB2-44B7-912F-C8B905EFFDFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {63C2B7BA-2DB2-44B7-912F-C8B905EFFDFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {63C2B7BA-2DB2-44B7-912F-C8B905EFFDFC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|x64.Build.0 = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Debug|x86.Build.0 = Debug|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|x64.ActiveCfg = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|x64.Build.0 = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|x86.ActiveCfg = Release|Any CPU
+ {E13167A8-D55C-4013-BC61-491547F6A223}.Release|x86.Build.0 = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|x64.Build.0 = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Debug|x86.Build.0 = Debug|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|x64.ActiveCfg = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|x64.Build.0 = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|x86.ActiveCfg = Release|Any CPU
+ {D6FDE004-5167-4C98-B151-35C01562BB4F}.Release|x86.Build.0 = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|x64.Build.0 = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Debug|x86.Build.0 = Debug|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|x64.ActiveCfg = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|x64.Build.0 = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|x86.ActiveCfg = Release|Any CPU
+ {025AFE23-8004-44BE-ABDF-161286FEDF1B}.Release|x86.Build.0 = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|x64.Build.0 = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Debug|x86.Build.0 = Debug|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|Any CPU.Build.0 = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|x64.ActiveCfg = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|x64.Build.0 = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|x86.ActiveCfg = Release|Any CPU
+ {122DB2C3-93F3-4CB2-B2D5-9C6F00BA9601}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/logic/logic/GameClass/GameObj/Areas/ComputeCenter.cs b/logic/logic/GameClass/GameObj/Areas/ComputeCenter.cs
deleted file mode 100644
index 04bc102f..00000000
--- a/logic/logic/GameClass/GameObj/Areas/ComputeCenter.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using Preparation.Utility;
-using Preparation.Utility.Value;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace GameClass.GameObj.Areas
-{
- class ComputeCenter
- {
-
- }
-}
diff --git a/logic/logic/GameClass/GameObj/Goods.cs b/logic/logic/GameClass/GameObj/Goods.cs
deleted file mode 100644
index d93fc7dd..00000000
--- a/logic/logic/GameClass/GameObj/Goods.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using Preparation.Interface;
-using Preparation.Utility;
-
-namespace GameClass.GameObj;
-
-public class Goods : IGoods
-{
- public int Cost { get; }
- public int Price { get; }
- public GoodsType goodsType { get; }
-}
diff --git a/logic/logic/Program.cs b/logic/logic/Program.cs
deleted file mode 100644
index 3751555c..00000000
--- a/logic/logic/Program.cs
+++ /dev/null
@@ -1,2 +0,0 @@
-// See https://aka.ms/new-console-template for more information
-Console.WriteLine("Hello, World!");
diff --git a/logic/logic/obj/Debug/net8.0/logic.AssemblyInfoInputs.cache b/logic/logic/obj/Debug/net8.0/logic.AssemblyInfoInputs.cache
deleted file mode 100644
index e7afd50f..00000000
--- a/logic/logic/obj/Debug/net8.0/logic.AssemblyInfoInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-b04d5d352609d98808be894d91e1c0858ac7e4b27567edd1fad9cef0489cffdf
diff --git a/logic/logic/obj/Debug/net8.0/logic.assets.cache b/logic/logic/obj/Debug/net8.0/logic.assets.cache
deleted file mode 100644
index c0a5ccbc..00000000
Binary files a/logic/logic/obj/Debug/net8.0/logic.assets.cache and /dev/null differ
diff --git a/logic/logic/obj/project.nuget.cache b/logic/logic/obj/project.nuget.cache
deleted file mode 100644
index 97e7565d..00000000
--- a/logic/logic/obj/project.nuget.cache
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "version": 2,
- "dgSpecHash": "w3HTaGMSIL4=",
- "success": true,
- "projectFilePath": "C:\\Users\\lenovo\\OneDrive\\桌面\\THUthu\\THUAI9\\logic\\logic\\logic.csproj",
- "expectedPackageFiles": [
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.0\\microsoft.extensions.configuration.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.0\\microsoft.extensions.configuration.abstractions.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.0\\microsoft.extensions.configuration.binder.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.0\\microsoft.extensions.dependencyinjection.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.0\\microsoft.extensions.dependencyinjection.abstractions.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging\\10.0.0\\microsoft.extensions.logging.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.0\\microsoft.extensions.logging.abstractions.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.configuration\\10.0.0\\microsoft.extensions.logging.configuration.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.logging.console\\10.0.0\\microsoft.extensions.logging.console.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options\\10.0.0\\microsoft.extensions.options.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\10.0.0\\microsoft.extensions.options.configurationextensions.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\microsoft.extensions.primitives\\10.0.0\\microsoft.extensions.primitives.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\system.diagnostics.diagnosticsource\\10.0.0\\system.diagnostics.diagnosticsource.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\system.io.pipelines\\10.0.0\\system.io.pipelines.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\system.text.encodings.web\\10.0.0\\system.text.encodings.web.10.0.0.nupkg.sha512",
- "C:\\Users\\lenovo\\.nuget\\packages\\system.text.json\\10.0.0\\system.text.json.10.0.0.nupkg.sha512"
- ],
- "logs": []
-}
\ No newline at end of file