重构整个项目的恐龙游戏逻辑;添加mvvm框架,并把ui更改为mvvm形式触发;测试项目无问题,完美运行;修复下拉刷新列表的一个bug
parent
080367fd4c
commit
8dc299f5f9
|
@ -5,15 +5,56 @@
|
|||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="d018256f-8250-4025-b60e-7cdf03f0e7e0" name="Changes" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/HallSceneMallUI.cs" afterDir="false" />
|
||||
<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/GameRes/Prefabs/UI/GameSceneJiaohuUI.prefab" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameSceneJiaohuUI.prefab.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Editor/GenResourcePathEditor/GenResourcePathEditor.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Editor/GenResourcePathEditor/GenResourcePathEditor.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameMallUI.prefab" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameMallUI.prefab.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameSceneHelpUI.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameSceneHelpUI.prefab" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameSceneMainUI.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/GameRes/Prefabs/UI/GameSceneMainUI.prefab" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Resources/Fonts/MSYH SDF.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Fonts/MSYH SDF.asset" afterDir="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/AssetConstPath/AssetPathConst.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/AssetConstPath/AssetPathConst.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/BFS/BFSManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/BFS/BFSManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Boss/IBoss.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Boss/IBoss.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Boss/IBossManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Boss/IBossManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Data/StoreData.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Data/StoreData.cs.meta" beforeDir="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/Procedure/Logic/LoadingGameSceneProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/LoadingGameSceneProcedure.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/Player.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/Player.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerInfo.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerInfo.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Player/PlayerManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/EnterGameSceneProcedure.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/EnterGameSceneProcedure.cs.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/GameSceneKillPlayerProcedure.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/GameSceneKillPlayerProcedure.cs.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/GameSceneLogicProcedure.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/GameSceneLogicProcedure.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/LoadingGameSceneProcedure.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/Logic/LoadingGameSceneProcedure.cs.meta" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureType.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Procedure/ProcedureType.cs" 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/Room/IRoomManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Room/IRoomManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/Room/Room.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/Room/Room.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$/Assets/Scripts/UI/Logic.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameMallUI.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameMallUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/HallSceneMallUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneHelpUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneHelpUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneHelpUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneHelpUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneMainUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneMainUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneMainUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneMainUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneResultUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneResultUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneResultUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameSceneResultUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameStorePurchaseUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameStorePurchaseUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameStorePurchaseUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GameStorePurchaseUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GlobalLogOnlyAppUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GlobalLogOnlyAppUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/GlobalLogOnlyAppUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/GlobalLogOnlyAppUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/InputNameUI.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/InputNameUI.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/Logic/InputNameUI.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UILogic/InputNameUI.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/UIInfo.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UIInfo.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/UIType.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/UIType.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/View/ScrollRect/ScrollRectUpdateView.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/View/ScrollRect/ScrollRectUpdateViewBase.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Scripts/UI/View/ScrollRect/ScrollRectUpdateView.cs.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scripts/UI/View/ScrollRect/ScrollRectUpdateViewBase.cs.meta" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.bytes" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.bytes" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.hash" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.hash" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.json" beforeDir="false" afterPath="$PROJECT_DIR$/Bundles/Android/DefaultPackage/Simulate/PackageManifest_DefaultPackage_Simulate.json" afterDir="false" />
|
||||
|
@ -31,22 +72,28 @@
|
|||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/17d9ce77f27a4bd2afb5ba32c9bea97646ac00/4f/abdfd757/NullReferenceException.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/6f8115a8e2e045b29e5fa190e193ec1c27800/63/c27df556/Animator.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/82a2fd073ee449928e161903460426d72ae00/6d/8897fd91/TweenExtensions.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/88e4733ac7bc4ae1b496735e6b83bbd346ac00/34/9d27fe83/AwaitTaskContinuation.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/88e4733ac7bc4ae1b496735e6b83bbd346ac00/74/612c8d45/Delegate.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/a655008de92846458baa16d876fb23c4171c00/2e/e215c7f1/Object.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/af9ee0c5a8cb435a8fc77f3f1c1a3657ac310/ce/b1370294/JsonConvert.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/ba783288ca164d3099898a8819fcec1c159e00/4c/fede1808/LogType.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/c701cc3cda1a4e70a8e00519d656ac5a9600/51/db4885bf/HideReferenceObjectPickerAttribute.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/d8e27b9b2bf34338bc0a9edd46a39109174200/7a/25a2652e/Behaviour.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/d8e27b9b2bf34338bc0a9edd46a39109174200/b9/e602cb14/Object.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/d8e27b9b2bf34338bc0a9edd46a39109174200/da/bd8ed098/Debug.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/d8e27b9b2bf34338bc0a9edd46a39109174200/df/fa0e801d/Component.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/MVVM/Views/ZTestView.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/ManagerBase.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/RayCast/MouseInput.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/RayCast/MouseInputManager.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/UI/Logic/InputNameUI.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/UI/UILogic/InputNameUI.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Assets/Scripts/UILoading.cs" root0="FORCE_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.tuyoogame.yooasset@2.1.0/Runtime/ResourceManager/Handle/AssetHandle.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.tuyoogame.yooasset@2.1.0/Runtime/ResourcePackage/ResourcePackage.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.tuyoogame.yooasset@2.1.0/Runtime/YooAssets.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.tuyoogame.yooasset@2.1.0/Runtime/YooAssetsExtension.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$PROJECT_DIR$/Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 2
|
||||
|
@ -79,6 +126,14 @@
|
|||
}
|
||||
}</component>
|
||||
<component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor">
|
||||
<configuration name="Standalone Player" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="$PROJECT_DIR$/../../UnityPackage/testf\TestF.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="D:\UnityPackage\testf" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Standalone Player" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="$PROJECT_DIR$/../../UnityPackage/testf\TestF.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
|
@ -95,6 +150,22 @@
|
|||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\2021.3.22f1\Editor\Unity.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="-projectPath D:\UnityProject\TestF -debugCodeOptimization" />
|
||||
<option name="WORKING_DIRECTORY" value="D:\UnityProject\TestF" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\2021.3.22f1\Editor\Unity.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath D:\UnityProject\TestF -testResults Logs/results.xml -testPlatform EditMode -debugCodeOptimization" />
|
||||
<option name="WORKING_DIRECTORY" value="D:\UnityProject\TestF" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Unit Tests (batch mode)" type="RunUnityExe" factoryName="Unity Executable">
|
||||
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\2021.3.22f1\Editor\Unity.exe" />
|
||||
<option name="PROGRAM_PARAMETERS" value="-runTests -batchmode -projectPath D:\UnityProject\TestF -testResults Logs/results.xml -testPlatform EditMode -debugCodeOptimization" />
|
||||
|
@ -113,6 +184,26 @@
|
|||
</option>
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="Attach to Unity Editor & Play" type="UNITY_DEBUG_RUN_CONFIGURATION" factoryName="UNITY_ATTACH_AND_PLAY" 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" />
|
||||
<option name="projectPathOnTarget" />
|
||||
<option name="selectedOptions">
|
||||
<list />
|
||||
</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="14784">
|
||||
<option name="allowRunningInParallel" value="false" />
|
||||
<option name="listenPortForConnections" value="false" />
|
||||
<option name="pid" value="14784" />
|
||||
<option name="projectPathOnTarget" />
|
||||
<option name="selectedOptions">
|
||||
<list />
|
||||
</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="6416">
|
||||
<option name="allowRunningInParallel" value="false" />
|
||||
<option name="listenPortForConnections" value="false" />
|
||||
|
@ -156,7 +247,12 @@
|
|||
<workItem from="1712970454393" duration="2331000" />
|
||||
<workItem from="1713157360030" duration="477000" />
|
||||
<workItem from="1713231899305" duration="22728000" />
|
||||
<workItem from="1713317972236" duration="11657000" />
|
||||
<workItem from="1713317972236" duration="11773000" />
|
||||
<workItem from="1713595910135" duration="11692000" />
|
||||
<workItem from="1713747772663" duration="28331000" />
|
||||
<workItem from="1713834522920" duration="9992000" />
|
||||
<workItem from="1713920918706" duration="15903000" />
|
||||
<workItem from="1713940533652" duration="11509000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
@ -184,32 +280,6 @@
|
|||
</properties>
|
||||
<option name="timeStamp" value="1" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameSceneHelpUI.cs</url>
|
||||
<line>25</line>
|
||||
<properties documentPath="D:\UnityProject\TestF\Assets\Scripts\UI\Logic\GameSceneHelpUI.cs" initialLine="25" containingFunctionPresentation="Method 'ClickSureButton'">
|
||||
<startOffsets>
|
||||
<option value="543" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="570" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="6" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/Assets/Scripts/UI/Logic/GameMallUI.cs</url>
|
||||
<line>102</line>
|
||||
<properties documentPath="D:\UnityProject\TestF\Assets\Scripts\UI\Logic\GameMallUI.cs" initialLine="101" containingFunctionPresentation="Method 'RefreshData'">
|
||||
<startOffsets>
|
||||
<option value="3557" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="3590" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="9" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/Assets/Scripts/JSON/AnalyzeJSON.cs</url>
|
||||
<line>11</line>
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
using System.Collections.Generic;
|
||||
using Game.MVVM.Model;
|
||||
using Sirenix.OdinInspector.Editor;
|
||||
|
||||
namespace Editor.GenResourcePathEditor
|
||||
{
|
||||
public class GenConfigEditor : OdinEditorWindow
|
||||
{
|
||||
[UnityEditor.MenuItem("Tool/ZC/GenConfigEditor")]
|
||||
private static void OpenWindow()
|
||||
{
|
||||
GetWindow<GenConfigEditor>().Show();
|
||||
}
|
||||
|
||||
public List<MallStoreItem> storeItems = new List<MallStoreItem>();
|
||||
public List<MallScrollItem> scrollItems = new List<MallScrollItem>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: aa1a9ed5bd5a4a65aa99956591b62ec2
|
||||
timeCreated: 1713922795
|
|
@ -3,14 +3,13 @@ using System.IO;
|
|||
using System.Text;
|
||||
using Sirenix.OdinInspector;
|
||||
using Sirenix.OdinInspector.Editor;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Editor.GenResourcePathEditor
|
||||
{
|
||||
public class GenResourcePathEditor : OdinEditorWindow
|
||||
{
|
||||
[MenuItem("Tool/ZC/GenResourcePathEditor")]
|
||||
[UnityEditor.MenuItem("Tool/ZC/GenResourcePathEditor")]
|
||||
private static void OpenWindow()
|
||||
{
|
||||
GetWindow<GenResourcePathEditor>().Show();
|
||||
|
|
|
@ -644,6 +644,8 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 8147848902739232314}
|
||||
- component: {fileID: 2194549472847266646}
|
||||
- component: {fileID: 7330289837143714749}
|
||||
- component: {fileID: 8936306396004867506}
|
||||
m_Layer: 0
|
||||
m_Name: manag
|
||||
m_TagString: Untagged
|
||||
|
@ -682,6 +684,32 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4159528952153368361}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!225 &7330289837143714749
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4159528952153368361}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &8936306396004867506
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4159528952153368361}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b2a1576886b942d5866e816a58683a50, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
btnBack: {fileID: 4600810836833673666}
|
||||
--- !u!1 &5425567504663934153
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -32,7 +32,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1162980212873795129}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -152,7 +152,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 34451301792257562}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
@ -228,7 +228,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 169421807864461812}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
|
@ -305,7 +305,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
|
@ -402,7 +402,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5021768597369727541}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
@ -480,7 +480,7 @@ RectTransform:
|
|||
- {fileID: 169421807864461812}
|
||||
- {fileID: 808545014624253490}
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
|
@ -556,7 +556,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5021768597369727541}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -631,7 +631,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 5021768597369727541}
|
||||
m_Father: {fileID: 3016463072486918917}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -669,7 +669,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1841947078590863046}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -747,7 +747,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 1841947078590863046}
|
||||
m_Father: {fileID: 2081815618460512524}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -872,7 +872,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 34451301792257562}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1009,7 +1009,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 4413202423940604268}
|
||||
m_Father: {fileID: 2081815618460512524}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1077,6 +1077,8 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 3530584219335281082}
|
||||
- component: {fileID: 5484834207614550145}
|
||||
- component: {fileID: 8569804701476922707}
|
||||
- component: {fileID: 3404393095991727767}
|
||||
m_Layer: 0
|
||||
m_Name: bg
|
||||
m_TagString: Untagged
|
||||
|
@ -1103,7 +1105,7 @@ RectTransform:
|
|||
- {fileID: 1162980212873795129}
|
||||
- {fileID: 7300865430058259294}
|
||||
m_Father: {fileID: 6860014877856783422}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1118,6 +1120,38 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5600304962310771334}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!225 &8569804701476922707
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5600304962310771334}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &3404393095991727767
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5600304962310771334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 431c37659f9447f3979a0d3b97090759, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
btnBack: {fileID: 6361402193510103780}
|
||||
btnHelp: {fileID: 5474059756712756043}
|
||||
btnInvestment: {fileID: 1413790542302626778}
|
||||
txtJinBei: {fileID: 8446278274530464895}
|
||||
txtMessage: {fileID: 548527743232522306}
|
||||
dropdown: {fileID: 1806200061776889088}
|
||||
imgTips: {fileID: 5658871724288701685}
|
||||
--- !u!1 &5648420523924267466
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1150,7 +1184,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 5835846045980824188}
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -1228,7 +1262,7 @@ RectTransform:
|
|||
- {fileID: 733979832953439748}
|
||||
- {fileID: 2619756866620182203}
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1303,7 +1337,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 1633020055586823971}
|
||||
m_Father: {fileID: 7473532737897809580}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1344,7 +1378,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 3530584219335281082}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: -1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1448,7 +1482,7 @@ RectTransform:
|
|||
- {fileID: 3016463072486918917}
|
||||
- {fileID: 7473532737897809580}
|
||||
m_Father: {fileID: 169421807864461812}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
|
@ -1556,7 +1590,7 @@ RectTransform:
|
|||
- {fileID: 5005820590705638588}
|
||||
- {fileID: 5312001759260669511}
|
||||
m_Father: {fileID: 4413202423940604268}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
|
@ -1643,7 +1677,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -1767,7 +1801,7 @@ RectTransform:
|
|||
- {fileID: 2057438661113781037}
|
||||
- {fileID: 2081815618460512524}
|
||||
m_Father: {fileID: 1162980212873795129}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -1906,7 +1940,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3530584219335281082}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -2026,7 +2060,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3401631729630773585}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
|
@ -2161,7 +2195,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5021768597369727541}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -2296,7 +2330,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 169421807864461812}
|
||||
m_RootOrder: -2
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
|
@ -0,0 +1,525 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1788726950227655613
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1417898116430425098}
|
||||
- component: {fileID: 8205531383661772612}
|
||||
- component: {fileID: 436909684374948031}
|
||||
- component: {fileID: 7843749286513618667}
|
||||
- component: {fileID: 7359500424275333889}
|
||||
m_Layer: 0
|
||||
m_Name: HallSceneMainUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1417898116430425098
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1788726950227655613}
|
||||
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:
|
||||
- {fileID: 4143984083668355473}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8205531383661772612
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1788726950227655613}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &436909684374948031
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1788726950227655613}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!225 &7843749286513618667
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1788726950227655613}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &7359500424275333889
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1788726950227655613}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: aa6c9b462319459ca494d7979967fc65, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
font: {fileID: 0}
|
||||
--- !u!1 &4007338668054806973
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1199607059942834578}
|
||||
- component: {fileID: 3843768131448087614}
|
||||
- component: {fileID: 2816900982250888421}
|
||||
- component: {fileID: 5019730432964340068}
|
||||
- component: {fileID: 3974158138585058736}
|
||||
- component: {fileID: 7775336711658822170}
|
||||
m_Layer: 0
|
||||
m_Name: hallSceneMainItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1199607059942834578
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
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:
|
||||
- {fileID: 3513092011782190106}
|
||||
m_Father: {fileID: 4143984083668355473}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3843768131448087614
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2816900982250888421
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &5019730432964340068
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 2816900982250888421}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!225 &3974158138585058736
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &7775336711658822170
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4007338668054806973}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c9056a66734142248f187646c79d8da1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
btn: {fileID: 5019730432964340068}
|
||||
txtName: {fileID: 4112732130943538633}
|
||||
--- !u!1 &4362869369184544319
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3513092011782190106}
|
||||
- component: {fileID: 1003766320610544442}
|
||||
- component: {fileID: 4112732130943538633}
|
||||
m_Layer: 0
|
||||
m_Name: txt_Name
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3513092011782190106
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4362869369184544319}
|
||||
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: 1199607059942834578}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1003766320610544442
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4362869369184544319}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4112732130943538633
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4362869369184544319}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: "\u6D4B\u8BD5"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 77aa97af632c6664fba601ee0bd95449, type: 2}
|
||||
m_sharedMaterial: {fileID: -8700875382889012724, guid: 77aa97af632c6664fba601ee0bd95449, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 40
|
||||
m_fontSizeBase: 40
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &5055259099480063549
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4143984083668355473}
|
||||
- component: {fileID: 335782580949288644}
|
||||
- component: {fileID: 6452389263210223416}
|
||||
- component: {fileID: 96990276657789933}
|
||||
- component: {fileID: 629794600947725730}
|
||||
- component: {fileID: 850883379100661419}
|
||||
m_Layer: 0
|
||||
m_Name: hallSceneMainMenuView
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4143984083668355473
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
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:
|
||||
- {fileID: 1199607059942834578}
|
||||
m_Father: {fileID: 1417898116430425098}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 200}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!222 &335782580949288644
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6452389263210223416
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &96990276657789933
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 10
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!225 &629794600947725730
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &850883379100661419
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5055259099480063549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 62d049c58ac444539356c873c6cc16a9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
parentTrans: {fileID: 4143984083668355473}
|
||||
itemView: {fileID: 7775336711658822170}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f7c5ee18df3601a499fcb7d35bb51def
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1149,7 +1149,7 @@ GameObject:
|
|||
- component: {fileID: 4481098500885992545}
|
||||
- component: {fileID: 2188655184802836331}
|
||||
m_Layer: 0
|
||||
m_Name: Item
|
||||
m_Name: btnBack
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -1995,7 +1995,7 @@ RectTransform:
|
|||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 10, y: 49.999985}
|
||||
m_SizeDelta: {x: 0, y: 150}
|
||||
m_SizeDelta: {x: 144.01, y: 150}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!222 &4481098501707021569
|
||||
CanvasRenderer:
|
||||
|
@ -2144,7 +2144,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0.000018119812, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 183}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &428774475261682361
|
||||
|
@ -2185,7 +2185,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_AllowSwitchOff: 1
|
||||
m_AllowSwitchOff: 0
|
||||
--- !u!1 &4481098501802080359
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2336,7 +2336,7 @@ RectTransform:
|
|||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 10, y: -0.0000076293945}
|
||||
m_SizeDelta: {x: 0, y: 53.498}
|
||||
m_SizeDelta: {x: 144.01, y: 53.498}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!222 &4481098501971714288
|
||||
CanvasRenderer:
|
||||
|
@ -2459,13 +2459,15 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 3903976971879949461}
|
||||
- component: {fileID: 480958851224040803}
|
||||
- component: {fileID: 8828262994403599718}
|
||||
- component: {fileID: 780194271078289705}
|
||||
m_Layer: 0
|
||||
m_Name: storeItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &3903976971879949461
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2482,9 +2484,9 @@ RectTransform:
|
|||
m_Father: {fileID: 4481098501785207803}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 160, y: -91.5}
|
||||
m_SizeDelta: {x: 300, y: 150}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &480958851224040803
|
||||
|
@ -2535,6 +2537,34 @@ MonoBehaviour:
|
|||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_IsOn: 1
|
||||
--- !u!225 &8828262994403599718
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6885642855762525541}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &780194271078289705
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6885642855762525541}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 25a38cfa71a84c85b723b0542c9e193a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
imgIcon: {fileID: 6746935151477445796}
|
||||
txtName: {fileID: 1752995713751783845}
|
||||
tog: {fileID: 480958851224040803}
|
||||
--- !u!1 &7545803632814288325
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2595,7 +2625,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
|
@ -2925,13 +2955,15 @@ GameObject:
|
|||
- component: {fileID: 7928957441832648412}
|
||||
- component: {fileID: 7928957441832648410}
|
||||
- component: {fileID: 7928957441832648411}
|
||||
- component: {fileID: 7964732187364997627}
|
||||
- component: {fileID: 3302069347505927241}
|
||||
m_Layer: 5
|
||||
m_Name: viewItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &7928957441832648412
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2949,9 +2981,9 @@ RectTransform:
|
|||
m_Father: {fileID: 7928957442934523519}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 540, y: -75}
|
||||
m_SizeDelta: {x: 1080, y: 150}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7928957441832648410
|
||||
|
@ -2992,6 +3024,35 @@ MonoBehaviour:
|
|||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!225 &7964732187364997627
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7928957441832648413}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &3302069347505927241
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7928957441832648413}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b711267792c1417e817ef93d82d7ea57, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
imgIcon: {fileID: 4481098500870881251}
|
||||
txtName: {fileID: 4481098501707021570}
|
||||
txtCount: {fileID: 4481098501971714289}
|
||||
btnBuy: {fileID: 4481098500081607321}
|
||||
--- !u!1 &7928957441947421987
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3552,7 +3613,7 @@ GameObject:
|
|||
- component: {fileID: 7928957442961362437}
|
||||
- component: {fileID: 7928957442961362438}
|
||||
- component: {fileID: 7928957442961362440}
|
||||
- component: {fileID: 7928957442961362436}
|
||||
- component: {fileID: 2527774106171497770}
|
||||
m_Layer: 5
|
||||
m_Name: scrollRect
|
||||
m_TagString: Untagged
|
||||
|
@ -3651,7 +3712,7 @@ MonoBehaviour:
|
|||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &7928957442961362436
|
||||
--- !u!114 &2527774106171497770
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -3660,7 +3721,7 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 7928957442961362441}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: c91182ec4ce7d0547a2687f389d91290, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 0c1d79864e8e4d2f830f3776f759d2d4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
contentTransform: {fileID: 7928957442934523519}
|
||||
|
@ -3812,8 +3873,9 @@ GameObject:
|
|||
- component: {fileID: 8626313007004970772}
|
||||
- component: {fileID: 5328268359970419041}
|
||||
- component: {fileID: 5598178627790453731}
|
||||
- component: {fileID: 4747937505425389406}
|
||||
m_Layer: 0
|
||||
m_Name: GameMallUI
|
||||
m_Name: HallSceneMallUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -3903,3 +3965,20 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
font: {fileID: 0}
|
||||
--- !u!114 &4747937505425389406
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8896865161160366394}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 87bfb15fc74f41218d1a7549c321b32d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
destroyOnHide: 0
|
||||
scrollRectUpdateView: {fileID: 2527774106171497770}
|
||||
storeItemParent: {fileID: 4481098501785207803}
|
||||
storeItem: {fileID: 6885642855762525541}
|
||||
btnBack: {fileID: 2188655184802836331}
|
|
@ -0,0 +1,125 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 3
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 0
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1c7e643baad163046834e3a651e1381f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -1088,6 +1088,8 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 73a6f02cb4eb431190225bd497c5ae76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
str: {fileID: 0}
|
||||
str1:
|
||||
startTr: {fileID: 1000386969}
|
||||
endTr: {fileID: 74717501}
|
||||
--- !u!4 &2142424751
|
||||
|
|
|
@ -11,13 +11,15 @@ public const string Assets_GameRes_Prefabs_Room_杂物室 = "Assets/GameRes/Pref
|
|||
public const string Assets_GameRes_Prefabs_Room_沙慕龙阁 = "Assets/GameRes/Prefabs/Room/沙慕龙阁.prefab";
|
||||
public const string Assets_GameRes_Prefabs_Room_英雄圣殿 = "Assets/GameRes/Prefabs/Room/英雄圣殿.prefab";
|
||||
public const string Assets_GameRes_Prefabs_Room_训练堂 = "Assets/GameRes/Prefabs/Room/训练堂.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GameMallUI = "Assets/GameRes/Prefabs/UI/GameMallUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GameSceneHelpUI = "Assets/GameRes/Prefabs/UI/GameSceneHelpUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GameSceneMainUI = "Assets/GameRes/Prefabs/UI/GameSceneMainUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GameSceneResultUI = "Assets/GameRes/Prefabs/UI/GameSceneResultUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GameStorePurchaseUI = "Assets/GameRes/Prefabs/UI/GameStorePurchaseUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_GlobalLogOnlyAppUI = "Assets/GameRes/Prefabs/UI/GlobalLogOnlyAppUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_HallSceneMainUI = "Assets/GameRes/Prefabs/UI/HallSceneMainUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_HallSceneMallUI = "Assets/GameRes/Prefabs/UI/HallSceneMallUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_InputNameUI = "Assets/GameRes/Prefabs/UI/InputNameUI.prefab";
|
||||
public const string Assets_GameRes_Prefabs_UI_LoadingGameSceneUI = "Assets/GameRes/Prefabs/UI/LoadingGameSceneUI.prefab";
|
||||
public const string Assets_GameRes_Scene_Game = "Assets/GameRes/Scene/Game.unity";
|
||||
public const string Assets_GameRes_Scene_Hall = "Assets/GameRes/Scene/Hall.unity";
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace Game.Pathfinding
|
|||
public interface IBFSManager
|
||||
{
|
||||
List<WayPoint> FindPath(Vector2 startPos, Vector2 endPos);
|
||||
List<WayPoint> FindPath(Vector2 endPos);
|
||||
// List<WayPoint> FindPath(Vector2 endPos);
|
||||
|
||||
Node<WayPoint> GetNode(Vector2 position);
|
||||
// void Test(Vector2 position);
|
||||
|
@ -18,7 +18,6 @@ namespace Game.Pathfinding
|
|||
public class BFSManager : ManagerBase, IBFSManager
|
||||
{
|
||||
private BFS<WayPoint> bfs;
|
||||
private IPlayerManager _playerManager;
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
|
@ -33,8 +32,6 @@ namespace Game.Pathfinding
|
|||
// 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))}");
|
||||
|
||||
this._playerManager = Game.playerManager;
|
||||
}
|
||||
|
||||
protected override void OnUpdate(float dateTime)
|
||||
|
@ -57,29 +54,19 @@ namespace Game.Pathfinding
|
|||
return wayPoints;
|
||||
}
|
||||
|
||||
public List<WayPoint> FindPath(Vector2 endPos)
|
||||
{
|
||||
var player = this._playerManager.currentPlayer;
|
||||
var pos = player.self.transform.position;
|
||||
var startPos = new Vector2(pos.x, pos.y);
|
||||
var beginNode = GetNode(bfs, startPos);
|
||||
var endNode = GetNode(bfs, endPos);
|
||||
// UnityEngine.Debug.Log($"frome {beginNode.index} to {endNode.index} ");
|
||||
var findPath = bfs.FindPath(beginNode, endNode);
|
||||
var wayPoints = new List<WayPoint>();
|
||||
findPath.GetDatas(wayPoints);
|
||||
return wayPoints;
|
||||
}
|
||||
|
||||
// public void Test(Vector2 endPos)
|
||||
// {
|
||||
// var player = this._playerManager.currentPlayer;
|
||||
// var pos = player.self.transform.position;
|
||||
// var startPos = new Vector2(pos.x, pos.y);
|
||||
// var beginNode = GetNode(bfs, startPos);
|
||||
// var endNode = GetNode(bfs, endPos);
|
||||
// public List<WayPoint> FindPath(Vector2 endPos)
|
||||
// {
|
||||
// var player = this._playerManager.currentPlayer;
|
||||
// var pos = player.self.transform.position;
|
||||
// var startPos = new Vector2(pos.x, pos.y);
|
||||
// var beginNode = GetNode(bfs, startPos);
|
||||
// var endNode = GetNode(bfs, endPos);
|
||||
//// UnityEngine.Debug.Log($"frome {beginNode.index} to {endNode.index} ");
|
||||
// }
|
||||
// var findPath = bfs.FindPath(beginNode, endNode);
|
||||
// var wayPoints = new List<WayPoint>();
|
||||
// findPath.GetDatas(wayPoints);
|
||||
// return wayPoints;
|
||||
// }
|
||||
|
||||
[CanBeNull]
|
||||
public Node<WayPoint> GetNode(Vector2 position)
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEditorInternal.VersionControl;
|
||||
|
||||
namespace Game.Data
|
||||
{
|
||||
[System.Serializable]
|
||||
public class StoreData
|
||||
{
|
||||
public long id;
|
||||
public string storeName;
|
||||
public List<StoreDataItem> list;
|
||||
|
||||
public StoreData(long id, string storeName, List<StoreDataItem> list)
|
||||
{
|
||||
this.id = id;
|
||||
this.storeName = storeName;
|
||||
this.list = list;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class StoreDataItem
|
||||
{
|
||||
public long id;
|
||||
public string name;
|
||||
public string desc;
|
||||
public float price;
|
||||
public int count;
|
||||
|
||||
public StoreDataItem(long id, string name, string desc, float price, int count)
|
||||
{
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.desc = desc;
|
||||
this.price = price;
|
||||
this.count = count;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 91f017b223784a9fb5fb8f422e9a566c
|
||||
timeCreated: 1713232741
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ceed7aca8c40494cad97381da7f0d54c
|
||||
timeCreated: 1713926428
|
|
@ -16,11 +16,9 @@ namespace Game.Boss
|
|||
BossInfo info { get; }
|
||||
IRoom room { get; }
|
||||
bool isMoving { get; }
|
||||
void SetGameObject(GameObject gameObject, IRoom room);
|
||||
|
||||
UniTask<float> WaitMoveRoomAndKillAsync(CancellationToken token);
|
||||
|
||||
// UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token);
|
||||
void Init();
|
||||
void Dispose();
|
||||
}
|
||||
|
@ -36,12 +34,14 @@ namespace Game.Boss
|
|||
private IRoom _room;
|
||||
private bool _isMoving;
|
||||
private BossInfo _info;
|
||||
private IBFSManager _bfsManager;
|
||||
private BossData _data;
|
||||
|
||||
public string name => this._name;
|
||||
|
||||
public GameObject self => this._self;
|
||||
|
||||
public BossData data { get; }
|
||||
public BossData data => this._data;
|
||||
|
||||
public BossInfo info => this._info;
|
||||
|
||||
|
@ -49,7 +49,7 @@ namespace Game.Boss
|
|||
|
||||
public bool isMoving => this._isMoving;
|
||||
|
||||
public void SetGameObject(GameObject gameObject, IRoom room)
|
||||
public Boss(GameObject gameObject, IRoom room, IBFSManager bfs)
|
||||
{
|
||||
this._self = gameObject;
|
||||
this._name = room.roomName;
|
||||
|
@ -57,11 +57,14 @@ namespace Game.Boss
|
|||
this._info = gameObject.GetComponent<BossInfo>();
|
||||
this._info.SetBoss(this);
|
||||
this._isMoving = true;
|
||||
this._bfsManager = bfs;
|
||||
this._data = new BossData();
|
||||
this._isMoving = false;
|
||||
}
|
||||
|
||||
public async UniTask<float> WaitMoveRoomAndKillAsync(CancellationToken token)
|
||||
{
|
||||
var wayPoints = Game.bfsManager.FindPath(this._info.birthPoint, _room.roomInfo.room_Center);
|
||||
var wayPoints = this._bfsManager.FindPath(this._info.birthPoint, _room.roomInfo.room_Center);
|
||||
await this.MoveAsync(wayPoints, token);
|
||||
Debug.Log("Move finish !!!");
|
||||
await this._info.Kill(token);
|
||||
|
@ -70,14 +73,11 @@ namespace Game.Boss
|
|||
|
||||
private async UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token)
|
||||
{
|
||||
if (!this._isMoving) return false;
|
||||
|
||||
_isMoving = false;
|
||||
// var endPos = this._room.roomInfo.GetJoinPosition();
|
||||
// await this._info.MoveAsync(wayPoint, endPos, token);
|
||||
if (this._isMoving) return false;
|
||||
_isMoving = true;
|
||||
|
||||
await this._info.MoveAsync(wayPoint, token);
|
||||
this._isMoving = true;
|
||||
this._isMoving = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -88,6 +88,12 @@ namespace Game.Boss
|
|||
public virtual void Dispose()
|
||||
{
|
||||
this._info.Dispose();
|
||||
GameObject.Destroy(this._self);
|
||||
this._room = null;
|
||||
this._isMoving = false;
|
||||
this._info = null;
|
||||
this._bfsManager = null;
|
||||
this._self = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Game.Pathfinding;
|
||||
using Game.Room;
|
||||
using UnityEngine;
|
||||
|
||||
|
@ -9,6 +10,7 @@ namespace Game.Boss
|
|||
public interface IBossManager
|
||||
{
|
||||
IReadOnlyList<IBoss> bosses { get; }
|
||||
IBFSManager bfsManager { get; }
|
||||
|
||||
UniTask MoveToKillPlayerAsync(IReadOnlyList<IRoom> rooms, CancellationToken token);
|
||||
void DeleteBoss();
|
||||
|
@ -17,17 +19,25 @@ namespace Game.Boss
|
|||
public class BossManager : ManagerBase, IBossManager
|
||||
{
|
||||
private List<IBoss> _bosses;
|
||||
private IBFSManager _bfsManager;
|
||||
private string bossAssetName = AssetConstPath.Assets_GameRes_Prefabs_Role_boss1;
|
||||
|
||||
public IReadOnlyList<IBoss> bosses => this._bosses;
|
||||
|
||||
public IBFSManager bfsManager => this._bfsManager;
|
||||
|
||||
public BossManager(IBFSManager bfsManager)
|
||||
{
|
||||
this._bfsManager = bfsManager;
|
||||
}
|
||||
|
||||
public async UniTask MoveToKillPlayerAsync(IReadOnlyList<IRoom> rooms, CancellationToken token)
|
||||
{
|
||||
this._bosses = new List<IBoss>();
|
||||
foreach (var room in rooms)
|
||||
{
|
||||
IBoss boss = new Boss();
|
||||
var gameObject = Game.resourceManager.LoadGameObjectSync(AssetConstPath.Assets_GameRes_Prefabs_Role_boss1);
|
||||
boss.SetGameObject(gameObject, room);
|
||||
var gameObject = Game.resourceManager.LoadGameObjectSync(bossAssetName);
|
||||
IBoss boss = new Boss(gameObject, room, this._bfsManager);
|
||||
boss.Init();
|
||||
_bosses.Add(boss);
|
||||
}
|
||||
|
@ -53,5 +63,18 @@ namespace Game.Boss
|
|||
|
||||
this._bosses.Clear();
|
||||
}
|
||||
|
||||
protected override void OnDispose()
|
||||
{
|
||||
base.OnDispose();
|
||||
if (this._bosses != null)
|
||||
foreach (var boss in this._bosses)
|
||||
{
|
||||
boss.Dispose();
|
||||
}
|
||||
|
||||
this._bfsManager = null;
|
||||
this._bosses = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,276 @@
|
|||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Game.Boss;
|
||||
using Game.Pathfinding;
|
||||
using Game.Player;
|
||||
using Game.RayCast;
|
||||
using Game.Room;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace Game.Dinosaurs
|
||||
{
|
||||
public class DinosaursGameManager : IDinosaursGameManager
|
||||
{
|
||||
// private bool isInit;
|
||||
private bool isPlaying;
|
||||
private bool isInBalance;
|
||||
private float currentTime = 0f;
|
||||
private float bossRefreshTime = 20f;
|
||||
private GameSceneMainUI sceneMainUI;
|
||||
|
||||
private BFSManager _bfsManager;
|
||||
private MouseInputManager _mouseInputManager;
|
||||
private BossManager _bossManager;
|
||||
private PlayerManager _playerManager;
|
||||
private RoomManager _roomManager;
|
||||
|
||||
public IBFSManager bfsManager => this._bfsManager;
|
||||
|
||||
public IMouseInputManager mouseInputManager => this._mouseInputManager;
|
||||
|
||||
public IBossManager bossManager => this._bossManager;
|
||||
|
||||
public IPlayerManager playerManager => this._playerManager;
|
||||
|
||||
public IRoomManager roomManager => this._roomManager;
|
||||
|
||||
public IPlayer currentPlayer => this._playerManager.currentPlayer;
|
||||
|
||||
public IRoom room => this._roomManager.currentRoom;
|
||||
|
||||
public DinosaursGameManager()
|
||||
{
|
||||
this._bfsManager = new BFSManager();
|
||||
this._mouseInputManager = new MouseInputManager();
|
||||
this._bossManager = new BossManager(this.bfsManager);
|
||||
this._playerManager = new PlayerManager(this.bfsManager);
|
||||
this._roomManager = new RoomManager();
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
this._bfsManager.Init();
|
||||
this._mouseInputManager.Init();
|
||||
this._bossManager.Init();
|
||||
this._playerManager.Init();
|
||||
this._roomManager.Init();
|
||||
}
|
||||
|
||||
public void StartGame()
|
||||
{
|
||||
this.isInBalance = false;
|
||||
this.isPlaying = true;
|
||||
this.currentTime = 0;
|
||||
|
||||
//
|
||||
this.LoadGameSceneAsync().Forget();
|
||||
|
||||
EventManager.Instance.Subscribe(InputObjectFinishEventArgs.EventId, InputObjectFinishEvent);
|
||||
sceneMainUI = Game.uiManager.GetUI<GameSceneMainUI>(UIType.GameSceneMainUI);
|
||||
}
|
||||
|
||||
#region StartGame
|
||||
|
||||
async UniTask LoadGameSceneAsync()
|
||||
{
|
||||
await Game.resourceManager.LoadSceneAsync(AssetConstPath.Assets_GameRes_Scene_Game, LoadSceneMode.Additive);
|
||||
EventManager.Instance.FireNow(this, new LoadingGameSceneFinishEventArgs(true));
|
||||
|
||||
var player = this._playerManager.CreatePlayer(Game.currentPlayerData.name, Game.currentPlayerData.jinBei);
|
||||
this._playerManager.SetCurrentPlayer(player);
|
||||
EventManager.Instance.FireNow(this, new InitCurrentPlayerDataEventArgs(player));
|
||||
player.self.transform.position = new Vector3(-9.6f, -10.3f);
|
||||
Game.uiManager.ShowUI(UIType.GameSceneMainUI);
|
||||
|
||||
await this.CreateRoomAsync();
|
||||
}
|
||||
|
||||
async UniTask CreateRoomAsync()
|
||||
{
|
||||
var room = this._roomManager.CreateRoom(RoomType.出生点, AssetConstPath.Assets_GameRes_Prefabs_Room_出生点);
|
||||
this._roomManager.CreateRoom(RoomType.伏龙阁, AssetConstPath.Assets_GameRes_Prefabs_Room_伏龙阁);
|
||||
this._roomManager.CreateRoom(RoomType.杂物室, AssetConstPath.Assets_GameRes_Prefabs_Room_杂物室);
|
||||
this._roomManager.CreateRoom(RoomType.训练堂, AssetConstPath.Assets_GameRes_Prefabs_Room_训练堂);
|
||||
this._roomManager.CreateRoom(RoomType.先祖大厅, AssetConstPath.Assets_GameRes_Prefabs_Room_先祖大厅);
|
||||
this._roomManager.CreateRoom(RoomType.圣龙残骸, AssetConstPath.Assets_GameRes_Prefabs_Room_圣龙残骸);
|
||||
this._roomManager.CreateRoom(RoomType.天池遗址, AssetConstPath.Assets_GameRes_Prefabs_Room_天池遗址);
|
||||
this._roomManager.CreateRoom(RoomType.沙慕龙阁, AssetConstPath.Assets_GameRes_Prefabs_Room_沙慕龙阁);
|
||||
this._roomManager.CreateRoom(RoomType.英雄圣殿, AssetConstPath.Assets_GameRes_Prefabs_Room_英雄圣殿);
|
||||
|
||||
var player = this._playerManager.currentPlayer;
|
||||
await player.WaitMoveRoomAsync(room, default);
|
||||
|
||||
this.CreateOtherPlayer();
|
||||
// Game.procedureManager.ChangeProcedure(ProcedureType.GameSceneLogicProcedure);
|
||||
}
|
||||
|
||||
void CreateOtherPlayer()
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
public void UpdateGame(float time)
|
||||
{
|
||||
this._bfsManager.Update(time);
|
||||
this._mouseInputManager.Update(time);
|
||||
this._bossManager.Update(time);
|
||||
this._playerManager.Update(time);
|
||||
this._roomManager.Update(time);
|
||||
|
||||
if (this.isInBalance || !isPlaying) return;
|
||||
|
||||
WaitTimeGoNext();
|
||||
}
|
||||
|
||||
void WaitTimeGoNext()
|
||||
{
|
||||
this.currentTime += Time.deltaTime;
|
||||
|
||||
string content = $"({(int)(this.bossRefreshTime - currentTime)}) 恐龙即将出现!";
|
||||
sceneMainUI.UpdateMessage(content);
|
||||
|
||||
if (this.currentTime >= this.bossRefreshTime)
|
||||
{
|
||||
this.WaitBalance().Forget();
|
||||
return;
|
||||
// Game.procedureManager.ChangeProcedure(ProcedureType.GameSceneKillPlayerProcedure);
|
||||
}
|
||||
}
|
||||
|
||||
async UniTask WaitBalance()
|
||||
{
|
||||
this.isInBalance = true;
|
||||
|
||||
string content = $"恐龙出没!";
|
||||
sceneMainUI.UpdateMessage(content);
|
||||
|
||||
var roomData = this._roomManager.GetAllRandomRoom();
|
||||
await this._bossManager.MoveToKillPlayerAsync(roomData.killRoom, default);
|
||||
|
||||
this._bossManager.DeleteBoss();
|
||||
|
||||
float jinBei = 0;
|
||||
foreach (var room in roomData.killRoom)
|
||||
{
|
||||
jinBei += room.roomData.jinBeiCount;
|
||||
}
|
||||
|
||||
Debug.Log($"杀掉了随机房间玩家,金贝数量总和为:{jinBei}");
|
||||
|
||||
List<IPlayer> players = new List<IPlayer>();
|
||||
foreach (var room in roomData.survivorRoom)
|
||||
{
|
||||
foreach (var roomPlayer in room.players)
|
||||
{
|
||||
Debug.Log($"幸存者:{roomPlayer.playerName}");
|
||||
players.Add(roomPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
if (players.Count > 0)
|
||||
jinBei /= players.Count;
|
||||
|
||||
Debug.Log($"胜利总金贝: is {jinBei}");
|
||||
EventManager.Instance.FireNow(this, new JinBeiSettlementEventArgs(players, jinBei));
|
||||
|
||||
var resultUI = Game.uiManager.GetUI<GameSceneResultUI>(UIType.GameSceneResultUI);
|
||||
if (players.Contains(this._playerManager.currentPlayer))
|
||||
resultUI.SetResult($"恭喜你躲避成功,胜利总金贝:{jinBei},你得到的金贝:{jinBei}", true);
|
||||
else
|
||||
resultUI.SetResult($"躲避失败,胜利总金贝:{jinBei},你得到的金贝:0", false);
|
||||
|
||||
//TODO:
|
||||
UniTask.Create(async () => { await this._roomManager.QuitAllRoomAsync(default); });
|
||||
|
||||
this.currentTime = 0;
|
||||
this.isInBalance = false;
|
||||
|
||||
await this.WaitShowResultAsync();
|
||||
}
|
||||
|
||||
async UniTask WaitShowResultAsync()
|
||||
{
|
||||
var showUI = Game.uiManager.ShowUI(UIType.GameSceneResultUI);
|
||||
var resultUI = showUI as GameSceneResultUI;
|
||||
await resultUI.WaitShowAndCloseResultAsync(default);
|
||||
Game.uiManager.CloseLast();
|
||||
}
|
||||
|
||||
public void PauseGame()
|
||||
{
|
||||
this.isPlaying = false;
|
||||
this._bfsManager.Pause();
|
||||
this._mouseInputManager.Pause();
|
||||
this._bossManager.Pause();
|
||||
this._playerManager.Pause();
|
||||
this._roomManager.Pause();
|
||||
}
|
||||
|
||||
public void ResumeGame()
|
||||
{
|
||||
this.isPlaying = true;
|
||||
this._bfsManager.Resume();
|
||||
this._mouseInputManager.Resume();
|
||||
this._bossManager.Resume();
|
||||
this._playerManager.Resume();
|
||||
this._roomManager.Resume();
|
||||
}
|
||||
|
||||
public void StopGame()
|
||||
{
|
||||
this._mouseInputManager.Dispose();
|
||||
this._bossManager.Dispose();
|
||||
this._playerManager.Dispose();
|
||||
this._roomManager.Dispose();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
EventManager.Instance.Unsubscribe(InputObjectFinishEventArgs.EventId, InputObjectFinishEvent);
|
||||
|
||||
this._bfsManager.Dispose();
|
||||
this._mouseInputManager.Dispose();
|
||||
this._bossManager.Dispose();
|
||||
this._playerManager.Dispose();
|
||||
this._roomManager.Dispose();
|
||||
|
||||
this._bfsManager = null;
|
||||
this._mouseInputManager = null;
|
||||
this._bossManager = null;
|
||||
this._playerManager = null;
|
||||
this._roomManager = null;
|
||||
}
|
||||
|
||||
private void InputObjectFinishEvent(object sender, GameEventArgs e)
|
||||
{
|
||||
if (this._playerManager.currentPlayer.isMoving)
|
||||
{
|
||||
Debug.Log("Player is moveing");
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.isInBalance)
|
||||
{
|
||||
Debug.Log("in balanceing !");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.isPlaying)
|
||||
{
|
||||
Debug.Log("the game is paused !");
|
||||
return;
|
||||
}
|
||||
|
||||
var args = e as InputObjectFinishEventArgs;
|
||||
|
||||
var inputData = args.data as MouseInputData;
|
||||
var roomInfo = inputData.go.GetComponent<RoomInfo>();
|
||||
|
||||
this._roomManager.SetCurrentRoom(roomInfo.roomType);
|
||||
UniTask.Create(async () => { await this._roomManager.JoinRoomAsync(roomInfo.roomType, this._playerManager.currentPlayer, default); });
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 38fd9f08b4fd433291ca9a5b89616c6b
|
||||
timeCreated: 1713926882
|
|
@ -0,0 +1,27 @@
|
|||
using Game.Boss;
|
||||
using Game.Pathfinding;
|
||||
using Game.Player;
|
||||
using Game.RayCast;
|
||||
using Game.Room;
|
||||
|
||||
namespace Game.Dinosaurs
|
||||
{
|
||||
public interface IDinosaursGameManager
|
||||
{
|
||||
IBFSManager bfsManager { get; }
|
||||
IMouseInputManager mouseInputManager { get; }
|
||||
IBossManager bossManager { get; }
|
||||
IPlayerManager playerManager { get; }
|
||||
IRoomManager roomManager { get; }
|
||||
IPlayer currentPlayer { get; }
|
||||
IRoom room { get; }
|
||||
|
||||
void Init();
|
||||
void StartGame();
|
||||
void UpdateGame(float time);
|
||||
void PauseGame();
|
||||
void ResumeGame();
|
||||
void StopGame();
|
||||
void Dispose();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2a58edd6249d49b3ae7bba7c653c7d00
|
||||
timeCreated: 1713926448
|
|
@ -14,10 +14,10 @@ namespace Game.Player
|
|||
PlayerData playerData { get; }
|
||||
IRoom room { get; }
|
||||
bool isMoving { get; }
|
||||
void SetGameObject(GameObject gameObject, string name, float jinbei);
|
||||
void SetRoom(IRoom roo);
|
||||
bool IsCanDelete { get; }
|
||||
|
||||
UniTask<bool> WaitMoveRoomAsync(IRoom roo, CancellationToken token);
|
||||
UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token);
|
||||
void JumpToRoom(IRoom room);
|
||||
void Init();
|
||||
void Dispose();
|
||||
}
|
||||
|
@ -31,6 +31,8 @@ namespace Game.Player
|
|||
PlayerInfo playerInfo;
|
||||
private bool _isMoving;
|
||||
|
||||
private IBFSManager _bfsManager;
|
||||
|
||||
public string playerName => this._playerData.playerName;
|
||||
|
||||
public GameObject self => this._self;
|
||||
|
@ -41,24 +43,37 @@ namespace Game.Player
|
|||
|
||||
public bool isMoving => this._isMoving;
|
||||
|
||||
|
||||
public void SetGameObject(GameObject gameObject, string name, float jinbei)
|
||||
public bool IsCanDelete
|
||||
{
|
||||
this._self = gameObject;
|
||||
this._playerData = new PlayerData(name, jinbei, 100);
|
||||
get
|
||||
{
|
||||
if (this.isMoving || this._room.roomType != RoomType.出生点)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public Player(string name, float jinBei, GameObject go, IBFSManager bfs)
|
||||
{
|
||||
this._playerData = new PlayerData(name, jinBei, 100);
|
||||
this._bfsManager = bfs;
|
||||
|
||||
// view
|
||||
this._self = go;
|
||||
playerInfo = this._self.GetComponent<PlayerInfo>();
|
||||
playerInfo.SetPlayer(this);
|
||||
this._isMoving = false;
|
||||
}
|
||||
|
||||
public void SetRoom(IRoom roo)
|
||||
{
|
||||
this._room?.Quit(this);
|
||||
this._room = roo;
|
||||
// EventManager.Instance.FireNow(this, new PlayerMoveToRoomEventArgs(this, this._room));
|
||||
}
|
||||
// public void SetGo(GameObject gameObject)
|
||||
// {
|
||||
// this._self = gameObject;
|
||||
//
|
||||
// // view
|
||||
// playerInfo = this._self.GetComponent<PlayerInfo>();
|
||||
// playerInfo.SetPlayer(this);
|
||||
// this._isMoving = false;
|
||||
// }
|
||||
|
||||
public async UniTask<bool> WaitMoveRoomAsync(IRoom roo, CancellationToken token)
|
||||
{
|
||||
|
@ -66,7 +81,7 @@ namespace Game.Player
|
|||
this._room = roo;
|
||||
// EventManager.Instance.FireNow(this, new PlayerMoveToRoomEventArgs(this, this._room));
|
||||
|
||||
var wayPoints = Game.bfsManager.FindPath(_room.roomInfo.room_Center);
|
||||
var wayPoints = this._bfsManager.FindPath(this._self.transform.position, _room.roomInfo.room_Center);
|
||||
|
||||
await UniTask.Yield();
|
||||
var moveAsync = await this.MoveAsync(wayPoints, token);
|
||||
|
@ -74,7 +89,16 @@ namespace Game.Player
|
|||
return moveAsync;
|
||||
}
|
||||
|
||||
public async UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token)
|
||||
public void JumpToRoom(IRoom room)
|
||||
{
|
||||
this._room?.Quit(this);
|
||||
this._room = room;
|
||||
|
||||
var endPos = this._room.roomInfo.GetJoinPosition();
|
||||
playerInfo.JumpTo(endPos);
|
||||
}
|
||||
|
||||
private async UniTask<bool> MoveAsync(List<WayPoint> wayPoint, CancellationToken token)
|
||||
{
|
||||
if (this._isMoving) return false;
|
||||
|
||||
|
@ -96,7 +120,13 @@ namespace Game.Player
|
|||
{
|
||||
EventManager.Instance.Unsubscribe(PlayerJinBeiChange_ToPlayerEventArgs.EventId, PlayerJinbeiChangeEvent);
|
||||
EventManager.Instance.Unsubscribe(ReturnPlayerJinBeiEventArgs.EventId, ReturnPlayerJinBeiEvent);
|
||||
|
||||
this._room = null;
|
||||
this.playerInfo = null;
|
||||
this._isMoving = false;
|
||||
this._playerData = null;
|
||||
GameObject.DestroyImmediate(this.self);
|
||||
this._self = null;
|
||||
}
|
||||
|
||||
private void ReturnPlayerJinBeiEvent(object sender, GameEventArgs e)
|
|
@ -63,6 +63,11 @@ namespace Game.Player
|
|||
// Debug.Log($"time is {time}, await time is {delayTimeSpan}");
|
||||
}
|
||||
|
||||
public void JumpTo(Vector2 endPos)
|
||||
{
|
||||
transform.position = endPos;
|
||||
}
|
||||
|
||||
#region Add Test
|
||||
|
||||
private float startTime; // 开始移动的时间
|
|
@ -1,19 +1,29 @@
|
|||
using System.Collections.Generic;
|
||||
using Game.Pathfinding;
|
||||
using Game.Room;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Game.Player
|
||||
{
|
||||
public class PlayerManager : ManagerBase, IPlayerManager
|
||||
{
|
||||
private Dictionary<string, IPlayer> _players = new Dictionary<string, IPlayer>();
|
||||
private Dictionary<string, IPlayer> _players;
|
||||
private IPlayer _currentPlayer;
|
||||
private string assetName = AssetConstPath.Assets_GameRes_Prefabs_Role_player1;
|
||||
|
||||
public IPlayer currentPlayer => this._currentPlayer;
|
||||
private IBFSManager _bfsManager;
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
base.OnInit();
|
||||
}
|
||||
|
||||
public PlayerManager(IBFSManager bfsManager)
|
||||
{
|
||||
_players = new Dictionary<string, IPlayer>();
|
||||
this._currentPlayer = null;
|
||||
this._bfsManager = bfsManager;
|
||||
}
|
||||
|
||||
public void SetCurrentPlayer(IPlayer player)
|
||||
|
@ -21,11 +31,11 @@ namespace Game.Player
|
|||
this._currentPlayer ??= player;
|
||||
}
|
||||
|
||||
public IPlayer CreatePlayer(string playerName, string location, float jinbei)
|
||||
public IPlayer CreatePlayer(string playerName, float jinbei)
|
||||
{
|
||||
var gameObject = Game.resourceManager.LoadGameObjectSync(location);
|
||||
IPlayer player = new Player();
|
||||
player.SetGameObject(gameObject, playerName, jinbei);
|
||||
var gameObject = Game.resourceManager.LoadGameObjectSync(assetName);
|
||||
IPlayer player = new Player(playerName, jinbei, gameObject, this._bfsManager);
|
||||
|
||||
this._players.Add(playerName, player);
|
||||
player.Init();
|
||||
return player;
|
||||
|
@ -41,8 +51,25 @@ namespace Game.Player
|
|||
if (this._players.TryGetValue(playerName, out var player))
|
||||
{
|
||||
player.Dispose();
|
||||
this._players.Remove(playerName);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteAllPlayer()
|
||||
{
|
||||
foreach (var playersValue in this._players.Values)
|
||||
{
|
||||
playersValue.Dispose();
|
||||
}
|
||||
|
||||
this._players.Clear();
|
||||
}
|
||||
|
||||
protected override void OnDispose()
|
||||
{
|
||||
base.OnDispose();
|
||||
this.DeleteAllPlayer();
|
||||
}
|
||||
}
|
||||
|
||||
public interface IPlayerManager
|
||||
|
@ -51,11 +78,15 @@ namespace Game.Player
|
|||
|
||||
void SetCurrentPlayer(IPlayer player);
|
||||
|
||||
//
|
||||
IPlayer CreatePlayer(string playerName, string assetName, float jinbei);
|
||||
IPlayer CreatePlayer(string playerName, float jinbei);
|
||||
|
||||
// IPlayer InsPlayer(string assetName);
|
||||
|
||||
IPlayer GetPlayer(string playerName);
|
||||
|
||||
void DeletePlayer(string playerName);
|
||||
void DeleteAllPlayer();
|
||||
|
||||
// void DeleteInsPlayer(IPlayer player);
|
||||
}
|
||||
}
|
|
@ -18,6 +18,7 @@ namespace Game.Room
|
|||
bool QuitRoom(RoomType roomType, IPlayer player);
|
||||
UniTask QuitAllRoomAsync(CancellationToken token);
|
||||
void DeleteRoom(RoomType roomType);
|
||||
void DeleteAllRoom();
|
||||
}
|
||||
|
||||
public class RoomManager : ManagerBase, IRoomManager
|
||||
|
@ -39,6 +40,7 @@ namespace Game.Room
|
|||
{
|
||||
base.OnDispose();
|
||||
EventManager.Instance.Unsubscribe(RoomJinBeiChangeEventArgs.EventId, RoomJinBeiChangeEvent);
|
||||
this.DeleteAllRoom();
|
||||
}
|
||||
|
||||
private void RoomJinBeiChangeEvent(object sender, GameEventArgs e)
|
||||
|
@ -185,6 +187,13 @@ namespace Game.Room
|
|||
if (this._rooms.TryGetValue(roomType, out var room))
|
||||
room.Dispose();
|
||||
}
|
||||
|
||||
public void DeleteAllRoom()
|
||||
{
|
||||
foreach (var room in this._rooms.Values)
|
||||
room.Dispose();
|
||||
this._rooms.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
public struct RandomRoomData
|
|
@ -22,7 +22,6 @@ namespace Game.Room
|
|||
|
||||
List<IPlayer> QuitAndClearAll();
|
||||
|
||||
// float ClearAll();
|
||||
void Dispose();
|
||||
|
||||
bool InvestmentJinBei(IPlayer player, float jinbei);
|
||||
|
@ -64,6 +63,7 @@ namespace Game.Room
|
|||
this._roomData.jinBeiCallback -= this._roomInfo.UpdateNumber;
|
||||
this._roomData.Reset();
|
||||
|
||||
GameObject.Destroy(this.self);
|
||||
this.self = null;
|
||||
this._roomInfo = null;
|
||||
this._roomData = null;
|
|
@ -0,0 +1,15 @@
|
|||
namespace Game
|
||||
{
|
||||
public class BackHallSSceneEventArgs : GameEventArgs
|
||||
{
|
||||
public static readonly int EventId = typeof(BackHallSSceneEventArgs).GetHashCode();
|
||||
public override int Id => EventId;
|
||||
|
||||
public string sceneName { get; }
|
||||
|
||||
public BackHallSSceneEventArgs(string sceneName)
|
||||
{
|
||||
this.sceneName = sceneName;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d4330053b44e451f80816d677de2ed20
|
||||
timeCreated: 1713923241
|
|
@ -0,0 +1,17 @@
|
|||
namespace Game
|
||||
{
|
||||
public class HallSceneClickMenuEventArgs : GameEventArgs
|
||||
{
|
||||
public static readonly int EventId = typeof(HallSceneClickMenuEventArgs).GetHashCode();
|
||||
public override int Id => EventId;
|
||||
|
||||
public string menuId { get; }
|
||||
public string menuName { get; }
|
||||
|
||||
public HallSceneClickMenuEventArgs(string id, string name)
|
||||
{
|
||||
this.menuId = id;
|
||||
this.menuName = name;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d4625758f19147e699b7132717cf07ea
|
||||
timeCreated: 1713604993
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Game.Boss;
|
||||
using Game.Dinosaurs;
|
||||
using Game.Pathfinding;
|
||||
using Game.Player;
|
||||
using Game.RayCast;
|
||||
|
@ -11,6 +12,21 @@ using UnityEngine.Serialization;
|
|||
|
||||
namespace Game
|
||||
{
|
||||
public class GlobalPlayerData
|
||||
{
|
||||
public string name;
|
||||
public long id;
|
||||
public float jinBei;
|
||||
// ....
|
||||
|
||||
public GlobalPlayerData(string name, long id, float jinBei)
|
||||
{
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.jinBei = jinBei;
|
||||
}
|
||||
}
|
||||
|
||||
public class Game : MonoBehaviour
|
||||
{
|
||||
private static Game _game;
|
||||
|
@ -18,11 +34,6 @@ namespace Game
|
|||
private UIManager _uiManager;
|
||||
private ResourceManager _resourceManager;
|
||||
private ProcedureManager _procedureManager;
|
||||
private PlayerManager _playerManager;
|
||||
private BFSManager _bfsManager;
|
||||
private RoomManager _roomManager;
|
||||
private MouseInputManager _mouseInputManager;
|
||||
private BossManager _bossManager;
|
||||
|
||||
[SerializeField] private LoadType _loadType1 = LoadType.Editor;
|
||||
[SerializeField] private float time;
|
||||
|
@ -31,11 +42,7 @@ namespace Game
|
|||
public static IProcedureManager procedureManager => _game._procedureManager;
|
||||
public static IResourceManager resourceManager => _game._resourceManager;
|
||||
public static IUIManager uiManager => _game._uiManager;
|
||||
public static IPlayerManager playerManager => _game._playerManager;
|
||||
public static IBFSManager bfsManager => _game._bfsManager;
|
||||
public static IRoomManager roomManager => _game._roomManager;
|
||||
public static IMouseInputManager mouseInputManager => _game._mouseInputManager;
|
||||
public static IBossManager bossManager => _game._bossManager;
|
||||
public static GlobalPlayerData currentPlayerData;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
@ -46,20 +53,10 @@ namespace Game
|
|||
this._uiManager = new UIManager();
|
||||
this._resourceManager = new ResourceManager();
|
||||
this._procedureManager = new ProcedureManager();
|
||||
this._playerManager = new PlayerManager();
|
||||
this._bfsManager = new BFSManager();
|
||||
this._roomManager = new RoomManager();
|
||||
this._mouseInputManager = new MouseInputManager();
|
||||
this._bossManager = new BossManager();
|
||||
|
||||
this._resourceManager.Init();
|
||||
this._uiManager.Init();
|
||||
this._procedureManager.Init();
|
||||
this._playerManager.Init();
|
||||
this._bfsManager.Init();
|
||||
this._roomManager.Init();
|
||||
this._mouseInputManager.Init();
|
||||
this._bossManager.Init();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
|
@ -73,28 +70,30 @@ namespace Game
|
|||
{
|
||||
await _resourceManager.InitLoadModeAsync(_loadType1);
|
||||
|
||||
Game.uiManager.CreateUI(UIType.GlobalLogOnlyAppUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GlobalLogOnlyAppUI, UILayer.High);
|
||||
this.OnCreateUI();
|
||||
|
||||
//#if !UNITY_EDITOR
|
||||
// Game.uiManager.ShowUI(UIType.GlobalLogOnlyAppUI);
|
||||
//#endif
|
||||
|
||||
this.OnCreateUI();
|
||||
|
||||
this._procedureManager.StartProcedure(ProcedureType.LoadingGameSceneProcedure);
|
||||
this._procedureManager.StartProcedure(ProcedureType.LoadingHallSceneProcedure);
|
||||
return "11";
|
||||
}).Forget();
|
||||
}
|
||||
|
||||
private void OnCreateUI()
|
||||
{
|
||||
Game.uiManager.CreateUI(UIType.GlobalLogOnlyAppUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GlobalLogOnlyAppUI, UILayer.High);
|
||||
|
||||
CommonHelper.AddAppLog("start create ui !");
|
||||
|
||||
Game.uiManager.CreateUI(UIType.InputNameUI, AssetConstPath.Assets_GameRes_Prefabs_UI_InputNameUI, UILayer.Mid);
|
||||
Game.uiManager.CreateUI(UIType.GameSceneHelpUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GameSceneHelpUI, UILayer.High);
|
||||
Game.uiManager.CreateUI(UIType.GameSceneMainUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GameSceneMainUI, UILayer.Low);
|
||||
Game.uiManager.CreateUI(UIType.GameSceneResultUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GameSceneResultUI, UILayer.High);
|
||||
Game.uiManager.CreateUI(UIType.GameMallUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GameMallUI, UILayer.Mid);
|
||||
Game.uiManager.CreateUI(UIType.GameStorePurchaseUI, AssetConstPath.Assets_GameRes_Prefabs_UI_GameStorePurchaseUI, UILayer.Mid);
|
||||
Game.uiManager.CreateUI(UIType.HallSceneMainUI, AssetConstPath.Assets_GameRes_Prefabs_UI_HallSceneMainUI, UILayer.Mid);
|
||||
Game.uiManager.CreateUI(UIType.HallSceneMallUI, AssetConstPath.Assets_GameRes_Prefabs_UI_HallSceneMallUI, UILayer.Mid);
|
||||
|
||||
CommonHelper.AddAppLog("create ui finish !");
|
||||
}
|
||||
|
@ -106,10 +105,6 @@ namespace Game
|
|||
this._resourceManager.Update(time);
|
||||
this._uiManager.Update(time);
|
||||
this._procedureManager.Update(time);
|
||||
this._bfsManager.Update(time);
|
||||
this._playerManager.Update(time);
|
||||
this._roomManager.Update(time);
|
||||
this._bossManager.Update(this.time);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
|
@ -117,10 +112,6 @@ namespace Game
|
|||
this._resourceManager.Dispose();
|
||||
this._uiManager.Dispose();
|
||||
this._procedureManager.Dispose();
|
||||
this._bfsManager.Dispose();
|
||||
this._playerManager.Dispose();
|
||||
this._roomManager.Dispose();
|
||||
this._bossManager.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: acfb5aef5e6d4d84589a554eab0e0891
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 349520f91bf7b1e448b0c476ad2fbcf3
|
||||
folderAsset: yes
|
||||
timeCreated: 1462802152
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2c877c284c673754b80698e4da080811
|
||||
folderAsset: yes
|
||||
timeCreated: 1462847090
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEditor;
|
||||
|
||||
namespace uMVVM.Sources.Infrastructure
|
||||
{
|
||||
public class BindableProperty<T>
|
||||
{
|
||||
public delegate void ValueChangedHandler(T oldValue, T newValue);
|
||||
|
||||
public ValueChangedHandler OnValueChanged;
|
||||
|
||||
private T _value;
|
||||
public T Value
|
||||
{
|
||||
get
|
||||
{
|
||||
return _value;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (!Equals(_value, value))
|
||||
{
|
||||
T old = _value;
|
||||
_value = value;
|
||||
ValueChanged(old, _value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ValueChanged(T oldValue, T newValue)
|
||||
{
|
||||
if (OnValueChanged != null)
|
||||
{
|
||||
OnValueChanged(oldValue, newValue);
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return (Value != null ? Value.ToString() : "null");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cd59cc99e53031a46acb8c553a0570b1
|
||||
timeCreated: 1462847094
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,104 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.DataBinding
|
||||
{
|
||||
public class ObservableList<T>:IList<T>
|
||||
{
|
||||
|
||||
public delegate void ValueChangedHandler(List<T> oldValue, List<T> newValue);
public ValueChangedHandler OnValueChanged;
|
||||
|
||||
public delegate void AddHandler(T instance);
|
||||
public AddHandler OnAdd;
|
||||
|
||||
public delegate void InsertHandler(int index,T instance);
|
||||
public InsertHandler OnInsert;
|
||||
|
||||
public delegate void RemoveHandler(T instance);
|
||||
public RemoveHandler OnRemove;
|
||||
|
||||
//预先初始化,防止空异常
|
||||
private List<T> _value=new List<T>();
public List<T> Value
{
get { return _value; }
set
{
if (!Equals(_value, value))
{
var old = _value;
_value = value;
ValueChanged(old, _value);
}
}
}
private void ValueChanged(List<T> oldValue, List<T> newValue)
{
if (OnValueChanged != null)
{
OnValueChanged(oldValue, newValue);
}
}
|
||||
|
||||
public IEnumerator<T> GetEnumerator()
|
||||
{
|
||||
return _value.GetEnumerator();
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return GetEnumerator();
|
||||
}
|
||||
|
||||
public void Add(T item)
|
||||
{
|
||||
_value.Add(item);
|
||||
if (OnAdd != null)
|
||||
{
|
||||
OnAdd(item);
|
||||
}
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
_value.Clear();
|
||||
}
|
||||
|
||||
public bool Contains(T item)
|
||||
{
|
||||
return _value.Contains(item);
|
||||
}
|
||||
|
||||
public void CopyTo(T[] array, int arrayIndex)
|
||||
{
|
||||
_value.CopyTo(array, arrayIndex);
|
||||
}
|
||||
|
||||
public bool Remove(T item)
|
||||
{
|
||||
if (_value.Remove(item))
|
||||
{
|
||||
if (OnRemove != null)
|
||||
{
|
||||
OnRemove(item);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int Count
|
||||
{
|
||||
get { return _value.Count; }
|
||||
}
|
||||
|
||||
public bool IsReadOnly { get; private set; }
|
||||
public int IndexOf(T item)
|
||||
{
|
||||
return _value.IndexOf(item);
|
||||
}
|
||||
|
||||
public void Insert(int index, T item)
|
||||
{
|
||||
_value.Insert(index,item);
|
||||
if (OnInsert!=null)
|
||||
{
|
||||
OnInsert(index, item);
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveAt(int index)
|
||||
{
|
||||
_value.RemoveAt(index);
|
||||
}
|
||||
|
||||
public T this[int index]
|
||||
{
|
||||
get { return _value[index]; }
|
||||
set { _value[index] = value; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 305a956d4073d254992136a1db512305
|
||||
timeCreated: 1490715195
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using uMVVM.Sources.Infrastructure;
|
||||
using UnityEditor;
|
||||
|
||||
namespace Assets.Sources.Core.DataBinding
|
||||
{
|
||||
public class PropertyBinder<T> where T:ViewModelBase
|
||||
{
|
||||
private delegate void BindHandler(T viewmodel);
|
||||
private delegate void UnBindHandler(T viewmodel);
|
||||
|
||||
private readonly List<BindHandler> _binders=new List<BindHandler>();
|
||||
private readonly List<UnBindHandler> _unbinders=new List<UnBindHandler>();
|
||||
|
||||
public void Add<TProperty>(string name,BindableProperty<TProperty>.ValueChangedHandler valueChangedHandler )
|
||||
{
|
||||
var fieldInfo = typeof(T).GetField(name, BindingFlags.Instance | BindingFlags.Public);
|
||||
if (fieldInfo == null)
|
||||
{
|
||||
throw new Exception(string.Format("Unable to find bindableproperty field '{0}.{1}'", typeof(T).Name, name));
|
||||
}
|
||||
|
||||
_binders.Add(viewmodel =>
|
||||
{
|
||||
GetPropertyValue<TProperty>(name, viewmodel, fieldInfo).OnValueChanged += valueChangedHandler;
|
||||
});
|
||||
|
||||
_unbinders.Add(viewModel =>
|
||||
{
|
||||
GetPropertyValue<TProperty>(name, viewModel, fieldInfo).OnValueChanged -= valueChangedHandler;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private BindableProperty<TProperty> GetPropertyValue<TProperty>(string name, T viewModel,FieldInfo fieldInfo)
|
||||
{
|
||||
var value = fieldInfo.GetValue(viewModel);
|
||||
BindableProperty<TProperty> bindableProperty = value as BindableProperty<TProperty>;
|
||||
if (bindableProperty == null)
|
||||
{
|
||||
throw new Exception(string.Format("Illegal bindableproperty field '{0}.{1}' ", typeof(T).Name, name));
|
||||
}
|
||||
|
||||
return bindableProperty;
|
||||
}
|
||||
|
||||
public void Bind(T viewmodel)
|
||||
{
|
||||
if (viewmodel!=null)
|
||||
{
|
||||
for (int i = 0; i < _binders.Count; i++)
|
||||
{
|
||||
_binders[i](viewmodel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Unbind(T viewmodel)
|
||||
{
|
||||
if (viewmodel!=null)
|
||||
{
|
||||
for (int i = 0; i < _unbinders.Count; i++)
|
||||
{
|
||||
_unbinders[i](viewmodel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cbb3d28eb726afd46a3773a347e64b8c
|
||||
timeCreated: 1490267903
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace uMVVM.Sources.Infrastructure
|
||||
{
|
||||
public class ViewModelBase
|
||||
{
|
||||
private bool _isInitialized;
|
||||
public ViewModelBase ParentViewModel { get; set; }
|
||||
public bool IsRevealed { get; private set; }
|
||||
public bool IsRevealInProgress { get; private set; }
|
||||
public bool IsHideInProgress { get; private set ; }
|
||||
|
||||
protected virtual void OnInitialize()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void OnStartReveal()
|
||||
{
|
||||
IsRevealInProgress = true;
|
||||
//在开始显示的时候进行初始化操作
|
||||
if (!_isInitialized)
|
||||
{
|
||||
OnInitialize();
|
||||
_isInitialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnFinishReveal()
|
||||
{
|
||||
IsRevealInProgress = false;
|
||||
IsRevealed = true;
|
||||
}
|
||||
|
||||
public virtual void OnStartHide()
|
||||
{
|
||||
IsHideInProgress = true;
|
||||
|
||||
}
|
||||
|
||||
public virtual void OnFinishHide()
|
||||
{
|
||||
IsHideInProgress = false;
|
||||
IsRevealed = false;
|
||||
}
|
||||
|
||||
public virtual void OnDestory()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1a070ca5270bd76409dd374c2273e41b
|
||||
timeCreated: 1462850181
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using uMVVM.Sources.Infrastructure;
|
||||
|
||||
namespace Assets.Sources.Core.DataBinding
|
||||
{
|
||||
public static class ViewModelBaseExtensions
|
||||
{
|
||||
public static IEnumerable<T> Ancestors<T>(this ViewModelBase origin) where T : ViewModelBase
|
||||
{
|
||||
if (origin==null)
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
var parentViewModel = origin.ParentViewModel;
|
||||
while (parentViewModel!=null)
|
||||
{
|
||||
var castedViewModel = parentViewModel as T;
|
||||
if (castedViewModel != null)
|
||||
{
|
||||
yield return castedViewModel;
|
||||
}
|
||||
parentViewModel = parentViewModel.ParentViewModel;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d035d403ab891344e84e5199e4e58cc6
|
||||
timeCreated: 1490671823
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 395037f58851dbc46b162c16b8ab50c9
|
||||
folderAsset: yes
|
||||
timeCreated: 1490866455
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Factory
|
||||
{
|
||||
public enum FactoryType
|
||||
{
|
||||
Singleton,
|
||||
Transient,
|
||||
Pool
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 37f96d19cf677f44fb6ceee04d03d2b9
|
||||
timeCreated: 1490874300
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Factory
|
||||
{
|
||||
public interface IObjectFactory
|
||||
{
|
||||
object AcquireObject(string className);
|
||||
object AcquireObject(Type type);
|
||||
object AcquireObject<TInstance>() where TInstance : class, new();
|
||||
void ReleaseObject(object obj);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5c08b770ca568c940bf9e8aae1615066
|
||||
timeCreated: 1490866455
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,132 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Assets.Sources.Core.Infrastructure;
|
||||
|
||||
namespace Assets.Sources.Core.Factory
|
||||
{
|
||||
public class PoolObjectFactory : IObjectFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// 封装的PoolData
|
||||
/// </summary>
|
||||
private class PoolData
|
||||
{
|
||||
public bool InUse { get; set; }
|
||||
public object Obj { get; set; }
|
||||
}
|
||||
|
||||
private readonly List<PoolData> _pool;
|
||||
private readonly int _max;
|
||||
/// <summary>
|
||||
/// 如果超过了容器大小,是否限制
|
||||
/// </summary>
|
||||
private readonly bool _limit;
|
||||
|
||||
public PoolObjectFactory(int max, bool limit)
|
||||
{
|
||||
_max = max;
|
||||
_limit = limit;
|
||||
_pool = new List<PoolData>();
|
||||
}
|
||||
|
||||
private PoolData GetPoolData(object obj)
|
||||
{
|
||||
lock (_pool)
|
||||
{
|
||||
for (var i = 0; i < _pool.Count; i++)
|
||||
{
|
||||
var p = _pool[i];
|
||||
if (p.Obj == obj)
|
||||
{
|
||||
return p;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取对象池中的真正对象
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
private object GetObject(Type type)
|
||||
{
|
||||
lock (_pool)
|
||||
{
|
||||
if (_pool.Count > 0)
|
||||
{
|
||||
if (_pool[0].Obj.GetType() != type)
|
||||
{
|
||||
throw new Exception(string.Format("the Pool Factory only for Type :{0}", _pool[0].Obj.GetType().Name));
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < _pool.Count; i++)
|
||||
{
|
||||
var p = _pool[i];
|
||||
if (!p.InUse)
|
||||
{
|
||||
p.InUse = true;
|
||||
return p.Obj;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (_pool.Count >= _max && _limit)
|
||||
{
|
||||
throw new Exception("max limit is arrived.");
|
||||
}
|
||||
|
||||
object obj = Activator.CreateInstance(type, false);
|
||||
var p1 = new PoolData
|
||||
{
|
||||
InUse = true,
|
||||
Obj = obj
|
||||
};
|
||||
_pool.Add(p1);
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
private void PutObject(object obj)
|
||||
{
|
||||
var p = GetPoolData(obj);
|
||||
if (p != null)
|
||||
{
|
||||
p.InUse = false;
|
||||
}
|
||||
}
|
||||
|
||||
public object AcquireObject(Type type)
|
||||
{
|
||||
return GetObject(type);
|
||||
}
|
||||
|
||||
public object AcquireObject(string className)
|
||||
{
|
||||
return AcquireObject(TypeFinder.ResolveType(className));
|
||||
}
|
||||
public object AcquireObject<TInstance>() where TInstance : class, new()
|
||||
{
|
||||
return AcquireObject(typeof(TInstance));
|
||||
}
|
||||
public void ReleaseObject(object obj)
|
||||
{
|
||||
if (_pool.Count > _max)
|
||||
{
|
||||
if (obj is IDisposable)
|
||||
{
|
||||
((IDisposable)obj).Dispose();
|
||||
}
|
||||
var p = GetPoolData(obj);
|
||||
lock (_pool)
|
||||
{
|
||||
_pool.Remove(p);
|
||||
}
|
||||
return;
|
||||
}
|
||||
PutObject(obj);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 644f9ab715df8b44192a90b603f638b4
|
||||
timeCreated: 1490866455
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Assets.Sources.Core.Infrastructure;
|
||||
|
||||
namespace Assets.Sources.Core.Factory
|
||||
{
|
||||
public class SingletonObjectFactory:IObjectFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// 共享的字典,不会因为不同的SingletonObjectFactory对象返回不唯一的实例对象
|
||||
/// </summary>
|
||||
private static Dictionary<Type,object> _cachedObjects = null;
|
||||
private static readonly object _lock=new object();
|
||||
private Dictionary<Type, object> CachedObjects
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
if (_cachedObjects==null)
|
||||
{
|
||||
_cachedObjects=new Dictionary<Type, object>();
|
||||
}
|
||||
return _cachedObjects;
|
||||
}
|
||||
}
|
||||
}
|
||||
public object AcquireObject(string className)
|
||||
{
|
||||
return AcquireObject(TypeFinder.ResolveType(className));
|
||||
}
|
||||
|
||||
public object AcquireObject(Type type)
|
||||
{
|
||||
if (CachedObjects.ContainsKey(type))
|
||||
{
|
||||
return CachedObjects[type];
|
||||
}
|
||||
lock (_lock)
|
||||
{
|
||||
CachedObjects.Add(type,Activator.CreateInstance(type,false));
|
||||
return CachedObjects[type];
|
||||
}
|
||||
}
|
||||
|
||||
public object AcquireObject<TInstance>() where TInstance:class,new()
|
||||
{
|
||||
var type = typeof(TInstance);
|
||||
if (CachedObjects.ContainsKey(type))
|
||||
{
|
||||
return CachedObjects[type];
|
||||
}
|
||||
lock (_lock)
|
||||
{
|
||||
var instance=new TInstance();
|
||||
CachedObjects.Add(type, instance);
|
||||
return CachedObjects[type];
|
||||
}
|
||||
}
|
||||
|
||||
public void ReleaseObject(object obj)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5068147eb6b07a741877fc3dccfbaf17
|
||||
timeCreated: 1490866455
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using Assets.Sources.Core.Infrastructure;
|
||||
|
||||
namespace Assets.Sources.Core.Factory
|
||||
{
|
||||
public class TransientObjectFactory : IObjectFactory
|
||||
{
|
||||
public object AcquireObject(string className)
|
||||
{
|
||||
return AcquireObject(TypeFinder.ResolveType(className));
|
||||
}
|
||||
|
||||
public object AcquireObject(Type type)
|
||||
{
|
||||
var obj = Activator.CreateInstance(type, false);
|
||||
return obj;
|
||||
}
|
||||
|
||||
public object AcquireObject<TInstance>() where TInstance : class, new()
|
||||
{
|
||||
var instance = new TInstance();
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void ReleaseObject(object obj)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4909cc92ac1d01248b885b2dcb8fe8e8
|
||||
timeCreated: 1490866455
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cf587652ee240da47b8b04b6bd0b0101
|
||||
folderAsset: yes
|
||||
timeCreated: 1490506711
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,34 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public class HexConverter
|
||||
{
|
||||
// Note that Color32 and Color implictly convert to each other. You may pass a Color object to this method without first casting it.
|
||||
public static string ColorToHex(Color32 color)
|
||||
{
|
||||
string hex = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2") + color.a.ToString("X2");
|
||||
return hex;
|
||||
}
|
||||
|
||||
public static Color HexToColor(string hex)
|
||||
{
|
||||
hex = hex.Replace("0x", "");//in case the string is formatted 0xFFFFFF
|
||||
hex = hex.Replace("#", "");//in case the string is formatted #FFFFFF
|
||||
byte a = 255;//assume fully visible unless specified in hex
|
||||
byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
|
||||
byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
|
||||
byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
|
||||
//Only use alpha if the string has enough characters
|
||||
if (hex.Length == 8)
|
||||
{
|
||||
a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);
|
||||
}
|
||||
return new Color32(r, g, b, a);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8624bc005fb30a3479b9e5ea4c2eb5cd
|
||||
timeCreated: 1490604395
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public enum HttpMethod
|
||||
{
|
||||
Get,
|
||||
Post
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3745aa66047e47c4bb97f1218434cfcf
|
||||
timeCreated: 1496579321
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,21 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public class HttpUtility
|
||||
{
|
||||
public static string BuildParameters<T>(T instance, StringBuilder sb) where T:class,new()
|
||||
{
|
||||
foreach (var property in instance.GetType().GetProperties())
|
||||
{
|
||||
var propertyName = property.Name;
|
||||
var value = property.GetValue(instance, null);
|
||||
sb.Append(propertyName + "=" + value + "&");
|
||||
}
|
||||
return sb.ToString().TrimEnd('&');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fefd1d4b16c78b14982b1e304f7357a9
|
||||
timeCreated: 1496829504
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public interface ISerializer
|
||||
{
|
||||
string Serialize<T>(T obj, bool readableOutput = false) where T : class, new();
|
||||
T Deserialize<T>(string json) where T : class, new();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b621a83bc270c884690ec68e3d9e2887
|
||||
timeCreated: 1490595769
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace uMVVM.Sources.Infrastructure
|
||||
{
|
||||
public class MD5Helper
|
||||
{
|
||||
public static string GetMd5Hash(MD5 md5Hash, string input)
|
||||
{
|
||||
// Convert the input string to a byte array and compute the hash.
|
||||
var data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
|
||||
|
||||
// Create a new Stringbuilder to collect the bytes
|
||||
// and create a string.
|
||||
var sBuilder = new StringBuilder();
|
||||
|
||||
// Loop through each byte of the hashed data
|
||||
// and format each one as a hexadecimal string.
|
||||
for (var i = 0; i < data.Length; i++)
|
||||
{
|
||||
sBuilder.Append(data[i].ToString("x2"));
|
||||
}
|
||||
|
||||
// Return the hexadecimal string.
|
||||
return sBuilder.ToString();
|
||||
}
|
||||
|
||||
// Verify a hash against a string.
|
||||
public static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash)
|
||||
{
|
||||
// Hash the input.
|
||||
var hashOfInput = GetMd5Hash(md5Hash, input);
|
||||
|
||||
// Create a StringComparer an compare the hashes.
|
||||
var comparer = StringComparer.OrdinalIgnoreCase;
|
||||
|
||||
if (0 == comparer.Compare(hashOfInput, hash))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 726a141a3a8d2154e8843764e05864a9
|
||||
timeCreated: 1496842299
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Repository
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class RepositoryKey : Attribute
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 53cf2435a0fc3d04d97d28756d3fecbd
|
||||
timeCreated: 1490926260
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
[System.Serializable]
|
||||
public class Response<T>
|
||||
{
|
||||
public List<T> Items;
|
||||
public T Item
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Items != null && Items.Count == 1)
|
||||
{
|
||||
return Items[0];
|
||||
}
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 24fca29aef4026c4bbfc810afc92cad1
|
||||
timeCreated: 1496829504
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 17a61c72a282fdd428bbc014915c5649
|
||||
timeCreated: 1490926770
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public class SerializerJson:ISerializer
|
||||
{
|
||||
public static readonly SerializerJson Instance=new SerializerJson();
|
||||
private SerializerJson()
|
||||
{
|
||||
|
||||
}
|
||||
public string Serialize<T>(T obj, bool readableOutput = false) where T : class, new()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public T Deserialize<T>(string json) where T : class, new()
|
||||
{
|
||||
return JsonUtility.FromJson<T>(json);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3baccd95e1e28204ea205fc38ee45a96
|
||||
timeCreated: 1496839397
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,73 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
public class SerializerXml : ISerializer
|
||||
{
|
||||
public static readonly SerializerXml Instance = new SerializerXml();
|
||||
|
||||
private readonly XmlWriterSettings _settingsForCompactOutput = new XmlWriterSettings()
|
||||
{
|
||||
OmitXmlDeclaration = true
|
||||
};
|
||||
|
||||
private readonly XmlWriterSettings _settingsForReadableOutput = new XmlWriterSettings
|
||||
{
|
||||
OmitXmlDeclaration = true,
|
||||
Indent = true,
|
||||
IndentChars = " ",
|
||||
NewLineChars = "\r\n",
|
||||
NewLineHandling = NewLineHandling.Replace
|
||||
};
|
||||
|
||||
public static readonly List<Type> ExtraTypes = new List<Type>();
|
||||
|
||||
public string Serialize<T>(T obj, bool readableOutput = false) where T : class, new()
|
||||
{
|
||||
try
|
||||
{
|
||||
var xmlSerializer = new XmlSerializer(obj.GetType(), ExtraTypes.ToArray());
|
||||
using (StringWriter writer = new StringWriter())
|
||||
{
|
||||
XmlWriterSettings settings = (readableOutput ? _settingsForReadableOutput : _settingsForCompactOutput);
|
||||
using (XmlWriter xmlWriter = XmlWriter.Create(writer, settings))
|
||||
{
|
||||
xmlSerializer.Serialize(xmlWriter, obj);
|
||||
string xml = writer.ToString();
|
||||
return xml;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError("Unable to serialize ");
|
||||
throw new Exception(e.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public T Deserialize<T>(string xml) where T : class, new()
|
||||
{
|
||||
try
|
||||
{
|
||||
var xmlSerializer = new XmlSerializer(typeof(T));
|
||||
using (TextReader reader = new StringReader(xml))
|
||||
{
|
||||
T obj = (T)xmlSerializer.Deserialize(reader);
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError("Unable to deserialize");
|
||||
throw new Exception(e.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5b06cdf6fac92f747a3a3f7aa0566298
|
||||
timeCreated: 1490926260
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.Sources.Core.Infrastructure
|
||||
{
|
||||
/// <summary>
/// 继承自该类,实现 Unity MonoBehaviour 单例模式.
/// </summary>
|
||||
public class Singleton<T>:MonoBehaviour where T:MonoBehaviour
|
||||
{
|
||||
private static T _instance;
|
||||
private static bool _applicationIsQuitting=false;
|
||||
|
||||
protected Singleton()
|
||||
{
|
||||
}
|
||||
|
||||
public static T Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance==null && !_applicationIsQuitting)
|
||||
{
|
||||
_instance = Create();
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
private static T Create()
|
||||
{
|
||||
var go=new GameObject(typeof(T).Name,typeof(T));
|
||||
DontDestroyOnLoad(go);
|
||||
return go.GetComponent<T>();
|
||||
}
|
||||
|
||||
protected virtual void OnApplicationQuit()
|
||||
{
|
||||
if (_instance == null) return;
|
||||
Destroy(_instance.gameObject);
|
||||
_instance = null;
|
||||
}
|
||||
|
||||
protected virtual void OnDestory()
|
||||
{
|
||||
_applicationIsQuitting = true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dc6c031c4e7724246a9e90086465cf05
|
||||
timeCreated: 1496493131
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue