mod: C#9.0 update to 12.0 and create playermanager
parent
f4ed627964
commit
e13e4b32f6
|
@ -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 @@
|
|||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"settings.editor.selected.configurable": "preferences.CSharpInteractiveConfiguration",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
},
|
||||
"keyToStringList": {
|
||||
|
@ -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" />
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 36ae2e48e7a7343fcb1503f56b5d4485
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
readonly struct UniqueWayPoint : IEquatable<UniqueWayPoint>
|
||||
{
|
||||
private readonly WayPoint _wayPoint;
|
||||
|
||||
public UniqueWayPoint(WayPoint wayPoint)
|
||||
{
|
||||
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))
|
||||
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;
|
||||
}
|
||||
}
|
|
@ -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,12 +52,12 @@ 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));
|
||||
|
||||
|
||||
this._procedureManager.StartProcedure(ProcedureType.LoadingGameSceneProcedure);
|
||||
return "11";
|
||||
}).Forget();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 38b20a5af27a4d45abcda2e28c4e0a21
|
||||
timeCreated: 1712285847
|
|
@ -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]
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
// }
|
||||
|
||||
//
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -1 +1 @@
|
|||
0ce7751036f8a9d4d8ddc94ebf8142dc
|
||||
b0320ea39a645ba385c482c6a8d18bb1
|
|
@ -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": []
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{
|
||||
"m_Name": "Settings",
|
||||
"m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
|
||||
"m_Dictionary": {
|
||||
"m_DictionaryValues": []
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue