mod: C#9.0 update to 12.0 and create playermanager

pull/2/head
zxl 2024-04-05 11:59:11 +08:00
parent f4ed627964
commit e13e4b32f6
31 changed files with 485 additions and 322 deletions

View File

@ -6,17 +6,34 @@
<component name="ChangeListManager">
<list default="true" id="d018256f-8250-4025-b60e-7cdf03f0e7e0" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.TestF/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.TestF/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Hotfix/Prefabs/UI/GameSceneUI.prefab" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Hotfix/Prefabs/UI/GameSceneUI.prefab.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Plugins/ConsolePro/Remote/LiteNetLib/LiteNetLib.csproj.meta" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Init.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scenes/Init.unity" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/BFS/BFS.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/BFS/BFS.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Game.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Game.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/LoadingGameSceneProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Process/LoadingGameSceneProcedure.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureBase.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureBase.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureManager.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureType.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureType.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/GameSceneLogicProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/GameSceneLogicProcedure.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/GameSceneLogicProcedure.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/GameSceneLogicProcedure.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/IProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/IProcedure.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/IProcedure.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/IProcedure.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/LoadingGameSceneProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/LoadingGameSceneProcedure.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/LoadingGameSceneProcedure.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/LoadingGameSceneProcedure.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureBase.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureBase.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureBase.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureBase.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureManager.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureManager.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureManager.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureType.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureType.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Process/ProcedureType.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureType.cs.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/ResourceManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/ResourceManager.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Test.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Test.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.bytes" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.bytes" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.hash" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.hash" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.json" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/StandaloneWindows64/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/PackageManagerSettings.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/PackageManagerSettings.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/ProjectVersion.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/boot.config" beforeDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -59,6 +76,7 @@
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.CSharpInteractiveConfiguration&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
},
&quot;keyToStringList&quot;: {
@ -104,10 +122,10 @@
</option>
<method v="2" />
</configuration>
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost" ignored-value-for-modified-check="7896">
<configuration name="Attach to Unity Editor" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="Unity Debug" show_console_on_std_err="false" show_console_on_std_out="false" port="50000" address="localhost">
<option name="allowRunningInParallel" value="false" />
<option name="listenPortForConnections" value="false" />
<option name="pid" value="7896" />
<option name="pid" />
<option name="projectPathOnTarget" />
<option name="selectedOptions">
<list />
@ -129,6 +147,12 @@
<workItem from="1712105852016" duration="12544000" />
<workItem from="1712121832987" duration="1232000" />
<workItem from="1712123080286" duration="15512000" />
<workItem from="1712279308137" duration="688000" />
<workItem from="1712280113433" duration="281000" />
<workItem from="1712280461129" duration="430000" />
<workItem from="1712281488926" duration="379000" />
<workItem from="1712281963664" duration="14000" />
<workItem from="1712282817746" duration="6615000" />
</task>
<servers />
</component>
@ -148,10 +172,10 @@
<line>21</line>
<properties documentPath="D:\UnityProject\TestF\Assets\Scripts\Test.cs" initialLine="21" containingFunctionPresentation="Method 'Update'">
<startOffsets>
<option value="547" />
<option value="551" />
</startOffsets>
<endOffsets>
<option value="548" />
<option value="552" />
</endOffsets>
</properties>
<option name="timeStamp" value="6" />

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 36ae2e48e7a7343fcb1503f56b5d4485
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.3731193, g: 0.38073996, b: 0.35872698, a: 1}
m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -104,7 +104,7 @@ NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
@ -117,7 +117,7 @@ NavMeshSettings:
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
@ -148,6 +148,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 171801267}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
@ -155,7 +156,6 @@ Transform:
m_Children:
- {fileID: 261785427}
m_Father: {fileID: 1321366406}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!81 &171801269
AudioListener:
@ -179,9 +179,17 @@ Camera:
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@ -239,9 +247,17 @@ Camera:
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@ -275,13 +291,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 261785425}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 171801268}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &438191521
GameObject:
@ -369,13 +385,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 438191521}
serializedVersion: 2
m_LocalRotation: {x: 0.32367495, y: 0.40315494, z: 0.3577457, w: 0.7776365}
m_LocalPosition: {x: 5.582583, y: 10.586806, z: -10.511573}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 12.413, y: 61.54, z: 56.818}
--- !u!1 &1321366405
GameObject:
@ -402,6 +418,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1321366405}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
@ -410,8 +427,8 @@ Transform:
- {fileID: 171801268}
- {fileID: 1619930059}
- {fileID: 1709265748}
- {fileID: 2142424751}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1321366407
MonoBehaviour:
@ -1251,7 +1268,6 @@ RectTransform:
m_Children:
- {fileID: 6483743946380363312}
m_Father: {fileID: 1321366406}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
@ -1315,7 +1331,9 @@ Canvas:
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
@ -1379,13 +1397,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1709265745}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1321366406}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2142424749
GameObject:
@ -1398,12 +1416,12 @@ GameObject:
- component: {fileID: 2142424751}
- component: {fileID: 2142424750}
m_Layer: 0
m_Name: test
m_Name: '*************Test**************'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &2142424750
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1424,13 +1442,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2142424749}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_Father: {fileID: 1321366406}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!222 &693992134497071616
CanvasRenderer:
@ -1462,7 +1480,6 @@ RectTransform:
m_Children:
- {fileID: 3446357338686576132}
m_Father: {fileID: 2757610425403794450}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
@ -1650,7 +1667,6 @@ RectTransform:
- {fileID: 1274200815851310387}
- {fileID: 6475230103791226419}
m_Father: {fileID: 6483743946380363312}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
@ -1670,7 +1686,6 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2801900720503997580}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 1}
@ -1721,7 +1736,6 @@ RectTransform:
m_Children:
- {fileID: 2791905327450121150}
m_Father: {fileID: 6483743946380363312}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -1741,7 +1755,6 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2757610425403794450}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
@ -1791,7 +1804,6 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6475230103791226419}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
@ -1811,7 +1823,6 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1274200815851310387}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
@ -2002,7 +2013,6 @@ RectTransform:
m_Children:
- {fileID: 3044195824213782846}
m_Father: {fileID: 2757610425403794450}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -2024,7 +2034,6 @@ RectTransform:
- {fileID: 2801900720503997580}
- {fileID: 2757610425403794450}
m_Father: {fileID: 1619930059}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -2142,3 +2151,9 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 438191523}
- {fileID: 1321366406}

View File

@ -6,261 +6,266 @@ using UnityEngine;
namespace Game.Pathfinding;
public class Node<T>
{
public int index { get; private set; }
public T data { get; private set; }
public Node(int index, T data)
{
this.index = index;
this.data = data;
}
}
public int index { get; private set; }
public T data { get; private set; }
class Edge<T>
{
public Node<T> from { get; private set; }
public Node<T> to { get; private set; }
public bool canTranslate { get; private set; }
public Edge(Node<T> from, Node<T> to, bool canTranslate = true)
{
this.from = from;
this.to = to;
this.canTranslate = canTranslate;
public Node(int index, T data)
{
this.index = index;
this.data = data;
}
}
public Node<T> GetAnotherNode(Node<T> node)
class Edge<T>
{
return node == this.from ? to : to == node ? from : throw new InvalidOperationException();
public Node<T> from { get; private set; }
public Node<T> to { get; private set; }
public bool canTranslate { get; private set; }
public Edge(Node<T> from, Node<T> to, bool canTranslate = true)
{
this.from = from;
this.to = to;
this.canTranslate = canTranslate;
}
public Node<T> GetAnotherNode(Node<T> node)
{
return node == this.from ? to : to == node ? from : throw new InvalidOperationException();
}
}
}
public class WayPointGraph : Graph<WayPoint>
{
readonly struct UniqueWayPoint: IEquatable<UniqueWayPoint>
public class WayPointGraph : Graph<WayPoint>
{
private readonly WayPoint _wayPoint;
public UniqueWayPoint(WayPoint wayPoint)
readonly struct UniqueWayPoint : IEquatable<UniqueWayPoint>
{
this._wayPoint = wayPoint;
}
public bool Equals(UniqueWayPoint other)
{
return _wayPoint.position == other._wayPoint.position;
}
private readonly WayPoint _wayPoint;
public override bool Equals(object obj)
{
return obj is UniqueWayPoint other && Equals(other);
}
public override int GetHashCode()
{
return _wayPoint.position.GetHashCode();
}
public static implicit operator WayPoint(UniqueWayPoint uniqueWayPoint)
{
return uniqueWayPoint._wayPoint;
}
public static implicit operator UniqueWayPoint(WayPoint wayPoint)
{
return new UniqueWayPoint(wayPoint);
}
}
public void Initialize(GameGlobalConfig.NodeMap[] nodeMaps)
{
HashSet<UniqueWayPoint> wayPoints = new HashSet<UniqueWayPoint>();
foreach (var nodeMap in nodeMaps)
{
wayPoints.Add(new WayPoint(nodeMap.node1));
wayPoints.Add(new WayPoint(nodeMap.node2));
}
Dictionary<Vector3, Node<WayPoint>> position2NodeMap = new Dictionary<Vector3, Node<WayPoint>>();
_nodes = new Node<WayPoint>[wayPoints.Count];
using var enumerator = wayPoints.GetEnumerator();
int index = 0;
while (enumerator.MoveNext())
{
var enumeratorCurrent = (WayPoint)enumerator.Current;
var node = new Node<WayPoint>(index, enumeratorCurrent);
this._nodes[index] = node;
position2NodeMap[enumeratorCurrent.position] = node;
index++;
}
_edges = new List<Edge<WayPoint>>(nodeMaps.Length);
this._connection = new Dictionary<Node<WayPoint>, List<Edge<WayPoint>>>(_edges.Count);
foreach (var nodeMap in nodeMaps)
{
if (position2NodeMap.TryGetValue(nodeMap.node1,out var node1))
public UniqueWayPoint(WayPoint wayPoint)
{
if (position2NodeMap.TryGetValue(nodeMap.node2, out var node2))
this._wayPoint = wayPoint;
}
public bool Equals(UniqueWayPoint other)
{
return _wayPoint.position == other._wayPoint.position;
}
public override bool Equals(object obj)
{
return obj is UniqueWayPoint other && Equals(other);
}
public override int GetHashCode()
{
return _wayPoint.position.GetHashCode();
}
public static implicit operator WayPoint(UniqueWayPoint uniqueWayPoint)
{
return uniqueWayPoint._wayPoint;
}
public static implicit operator UniqueWayPoint(WayPoint wayPoint)
{
return new UniqueWayPoint(wayPoint);
}
}
public void Initialize(GameGlobalConfig.NodeMap[] nodeMaps)
{
HashSet<UniqueWayPoint> wayPoints = new HashSet<UniqueWayPoint>();
foreach (var nodeMap in nodeMaps)
{
wayPoints.Add(new WayPoint(nodeMap.node1));
wayPoints.Add(new WayPoint(nodeMap.node2));
}
Dictionary<Vector3, Node<WayPoint>> position2NodeMap = new Dictionary<Vector3, Node<WayPoint>>();
_nodes = new Node<WayPoint>[wayPoints.Count];
using var enumerator = wayPoints.GetEnumerator();
int index = 0;
while (enumerator.MoveNext())
{
var enumeratorCurrent = (WayPoint)enumerator.Current;
var node = new Node<WayPoint>(index, enumeratorCurrent);
this._nodes[index] = node;
position2NodeMap[enumeratorCurrent.position] = node;
index++;
}
_edges = new List<Edge<WayPoint>>(nodeMaps.Length);
this._connection = new Dictionary<Node<WayPoint>, List<Edge<WayPoint>>>(_edges.Count);
foreach (var nodeMap in nodeMaps)
{
if (position2NodeMap.TryGetValue(nodeMap.node1, out var node1))
{
var edge = new Edge<WayPoint>(node1,node2);
_edges.Add(edge);
if (!this._connection.TryGetValue(node1,out var list1))
if (position2NodeMap.TryGetValue(nodeMap.node2, out var node2))
{
this._connection[node1] = list1 = new List<Edge<WayPoint>>();
var edge = new Edge<WayPoint>(node1, node2);
_edges.Add(edge);
if (!this._connection.TryGetValue(node1, out var list1))
{
this._connection[node1] = list1 = new List<Edge<WayPoint>>();
}
list1.Add(edge);
if (!this._connection.TryGetValue(node2, out var list2))
{
this._connection[node2] = list2 = new List<Edge<WayPoint>>();
}
list2.Add(edge);
}
list1.Add(edge);
if (!this._connection.TryGetValue(node2,out var list2))
{
this._connection[node2] = list2 = new List<Edge<WayPoint>>();
}
list2.Add(edge);
}
}
}
}
}
public class Graph<T>
{
private protected Node<T>[] _nodes;
private protected List<Edge<T>> _edges;
private protected Dictionary<Node<T>, List<Edge<T>>> _connection;
internal Node<T> GetNode(int index)
public class Graph<T>
{
if (index < 0 || index >= this._nodes.Length - 1)
{
throw new IndexOutOfRangeException($"Index is {index}");
}
private protected Node<T>[] _nodes;
private protected List<Edge<T>> _edges;
private protected Dictionary<Node<T>, List<Edge<T>>> _connection;
return this._nodes[index];
}
[CanBeNull]
internal Node<T> GetNode(Predicate<Node<T>> predicate)
{
foreach (var node in this._nodes)
internal Node<T> GetNode(int index)
{
if (predicate(node))
if (index < 0 || index >= this._nodes.Length - 1)
{
return node;
throw new IndexOutOfRangeException($"Index is {index}");
}
return this._nodes[index];
}
return null;
}
internal IReadOnlyList<Edge<T>> GetNeighbours(Node<T> node)
{
this._connection.TryGetValue(node, out var edges);
return edges;
}
}
public class BFS<T>
{
private Graph<T> _graph;
private List<int> _closeList = new List<int>();
private Queue<int> _openList = new Queue<int>();
private Dictionary<Node<T>, Node<T>> _nodeMap = new Dictionary<Node<T>, Node<T>>();
public BFS(Graph<T> graph)
{
this._graph = graph;
}
[CanBeNull]
public Node<T> GetNode(Predicate<Node<T>> predicate)
{
return _graph.GetNode(predicate);
}
public Path<T> FindPath(Node<T> begin, Node<T> end)
{
_openList.Clear();
_closeList.Clear();
_openList.Enqueue(begin.index);
while (this._openList.Count > 0)
[CanBeNull]
internal Node<T> GetNode(Predicate<Node<T>> predicate)
{
var nodeIndex = this._openList.Dequeue();
var currNode = this._graph.GetNode(nodeIndex);
if (currNode.index == end.index)
break;
_closeList.Add(currNode.index);
Search(currNode);
foreach (var node in this._nodes)
{
if (predicate(node))
{
return node;
}
}
return null;
}
Path<T> path = new Path<T>();
Node<T> curr = end;
path.AddNode(new PathNode<T>(curr.index, curr.data));
while (_nodeMap.TryGetValue(curr, out curr))
internal IReadOnlyList<Edge<T>> GetNeighbours(Node<T> node)
{
this._connection.TryGetValue(node, out var edges);
return edges;
}
}
public class BFS<T>
{
private Graph<T> _graph;
private List<int> _closeList = new List<int>();
private Queue<int> _openList = new Queue<int>();
private Dictionary<Node<T>, Node<T>> _nodeMap = new Dictionary<Node<T>, Node<T>>();
public BFS(Graph<T> graph)
{
this._graph = graph;
}
[CanBeNull]
public Node<T> GetNode(Predicate<Node<T>> predicate)
{
return _graph.GetNode(predicate);
}
public Path<T> FindPath(Node<T> begin, Node<T> end)
{
_openList.Clear();
_closeList.Clear();
_openList.Enqueue(begin.index);
while (this._openList.Count > 0)
{
var nodeIndex = this._openList.Dequeue();
var currNode = this._graph.GetNode(nodeIndex);
if (currNode.index == end.index)
break;
_closeList.Add(currNode.index);
Search(currNode);
}
Path<T> path = new Path<T>();
Node<T> curr = end;
path.AddNode(new PathNode<T>(curr.index, curr.data));
if (curr == begin)
break;
}
path.Reverse();
return path;
}
private void Search(Node<T> node)
{
var readOnlyList = this._graph.GetNeighbours(node);
foreach (var edge in readOnlyList)
{
if (!edge.canTranslate)
continue;
Node<T> another = edge.GetAnotherNode(node);
if (!this._nodeMap.ContainsKey(another))
while (_nodeMap.TryGetValue(curr, out curr))
{
_nodeMap[another] = node;
path.AddNode(new PathNode<T>(curr.index, curr.data));
if (curr == begin)
break;
}
if (!this._closeList.Contains(another.index))
path.Reverse();
return path;
}
private void Search(Node<T> node)
{
var readOnlyList = this._graph.GetNeighbours(node);
foreach (var edge in readOnlyList)
{
_openList.Enqueue(another.index);
if (!edge.canTranslate)
continue;
Node<T> another = edge.GetAnotherNode(node);
if (!this._nodeMap.ContainsKey(another))
{
_nodeMap[another] = node;
}
if (!this._closeList.Contains(another.index))
{
_openList.Enqueue(another.index);
}
}
}
}
}
public class Path<T>
{
private readonly List<PathNode<T>> _pathNodes = new List<PathNode<T>>();
public class Path<T>
{
private readonly List<PathNode<T>> _pathNodes = new List<PathNode<T>>();
public void Reverse()
{
this._pathNodes.Reverse();
}
public void AddNode(PathNode<T> node)
{
this._pathNodes.Add(node);
}
public IReadOnlyList<PathNode<T>> GetNodes()
{
return this._pathNodes;
}
public void GetDatas(IList<T> result)
{
foreach (var pathNode in this._pathNodes)
public void Reverse()
{
result.Add(pathNode.data);
this._pathNodes.Reverse();
}
public void AddNode(PathNode<T> node)
{
this._pathNodes.Add(node);
}
public IReadOnlyList<PathNode<T>> GetNodes()
{
return this._pathNodes;
}
public void GetDatas(IList<T> result)
{
foreach (var pathNode in this._pathNodes)
{
result.Add(pathNode.data);
}
}
}
}
public class PathNode<T>
{
public int index { get; private set; }
public T data { get; private set; }
public PathNode(int index, T data)
public class PathNode<T>
{
this.index = index;
this.data = data;
public int index { get; private set; }
public T data { get; private set; }
public PathNode(int index, T data)
{
this.index = index;
this.data = data;
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using Cysharp.Threading.Tasks;
using Game.Player;
using UnityEngine;
namespace Game
@ -10,12 +11,17 @@ namespace Game
private UIManager _uiManager;
private ResourceManager _resourceManager;
private ProcedureManager _procedureManager;
public PlayerManager _playerManager;
[SerializeField] private LoadType _loadType = LoadType.Editor;
[SerializeField] private float time;
public static IProcedureManager procedureManager => _game._procedureManager;
public static IResourceManager resourceManager => _game._resourceManager;
public static IUIManager uiManager => _game._uiManager;
public static IPlayerManager playerManager => _game._playerManager;
private void Awake()
{
_game = this;
@ -25,10 +31,12 @@ namespace Game
_uiManager = new UIManager();
_resourceManager = new ResourceManager();
this._procedureManager = new ProcedureManager();
this._playerManager = new PlayerManager();
_resourceManager.Init();
_uiManager.Init();
this._procedureManager.Init();
this._playerManager.Init();
// ProcedureBase[] procedureBases = new ProcedureBase[]
// {
@ -44,8 +52,8 @@ namespace Game
{
await _resourceManager.InitLoadModeAsync(_loadType);
// var loadingGameSceneUI = UIManager.Instance.CreateUI(UIType.LoadingGameSceneUI);
// UIManager.Instance.ShowUI(UIType.LoadingGameSceneUI);
// var loadingGameSceneUI = UIManager.Instance.CreateUI(UIType.LoadingGameSceneUI);
// UIManager.Instance.ShowUI(UIType.LoadingGameSceneUI);
// await this._resourceManager.LoadSceneAsync(SceneType.Game.ToString());
// EventManager.Instance.FireNow(this,new LoadingGameSceneFinishEventArgs(true));

View File

@ -0,0 +1,109 @@
using System.Collections.Generic;
using System.Threading;
using Cysharp.Threading.Tasks;
using Game.Pathfinding;
using Sirenix.OdinInspector;
using UnityEngine;
namespace Game.Player;
public class PlayerManager : ManagerBase, IPlayerManager
{
private Dictionary<string, IPlayer> _players = new Dictionary<string, IPlayer>();
public IPlayer CreatePlayer(string playerName, string assetName)
{
var gameObject = Game.resourceManager.LoadGameObjectSync(assetName);
IPlayer player = new Player();
player.SetGameObject(gameObject, playerName);
this._players.Add(playerName, player);
return player;
}
public IPlayer GetPlayer(string playerName)
{
return this._players.GetValueOrDefault(playerName);
}
public void DeletePlayer(string playerName)
{
if (this._players.TryGetValue(playerName, out var player))
{
player.Dispose();
}
}
}
public interface IPlayerManager
{
//
IPlayer CreatePlayer(string playerName, string assetName);
IPlayer GetPlayer(string playerName);
void DeletePlayer(string playerName);
}
public interface IPlayer
{
string playerName { get; }
GameObject self { get; }
void SetGameObject(GameObject gameObject, string name);
UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token);
void Dispose();
}
class PlayerInfo : MonoBehaviour
{
[SerializeField] [ReadOnly] private Player _player;
public void SetPlayer(Player player)
{
this._player = player;
gameObject.name = this._player.playerName;
}
}
internal class Player : IPlayer
{
private GameObject _self;
private string _playerName;
public string playerName => this._playerName;
public GameObject self => this._self;
public void SetGameObject(GameObject gameObject, string name)
{
this._self = gameObject;
this._playerName = name;
var playerInfo = this._self.AddComponent<PlayerInfo>();
playerInfo.SetPlayer(this);
}
public async UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token)
{
foreach (var point in wayPoint)
{
bool isMoveing = true;
while (isMoveing)
{
await UniTask.Yield(token);
if (Vector3.Distance(self.transform.position, point.position) <= 0.1f)
{
isMoveing = false;
break;
}
this._self.transform.Translate(point.position);
}
}
return true;
}
public void Dispose()
{
GameObject.DestroyImmediate(self);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 38b20a5af27a4d45abcda2e28c4e0a21
timeCreated: 1712285847

View File

@ -18,16 +18,20 @@ namespace Game
// await ResourceManager.Instance.LoadSceneAsync(SceneType.Game.ToString());
// EventManager.Instance.FireNow(this,new LoadingGameSceneFinishEventArgs(true));
// });
var player = Game.playerManager.CreatePlayer("测试","player");
var gameGlobalConfig = GameObject.FindObjectOfType<GameGlobalConfig>();
BFS<WayPoint> bfs = new BFS<WayPoint>(CreateGraph(gameGlobalConfig));
var beginNode = GetNode(bfs, new Vector2(-5.6f,-14.6f));
var beginNode = GetNode(bfs, new Vector2(-29f,-16.5f));
var endNode = GetNode(bfs, new Vector2(-15.8f,44.3f));
var findPath = bfs.FindPath(beginNode, endNode);
var wayPoints = new List<WayPoint>();
findPath.GetDatas(wayPoints);
Debug.Log($"Indices:{string.Join(',',findPath.GetNodes().Select(x=> x.index))}");
Debug.Log($"Positions:{string.Join(',',findPath.GetNodes().Select(x=> x.data.position))}");
// player.MoveAsync()
}
[CanBeNull]

View File

@ -213,10 +213,10 @@ namespace Game
_packageName.Remove(packageName);
}
foreach (var handle in _sceneHandles.Values)
{
UnloadSceneAsync(handle.SceneName);
}
// foreach (var handle in _sceneHandles.Values)
// {
// UnloadSceneAsync(handle.SceneName);
// }
_sceneHandles = null;
_packageName = null;
@ -248,6 +248,7 @@ namespace Game
public interface IResourceManager
{
AssetHandle LoadAssetSync(string name);
GameObject LoadGameObjectSync(string path);
GameObject LoadUIGameObjectSync(string path);
UniTask LoadSceneAsync(string name, LoadSceneMode loadSceneMode = LoadSceneMode.Single,bool suspendLoad = false);

View File

@ -7,7 +7,7 @@ namespace Game
{
public class Test : MonoBehaviour
{
public Transform tr;
// public Transform tr;
private void Update()
{
@ -37,11 +37,15 @@ namespace Game
//var value = this.GetType().ToString().Split(".");
// Debug.Log(value[^1]);
var values = Enum.GetValues(typeof(ProcedureType));
foreach (var value in values)
{
UnityEngine.Debug.Log( value.ToString());
}
//
// var values = Enum.GetValues(typeof(ProcedureType));
// foreach (var value in values)
// {
// UnityEngine.Debug.Log( value.ToString());
// }
//
}
}
}

View File

@ -1 +1 @@
0ce7751036f8a9d4d8ddc94ebf8142dc
b0320ea39a645ba385c482c6a8d18bb1

View File

@ -62,9 +62,9 @@
{
"BundleName": "defaultpackage_assets_hotfix_animator.bundle",
"UnityCRC": 0,
"FileHash": "e04ba4cfe20862bb193019f10ed492e3",
"FileHash": "753b451aa9b58fb7304b46ea4610d6f9",
"FileCRC": "00000000",
"FileSize": 8572,
"FileSize": 8281,
"Encrypted": false,
"Tags": [],
"DependIDs": []
@ -72,9 +72,9 @@
{
"BundleName": "defaultpackage_assets_hotfix_material.bundle",
"UnityCRC": 0,
"FileHash": "2efc397b9cd6d028131034c9f1637e07",
"FileHash": "72fb17302a9e2a509c3c7f8629d237ce",
"FileCRC": "00000000",
"FileSize": 2278,
"FileSize": 2195,
"Encrypted": false,
"Tags": [],
"DependIDs": []
@ -82,9 +82,9 @@
{
"BundleName": "defaultpackage_assets_hotfix_prefabs.bundle",
"UnityCRC": 0,
"FileHash": "168fd2bd3d292d0c79e7b311716e1e0c",
"FileHash": "fe7be2cecbb6fb054838e8345a41e194",
"FileCRC": "00000000",
"FileSize": 48823,
"FileSize": 47274,
"Encrypted": false,
"Tags": [],
"DependIDs": []
@ -92,9 +92,9 @@
{
"BundleName": "defaultpackage_assets_hotfix_prefabs_ui.bundle",
"UnityCRC": 0,
"FileHash": "7e3e04e1d42ac8cf185d96598008c195",
"FileHash": "fb04fe75a7a67c88be5242040345863a",
"FileCRC": "00000000",
"FileSize": 83864,
"FileSize": 85310,
"Encrypted": false,
"Tags": [],
"DependIDs": []
@ -102,9 +102,9 @@
{
"BundleName": "defaultpackage_assets_hotfix_scene.bundle",
"UnityCRC": 0,
"FileHash": "92af60652b438caf8c5568ff271a0c6b",
"FileHash": "ef1ea81be8ec38308612fb323b2ceb49",
"FileCRC": "00000000",
"FileSize": 164738,
"FileSize": 170796,
"Encrypted": false,
"Tags": [],
"DependIDs": []

View File

@ -2,6 +2,7 @@
"dependencies": {
"com.tuyoogame.yooasset": "2.1.0",
"com.unity.2d.sprite": "1.0.0",
"com.unity.ai.navigation": "1.1.5",
"com.unity.collab-proxy": "2.2.0",
"com.unity.feature.development": "1.0.1",
"com.unity.textmeshpro": "3.0.6",

View File

@ -18,89 +18,98 @@
"source": "builtin",
"dependencies": {}
},
"com.unity.ai.navigation": {
"version": "1.1.5",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.ai": "1.0.0"
},
"url": "https://packages.unity.cn"
},
"com.unity.collab-proxy": {
"version": "2.2.0",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.editorcoroutines": {
"version": "1.0.0",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.ext.nunit": {
"version": "1.0.6",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.feature.development": {
"version": "1.0.1",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.ide.visualstudio": "2.0.17",
"com.unity.ide.rider": "3.0.18",
"com.unity.ide.visualstudio": "2.0.22",
"com.unity.ide.rider": "3.0.27",
"com.unity.ide.vscode": "1.2.5",
"com.unity.editorcoroutines": "1.0.0",
"com.unity.performance.profile-analyzer": "1.2.2",
"com.unity.test-framework": "1.1.31",
"com.unity.testtools.codecoverage": "1.2.2"
"com.unity.test-framework": "1.1.33",
"com.unity.testtools.codecoverage": "1.2.4"
}
},
"com.unity.ide.rider": {
"version": "3.0.18",
"version": "3.0.27",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.6"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.ide.visualstudio": {
"version": "2.0.17",
"version": "2.0.22",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.1.9"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.ide.vscode": {
"version": "1.2.5",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.performance.profile-analyzer": {
"version": "1.2.2",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.scriptablebuildpipeline": {
"version": "1.21.21",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.settings-manager": {
"version": "1.0.3",
"version": "2.0.1",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.test-framework": {
"version": "1.1.31",
"version": "1.1.33",
"depth": 1,
"source": "registry",
"dependencies": {
@ -108,17 +117,17 @@
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.testtools.codecoverage": {
"version": "1.2.2",
"version": "1.2.4",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.0.16",
"com.unity.settings-manager": "1.0.1"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.textmeshpro": {
"version": "3.0.6",
@ -127,7 +136,7 @@
"dependencies": {
"com.unity.ugui": "1.0.0"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.timeline": {
"version": "1.7.6",
@ -139,7 +148,7 @@
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0"
},
"url": "https://packages.unity.com"
"url": "https://packages.unity.cn"
},
"com.unity.ugui": {
"version": "1.0.0",
@ -282,17 +291,6 @@
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.uielementsnative": "1.0.0"
}
},
"com.unity.modules.uielementsnative": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",

View File

@ -13,15 +13,15 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_EnablePreReleasePackages: 0
m_EnablePackageDependencies: 0
m_AdvancedSettingsExpanded: 1
m_ScopedRegistriesSettingsExpanded: 1
m_SeeAllPackageVersions: 0
m_DismissPreviewPackagesInUse: 0
oneTimeWarningShown: 0
m_Registries:
- m_Id: main
m_Name:
m_Url: https://packages.unity.com
m_Url: https://packages.unity.cn
m_Scopes: []
m_IsDefault: 1
m_Capabilities: 7
@ -39,6 +39,6 @@ MonoBehaviour:
m_RegistryInfoDraft:
m_Modified: 0
m_ErrorMessage:
m_UserModificationsInstanceId: -850
m_OriginalInstanceId: -854
m_UserModificationsInstanceId: -830
m_OriginalInstanceId: -834
m_LoadAssets: 0

View File

@ -1,6 +1,4 @@
{
"m_Name": "Settings",
"m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
"m_Dictionary": {
"m_DictionaryValues": []
}

View File

@ -1,2 +1,2 @@
m_EditorVersion: 2021.3.22f1
m_EditorVersionWithRevision: 2021.3.22f1 (b6c551784ba3)
m_EditorVersion: 2022.3.17f1c1
m_EditorVersionWithRevision: 2022.3.17f1c1 (a01dafa986ec)