├── Client.Unity ├── DataAndTools │ ├── .gitignore │ ├── bin │ │ ├── EPPlus.dll │ │ ├── Tools.ExcelHelper.dll │ │ ├── Tools.ExcelParser.dll │ │ ├── Tools.ExcelParser.exe │ │ ├── Engine.LockstepEngine.dll │ │ ├── Server.SimpleServer.dll │ │ ├── Tools.CopySourceFiles.dll │ │ ├── Tools.MacroExpansion.dll │ │ ├── Pure.Engine.LockstepEngine.dll │ │ ├── Tools.UnsafeECSGenerator.dll │ │ ├── Tools.UnsafeECS.ECDefine.Game.dll │ │ ├── Server.SimpleServer.runtimeconfig.json │ │ ├── Server.SimpleServer.runtimeconfig.dev.json │ │ ├── Tools.UnsafeECS.ECDefine.Game.deps.json │ │ └── Server.SimpleServer.deps.json │ ├── Tools │ │ ├── ExcelParser │ │ ├── UnsafeECSCodeGen │ │ ├── UpdateAndCodeGen │ │ ├── ExcelParser.sh │ │ ├── UpdateAndCodeGen.sh │ │ ├── UpdateAndCodeGen_Win.sh │ │ └── UnsafeECSCodeGen.sh │ ├── Data │ │ ├── Client │ │ │ ├── Maps │ │ │ │ ├── 1.bytes │ │ │ │ └── 2.bytes │ │ │ ├── GameConfig.bytes │ │ │ ├── ExcelBytes │ │ │ │ ├── Assets.bytes │ │ │ │ └── ConfigBullet.bytes │ │ │ ├── TileIDMap.txt │ │ │ └── AssetPath.json │ │ ├── Designer │ │ │ └── Excels │ │ │ │ ├── Assets.xlsx │ │ │ │ └── EntityConfig │ │ │ │ └── ConfigBullet.xls │ │ └── Server │ │ │ └── Config.json │ ├── Src │ │ ├── Tools.UnsafeECS.ECSOutput │ │ │ ├── .gitignore │ │ │ ├── Tools.UnsafeECS.ECSOutput.csproj │ │ │ └── Src │ │ │ │ └── Generated │ │ │ │ └── Model │ │ │ │ └── CodeGen_Service_Entity.cs │ │ ├── Tools.UnsafeECS.ECDefine.Game │ │ │ ├── Src │ │ │ │ ├── Unsafe │ │ │ │ │ ├── Enum.cs │ │ │ │ │ ├── Event.cs │ │ │ │ │ ├── Collision.cs │ │ │ │ │ ├── Service.cs │ │ │ │ │ ├── System.cs │ │ │ │ │ ├── Entity.cs │ │ │ │ │ ├── Component.cs │ │ │ │ │ └── Status.cs │ │ │ │ └── BuildIn │ │ │ │ │ ├── BuildIn_Components.cs │ │ │ │ │ └── BuildIn_Services.cs │ │ │ └── Tools.UnsafeECS.ECDefine.Game.csproj │ │ └── Server.SimpleServer │ │ │ ├── Src │ │ │ ├── Server │ │ │ │ ├── HashCodeMatcher.cs │ │ │ │ ├── Player.cs │ │ │ │ └── MessagePacker.cs │ │ │ └── ServerLauncher.cs │ │ │ └── Server.SimpleServer.csproj │ ├── Config │ │ ├── UnsafeECSGenerator │ │ │ ├── View │ │ │ │ └── EncTemplateFile.tfbytes │ │ │ ├── Model │ │ │ │ └── EncTemplateFile.tfbytes │ │ │ ├── MacroDefine.json │ │ │ ├── ModelConfig.json │ │ │ └── ViewConfig.json │ │ ├── ExcelParser │ │ │ ├── Config.json │ │ │ ├── Output │ │ │ │ ├── Csv │ │ │ │ │ ├── ConfigBullet.csv │ │ │ │ │ └── Assets.csv │ │ │ │ └── CodeCS │ │ │ │ │ ├── Table_Assets.cs │ │ │ │ │ └── Table_ConfigBullet.cs │ │ │ └── CSTemplate.txt │ │ └── CopySourceFiles │ │ │ ├── Unity2ECSDefine.json │ │ │ ├── Unity2Csproj.json │ │ │ └── Csproj2Unity.json │ └── Game.sln ├── Assets │ ├── LockstepECS │ │ ├── Scripts │ │ │ ├── ResScripts │ │ │ │ ├── MonoProxy │ │ │ │ │ ├── MonoProxyMoverView.cs │ │ │ │ │ ├── MonoProxyHotfixScript.cs │ │ │ │ │ ├── MonoProxyHotfixScript.cs.meta │ │ │ │ │ ├── MonoProxyMainScript.cs.meta │ │ │ │ │ ├── MonoProxyCollisionSystemDebuger.cs.meta │ │ │ │ │ ├── MonoProxySpriteEffect.cs │ │ │ │ │ ├── MonoProxyCollisionSystemDebuger.cs │ │ │ │ │ ├── MonoProxyReferenceHolder.cs │ │ │ │ │ ├── MonoProxyMainScript.cs │ │ │ │ │ ├── MonoProxyMoverView.cs.meta │ │ │ │ │ ├── MonoProxyReferenceHolder.cs.meta │ │ │ │ │ └── MonoProxySpriteEffect.cs.meta │ │ │ │ ├── MonoProxy.meta │ │ │ │ ├── UnityGameViewConfig.cs │ │ │ │ ├── UnityGameConfig.cs.meta │ │ │ │ ├── UnityGameViewConfig.cs.meta │ │ │ │ └── UnityGameConfig.cs │ │ │ ├── CameraMono.cs.meta │ │ │ ├── Editor │ │ │ │ ├── EditorMainScript.cs.meta │ │ │ │ ├── EditorMonoProxyReferenceHolder.cs.meta │ │ │ │ ├── EditorMonoProxyReferenceHolder.cs │ │ │ │ ├── EditorCollisionSystem.cs.meta │ │ │ │ └── EditorMainScript.cs │ │ │ ├── Editor.meta │ │ │ ├── ResScripts.meta │ │ │ └── CameraMono.cs │ │ ├── __DllSourceFiles │ │ │ ├── Game.Model │ │ │ │ ├── Src │ │ │ │ │ ├── Misc.meta │ │ │ │ │ ├── Services │ │ │ │ │ │ ├── State.meta │ │ │ │ │ │ ├── GameInputService.cs.meta │ │ │ │ │ │ ├── GameResourceService.cs.meta │ │ │ │ │ │ ├── State │ │ │ │ │ │ │ ├── GameConfigService.cs.meta │ │ │ │ │ │ │ ├── GameStateService.cs.meta │ │ │ │ │ │ │ ├── GameStateService.cs │ │ │ │ │ │ │ └── GameConfigService.cs │ │ │ │ │ │ ├── ExtensionGameUnityService.cs.meta │ │ │ │ │ │ ├── ExtensionGameUnityService.cs │ │ │ │ │ │ ├── GameResourceService.cs │ │ │ │ │ │ └── GameInputService.cs │ │ │ │ │ ├── Systems │ │ │ │ │ │ ├── Init.meta │ │ │ │ │ │ ├── Input.meta │ │ │ │ │ │ ├── Logic.meta │ │ │ │ │ │ ├── Init │ │ │ │ │ │ │ ├── InitSystem.cs.meta │ │ │ │ │ │ │ └── InitSystem.cs │ │ │ │ │ │ ├── Context_TempField.cs.meta │ │ │ │ │ │ ├── Input │ │ │ │ │ │ │ ├── InputSystem.cs.meta │ │ │ │ │ │ │ └── InputSystem.cs │ │ │ │ │ │ ├── Logic │ │ │ │ │ │ │ ├── PlayerMoveSystem.cs.meta │ │ │ │ │ │ │ └── PlayerMoveSystem.cs │ │ │ │ │ │ ├── GameLogicSystems.cs.meta │ │ │ │ │ │ ├── Context_TempField.cs │ │ │ │ │ │ └── GameLogicSystems.cs │ │ │ │ │ ├── Misc │ │ │ │ │ │ ├── ConfigData.cs.meta │ │ │ │ │ │ ├── PlayerInput.cs.meta │ │ │ │ │ │ ├── ConfigData.cs │ │ │ │ │ │ └── PlayerInput.cs │ │ │ │ │ ├── UnsafeECSFramework │ │ │ │ │ │ ├── Core.meta │ │ │ │ │ │ ├── Systems.meta │ │ │ │ │ │ ├── EntityExt.cs.meta │ │ │ │ │ │ ├── Interfaces.meta │ │ │ │ │ │ ├── Services.meta │ │ │ │ │ │ ├── Systems │ │ │ │ │ │ │ ├── GameExecuteSystem.cs │ │ │ │ │ │ │ ├── GameBaseSystem.cs.meta │ │ │ │ │ │ │ ├── GameExecuteSystem.cs.meta │ │ │ │ │ │ │ └── GameBaseSystem.cs │ │ │ │ │ │ ├── Core │ │ │ │ │ │ │ ├── Context.cs.meta │ │ │ │ │ │ │ ├── UnsafeWorld.cs.meta │ │ │ │ │ │ │ ├── WorldSystems.cs.meta │ │ │ │ │ │ │ ├── WorldSystems.cs │ │ │ │ │ │ │ ├── Context.cs │ │ │ │ │ │ │ └── UnsafeWorld.cs │ │ │ │ │ │ ├── Services │ │ │ │ │ │ │ ├── MapService.cs.meta │ │ │ │ │ │ │ ├── PureEntityService.cs.meta │ │ │ │ │ │ │ ├── MapService.cs │ │ │ │ │ │ │ ├── UnsafeEcsFactoryService.cs.meta │ │ │ │ │ │ │ ├── PureEntityService.cs │ │ │ │ │ │ │ └── UnsafeEcsFactoryService.cs │ │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ │ ├── IEntityService.cs.meta │ │ │ │ │ │ │ └── IEntityService.cs │ │ │ │ │ │ └── EntityExt.cs │ │ │ │ │ ├── Config │ │ │ │ │ │ ├── GameConfig.cs │ │ │ │ │ │ ├── AudioConfig.cs │ │ │ │ │ │ ├── GameConfig.cs.meta │ │ │ │ │ │ └── AudioConfig.cs.meta │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ ├── IGameEffectService.cs │ │ │ │ │ │ ├── IGameUnitService.cs │ │ │ │ │ │ ├── IGameAudioService.cs │ │ │ │ │ │ ├── Status │ │ │ │ │ │ │ ├── IGameStateService.cs │ │ │ │ │ │ │ ├── IGameConstStateService.cs │ │ │ │ │ │ │ ├── IGameConfigService.cs │ │ │ │ │ │ │ ├── IGameConfigService.cs.meta │ │ │ │ │ │ │ ├── IGameStateService.cs.meta │ │ │ │ │ │ │ └── IGameConstStateService.cs.meta │ │ │ │ │ │ ├── IGameResourceService.cs │ │ │ │ │ │ ├── Status.meta │ │ │ │ │ │ ├── IGameUnitService.cs.meta │ │ │ │ │ │ ├── IGameAudioService.cs.meta │ │ │ │ │ │ ├── IGameEffectService.cs.meta │ │ │ │ │ │ └── IGameResourceService.cs.meta │ │ │ │ │ ├── Config.meta │ │ │ │ │ ├── Interfaces.meta │ │ │ │ │ ├── Services.meta │ │ │ │ │ ├── Systems.meta │ │ │ │ │ ├── __ExcelParser.meta │ │ │ │ │ ├── __UnsafeECS.meta │ │ │ │ │ ├── UnsafeECSFramework.meta │ │ │ │ │ ├── __UnsafeECS │ │ │ │ │ │ ├── Generated.meta │ │ │ │ │ │ └── Generated │ │ │ │ │ │ │ ├── CodeGen_Context.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Entity.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Enum.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Event.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Filter.cs.meta │ │ │ │ │ │ │ ├── CodeGen_System.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Component.cs.meta │ │ │ │ │ │ │ ├── CodeGen_EntityFuncs.cs.meta │ │ │ │ │ │ │ ├── CodeGen_EntityView.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Iterator.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Schedule.cs.meta │ │ │ │ │ │ │ ├── CodeGen__Default.cs.meta │ │ │ │ │ │ │ ├── CodeGen__Entities.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Service_Entity.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Service_State.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Service_SystemExt.cs.meta │ │ │ │ │ │ │ ├── CodeGen_Context_Interfaces.cs.meta │ │ │ │ │ │ │ ├── CodeGen_UpdateViewStateSystem.cs.meta │ │ │ │ │ │ │ └── CodeGen__Entities_Interfaces.cs.meta │ │ │ │ │ └── __ExcelParser │ │ │ │ │ │ ├── Table_ConfigBullet.cs.meta │ │ │ │ │ │ └── Table_ConfigBullet.cs │ │ │ │ ├── Src.meta │ │ │ │ ├── Game.Model.asmdef.meta │ │ │ │ └── Game.Model.asmdef │ │ │ ├── Game.View │ │ │ │ ├── Src │ │ │ │ │ ├── EntityViews.meta │ │ │ │ │ ├── TagProxy.meta │ │ │ │ │ ├── GameViewConfig.cs.meta │ │ │ │ │ ├── RenderInfo.cs.meta │ │ │ │ │ ├── Framework │ │ │ │ │ │ ├── BaseEntityView.cs.meta │ │ │ │ │ │ ├── GameStateMono.cs.meta │ │ │ │ │ │ ├── EntityPrefabInfo.cs.meta │ │ │ │ │ │ ├── EntityPrefabInfo.cs │ │ │ │ │ │ ├── PingMono.cs.meta │ │ │ │ │ │ ├── InputMono.cs.meta │ │ │ │ │ │ ├── UnityServiceContainer.cs.meta │ │ │ │ │ │ ├── PingMono.cs │ │ │ │ │ │ ├── InputMono.cs │ │ │ │ │ │ ├── UnityServiceContainer.cs │ │ │ │ │ │ ├── GameStateMono.cs │ │ │ │ │ │ └── BaseEntityView.cs │ │ │ │ │ ├── Services │ │ │ │ │ │ ├── UnityGameService.cs │ │ │ │ │ │ ├── UnityMapService.cs.meta │ │ │ │ │ │ ├── UnityEntityService.cs.meta │ │ │ │ │ │ ├── UnityGameEffectService.cs │ │ │ │ │ │ ├── UnityGameService.cs.meta │ │ │ │ │ │ ├── UnityMap2DService.cs.meta │ │ │ │ │ │ ├── UnityGameAudioService.cs.meta │ │ │ │ │ │ ├── UnityGameEffectService.cs.meta │ │ │ │ │ │ ├── UnityEntityService.cs │ │ │ │ │ │ ├── UnityMapService.cs │ │ │ │ │ │ ├── UnityGameAudioService.cs │ │ │ │ │ │ └── UnityMap2DService.cs │ │ │ │ │ ├── UnityEntityPrefabSetting.cs.meta │ │ │ │ │ ├── EntityViews │ │ │ │ │ │ ├── EntityViewBoidObstacle.cs.meta │ │ │ │ │ │ └── EntityViewBoidObstacle.cs │ │ │ │ │ ├── TagProxy │ │ │ │ │ │ ├── UnityPlayerCubeTagProxy.cs.meta │ │ │ │ │ │ └── UnityPlayerCubeTagProxy.cs │ │ │ │ │ ├── Framework.meta │ │ │ │ │ ├── Services.meta │ │ │ │ │ ├── __UnsafeECS.meta │ │ │ │ │ ├── __UnsafeECS │ │ │ │ │ │ ├── Generated.meta │ │ │ │ │ │ └── Generated │ │ │ │ │ │ │ ├── CodeGen_EntityView.cs.meta │ │ │ │ │ │ │ └── CodeGen_BaseUnityEntityService.cs.meta │ │ │ │ │ ├── MainScript.cs.meta │ │ │ │ │ ├── RenderInfo.cs │ │ │ │ │ ├── GameViewConfig.cs │ │ │ │ │ ├── MainScript.cs │ │ │ │ │ └── UnityEntityPrefabSetting.cs │ │ │ │ ├── Src.meta │ │ │ │ ├── Game.View.asmdef.meta │ │ │ │ └── Game.View.asmdef │ │ │ ├── Tools.UnsafeECS.ECDefine.Game │ │ │ │ ├── Src │ │ │ │ │ ├── Unsafe │ │ │ │ │ │ ├── Enum.cs │ │ │ │ │ │ ├── Event.cs │ │ │ │ │ │ ├── Collision.cs │ │ │ │ │ │ ├── Entity.cs.meta │ │ │ │ │ │ ├── Enum.cs.meta │ │ │ │ │ │ ├── Event.cs.meta │ │ │ │ │ │ ├── Status.cs.meta │ │ │ │ │ │ ├── System.cs.meta │ │ │ │ │ │ ├── Collision.cs.meta │ │ │ │ │ │ ├── Component.cs.meta │ │ │ │ │ │ ├── Service.cs.meta │ │ │ │ │ │ ├── Service.cs │ │ │ │ │ │ ├── System.cs │ │ │ │ │ │ ├── Entity.cs │ │ │ │ │ │ ├── Component.cs │ │ │ │ │ │ └── Status.cs │ │ │ │ │ ├── Unsafe.meta │ │ │ │ │ ├── BuildIn.meta │ │ │ │ │ └── BuildIn │ │ │ │ │ │ ├── BuildIn_Components.cs.meta │ │ │ │ │ │ ├── BuildIn_Interfaces.cs.meta │ │ │ │ │ │ ├── BuildIn_Services.cs.meta │ │ │ │ │ │ ├── BuildIn_Components.cs │ │ │ │ │ │ └── BuildIn_Services.cs │ │ │ │ ├── Tools.UnsafeECS.ECDefine.Game.asmdef │ │ │ │ ├── Src.meta │ │ │ │ └── Tools.UnsafeECS.ECDefine.Game.asmdef.meta │ │ │ ├── Game.Model.meta │ │ │ ├── Game.View.meta │ │ │ └── Tools.UnsafeECS.ECDefine.Game.meta │ │ ├── Plugins │ │ │ ├── ICSharpCode.SharpZipLib.dll │ │ │ ├── LockstepEngine │ │ │ │ ├── Common.View.dll │ │ │ │ ├── Engine.View.dll │ │ │ │ ├── Common.Model.dll │ │ │ │ ├── Common.UnsafeECS.dll │ │ │ │ ├── Editor │ │ │ │ │ ├── Common.Editor.dll │ │ │ │ │ ├── Engine.Editor.dll │ │ │ │ │ ├── Common.Editor.dll.meta │ │ │ │ │ └── Engine.Editor.dll.meta │ │ │ │ ├── Engine.LockstepEngine.dll │ │ │ │ ├── Editor.meta │ │ │ │ ├── Common.Model.dll.meta │ │ │ │ ├── Common.View.dll.meta │ │ │ │ ├── Engine.View.dll.meta │ │ │ │ ├── Common.UnsafeECS.dll.meta │ │ │ │ └── Engine.LockstepEngine.dll.meta │ │ │ ├── LockstepEngine.meta │ │ │ └── ICSharpCode.SharpZipLib.dll.meta │ │ ├── ReadMe.txt.meta │ │ ├── Example │ │ │ └── Demo_Cube.unity.meta │ │ ├── Example.meta │ │ ├── Plugins.meta │ │ ├── Resources.meta │ │ ├── Resources │ │ │ ├── GlobalConfig.xml.meta │ │ │ ├── Config.meta │ │ │ ├── Config │ │ │ │ ├── GameConfig.json.meta │ │ │ │ ├── UnityGameConfig.asset.meta │ │ │ │ ├── UnityGameViewConfig.asset.meta │ │ │ │ ├── UnityGameViewConfig.asset │ │ │ │ ├── GameConfig.json │ │ │ │ └── UnityGameConfig.asset │ │ │ ├── Prefabs.meta │ │ │ ├── Prefabs │ │ │ │ └── Player_Cube.prefab.meta │ │ │ ├── UnityEntityPrefabSetting.prefab.meta │ │ │ ├── GlobalConfig.xml │ │ │ └── UnityEntityPrefabSetting.prefab │ │ ├── __DllSourceFiles.meta │ │ ├── Scripts.meta │ │ └── ReadMe.txt │ ├── Plugins.meta │ ├── LockstepECS.meta │ └── Plugins │ │ ├── Editor.meta │ │ └── Editor │ │ └── JetBrains.meta ├── ProjectSettings │ ├── ProjectVersion.txt │ ├── ClusterInputManager.asset │ ├── PresetManager.asset │ ├── XRSettings.asset │ ├── TimeManager.asset │ ├── EditorBuildSettings.asset │ ├── VFXManager.asset │ ├── BurstAotSettings_StandaloneOSX.json │ ├── AudioManager.asset │ ├── TagManager.asset │ ├── EditorSettings.asset │ ├── UnityConnectSettings.asset │ ├── DynamicsManager.asset │ ├── NavMeshAreas.asset │ ├── Physics2DSettings.asset │ └── GraphicsSettings.asset ├── packages.config ├── .gitignore └── Packages │ └── manifest.json └── README.md /Client.Unity/DataAndTools/.gitignore: -------------------------------------------------------------------------------- 1 | !*.sln 2 | !*.csproj -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyMoverView.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyHotfixScript.cs: -------------------------------------------------------------------------------- 1 | public class MonoProxyHotfixScript : HotfixScript { } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/EPPlus.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/EPPlus.dll -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.2.3f1 2 | m_EditorVersionWithRevision: 2019.2.3f1 (8e55c27a4621) 3 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/CameraMono.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 685ac13f0dc84aa4b82782408bf60afc 3 | timeCreated: 1572702738 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/ExcelParser: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/ 4 | ./ExcelParser.sh 5 | 6 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/UnsafeECSCodeGen: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/ 4 | ./UnsafeECSCodeGen.sh -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/UpdateAndCodeGen: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/ 4 | ./UpdateAndCodeGen.sh -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea3cbc176e6d48f0a430ae897586b7f4 3 | timeCreated: 1571560452 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/Maps/1.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Client/Maps/1.bytes -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/Maps/2.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Client/Maps/2.bytes -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.ExcelHelper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.ExcelHelper.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.ExcelParser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.ExcelParser.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.ExcelParser.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.ExcelParser.exe -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor/EditorMainScript.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cc8eb4d82544fe2a0acc5c49b71e472 3 | timeCreated: 1567495507 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Misc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36a2c81ba9d94e87bfb63d753996d739 3 | timeCreated: 1573608272 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/GameConfig.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Client/GameConfig.bytes -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Engine.LockstepEngine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Engine.LockstepEngine.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Server.SimpleServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Server.SimpleServer.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.CopySourceFiles.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.CopySourceFiles.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.MacroExpansion.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.MacroExpansion.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/EntityViews.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21d66febc2ff49a89f52599263876284 3 | timeCreated: 1573266841 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/TagProxy.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22f3f707a21e45dab3a8df531841af34 3 | timeCreated: 1573280709 -------------------------------------------------------------------------------- /Client.Unity/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor/EditorMonoProxyReferenceHolder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cd70ef1394940c8b3cc0049fec829bc 3 | timeCreated: 1571561764 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/State.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a54c3dad2bf4df3904673f62d7ffc24 3 | timeCreated: 1572946968 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Init.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0ccdcf2347b4605a62b3d7226239474 3 | timeCreated: 1572927762 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Input.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9335206a54db4f5b92adfdbd0e1e1b0f 3 | timeCreated: 1572927708 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Logic.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cfe62bada0f4dc18f01977978c5d542 3 | timeCreated: 1572927701 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/GameViewConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d0f70bca5134792a43fe39d2daf632c 3 | timeCreated: 1573192670 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/RenderInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a12cbaa1831c46178785dec91081741f 3 | timeCreated: 1573192678 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Designer/Excels/Assets.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Designer/Excels/Assets.xlsx -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Pure.Engine.LockstepEngine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Pure.Engine.LockstepEngine.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.UnsafeECSGenerator.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.UnsafeECSGenerator.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyHotfixScript.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ec0ec773cb9430883861fe7a89897c5 3 | timeCreated: 1571560348 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyMainScript.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20396a1f508a4aa08f8989d265b39377 3 | timeCreated: 1571560329 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Misc/ConfigData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67fdb4a1941d42edb29553441410897c 3 | timeCreated: 1572931270 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/ExcelBytes/Assets.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Client/ExcelBytes/Assets.bytes -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Init/InitSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90415483585a47529c0e2a1a9a211216 3 | timeCreated: 1572759358 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b655b8874c774e5cb02faf468659506f 3 | timeCreated: 1572348098 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4db01495254e469d83706f1ccd4ee686 3 | timeCreated: 1572347646 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/BaseEntityView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c8ec131618b47e5a554599afc823922 3 | timeCreated: 1573104172 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/GameStateMono.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 639761d88e754f3bb8789af61e70bd67 3 | timeCreated: 1572751344 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameService.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | public abstract class UnityGameService : GameService { } 3 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityMapService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31134e36adc84208b6cf521cbf02e20d 3 | timeCreated: 1573305094 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/UnityEntityPrefabSetting.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c43ed71b1fb3426ebca8a7c262bf8459 3 | timeCreated: 1573193229 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.UnsafeECS.ECDefine.Game.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/bin/Tools.UnsafeECS.ECDefine.Game.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyCollisionSystemDebuger.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 665986f82c124dba9eef8d0a920e5174 3 | timeCreated: 1569135627 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Context_TempField.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe74b24d43f94f55bc16be375e7ccd5e 3 | timeCreated: 1572759386 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Input/InputSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407022b328a04fa0818dcd775d5fe5b3 3 | timeCreated: 1572854152 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/EntityExt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3278a540f24d496c9655861731328744 3 | timeCreated: 1572344697 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9efd4f4b9cc34e94ba2d4be9726fce5e 3 | timeCreated: 1572349050 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 718021978a7c4f30981bbc1ac141f24e 3 | timeCreated: 1572347709 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Systems/GameExecuteSystem.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS; 2 | namespace Lockstep.UnsafeECS.Game { 3 | 4 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/EntityPrefabInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a31032c8bce444bb8215d3d42113ad2 3 | timeCreated: 1573193565 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityEntityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17686d009c4d407c9b835c7d3e033d31 3 | timeCreated: 1572347173 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/ExcelBytes/ConfigBullet.bytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Client/ExcelBytes/ConfigBullet.bytes -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.View.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.View.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.View.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.View.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Logic/PlayerMoveSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db8d0ce5d78445159c0abf98c88bc44d 3 | timeCreated: 1573263154 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/Context.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d28ba2d9c18243c0a6adba8cd517b5ca 3 | timeCreated: 1572344751 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/EntityViews/EntityViewBoidObstacle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79fdc6f594cc4f7cb312b9ba09e70990 3 | timeCreated: 1573266871 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/TagProxy/UnityPlayerCubeTagProxy.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 912146af21af4c4c8295eff49d104616 3 | timeCreated: 1573280635 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.Model.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.Model.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/MapService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72e8d6a0de714c758471d99c8c54cbc6 3 | timeCreated: 1573305047 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.UnsafeECS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.UnsafeECS.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Systems/GameBaseSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8100f270f7e47128491fe7781e9d1c5 3 | timeCreated: 1572347662 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECSOutput/.gitignore: -------------------------------------------------------------------------------- 1 | Libs/ 2 | Games/ 3 | #暂时忽略这个项目 4 | BombMan/ 5 | # Build and Object Folders 6 | bin/ 7 | obj/ 8 | # ide 9 | .idea/ 10 | .vs/ -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Interfaces/IEntityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58b0d16c424042babfeb01636c408fb8 3 | timeCreated: 1572344328 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/PureEntityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62e796caef324d9d8b9aed38d9f987d3 3 | timeCreated: 1572344337 -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Systems/GameExecuteSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b82a7fdf47594a14a413a5dc9ea28130 3 | timeCreated: 1572347654 -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Designer/Excels/EntityConfig/ConfigBullet.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Data/Designer/Excels/EntityConfig/ConfigBullet.xls -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Enum.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Common.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Common.Editor.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Engine.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Engine.Editor.dll -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.LockstepEngine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.LockstepEngine.dll -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/UnsafeECSGenerator/View/EncTemplateFile.tfbytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Config/UnsafeECSGenerator/View/EncTemplateFile.tfbytes -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/UnsafeECSGenerator/Model/EncTemplateFile.tfbytes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JiepengTan/LockstepECS/HEAD/Client.Unity/DataAndTools/Config/UnsafeECSGenerator/Model/EncTemplateFile.tfbytes -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/ReadMe.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8fd16990486543009e0cbcd5d8b2f12 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Config/GameConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using NetMsg.Common; 3 | 4 | namespace Lockstep.Game { 5 | [Serializable] 6 | public partial class GameConfig { } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameEffectService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Math; 2 | 3 | namespace Lockstep.Game { 4 | public interface IGameEffectService : IService { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Enum.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5c5b3387140e40068807c6efd9297ba 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/TileIDMap.txt: -------------------------------------------------------------------------------- 1 | 1=Tiles/TileBrick 2 | 2=Tiles/TileCamp 3 | 3=Tiles/TileGrass 4 | 4=Tiles/TileIron 5 | 5=Tiles/TileWater 6 | 6=Tiles/TileBornPosEnemy 7 | 7=Tiles/TileBornPosHero 8 | 8=Tiles/TileWall 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15619f7bc15e5490ebe45f6db34f4642 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Example/Demo_Cube.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc7caccdfb6d94b4facecc7a62765c9a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameUnitService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Lockstep.Math; 3 | 4 | namespace Lockstep.Game { 5 | public interface IGameUnitService : IService { 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/Plugins/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0e811213c2444802b88296a61e157c0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f565ec0fa0a0e4069b47ab787e20e5af 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b23f629fe9d924290896035bc87cf208 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Tools.UnsafeECS.ECDefine.Game.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Tools.UnsafeECS.ECDefine.Game", 3 | "references": [ 4 | "Engine.LockstepEngine" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Server.SimpleServer.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "netcoreapp2.2", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "2.2.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45240c615bd4f4d1faf891e4d3747c6b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/GlobalConfig.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 827a7a2e547064eba9b016aea018dc5e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxySpriteEffect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using Debug = Lockstep.Logging.Debug; 4 | 5 | public class MonoProxySpriteEffect : SpriteEffect { 6 | 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/Plugins/Editor/JetBrains.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7218295628ec4d0ea3873220a68cceb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93965c1c6844b452bbeaba38fe63dd71 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/GameConfig.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19bbfb5fe5d294d049f33a129701b910 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12151946b916d4cb8a3ce13db8f93808 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Prefabs/Player_Cube.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1d6b8716cd344cfb97d76f4f986fbe5 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c265c14d8483e46f99205be4041c8f99 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyCollisionSystemDebuger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using UnityEditor; 4 | 5 | [Serializable] 6 | public class MonoProxyCollisionSystemDebuger : CollisionSystemDebuger { } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f54dba491a984500ae89ca945fc7cd0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Event.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | 5 | namespace Lockstep.UnsafeECSDefine { 6 | 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1a40fa0a2817429f9f3c547312a3d5a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/UnityEntityPrefabSetting.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e5eb294788a943bca181ef6fae5f543 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3bdafd5f992b433a8c8ea0c0f71047b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameAudioService.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | 3 | public interface IGameAudioService :IService { 4 | void PlayMusicBG(); 5 | void PlayMusicStart(); 6 | } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameStateService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Math; 2 | using Lockstep.Serialization; 3 | 4 | namespace Lockstep.Game { 5 | public partial interface IGameStateService : IService {} 6 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor/EditorMonoProxyReferenceHolder.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game.UI; 2 | using UnityEditor; 3 | 4 | [CustomEditor(typeof(MonoProxyReferenceHolder))] 5 | public class EditorMonoProxyReferenceHolder : EditorReferenceHolder { 6 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73dbc30ca2dd84e848668c9fe4dd43b9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameResourceService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | 3 | namespace Lockstep.Game { 4 | public interface IGameResourceService : IService { 5 | object LoadPrefab(int id); 6 | } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39da76c1e58164336a1819eabea5a712 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5414f93ea4eef4eca8b770ccbafefae6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 952cab2d0364348fdb8ef1539b82887a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd7812b243efd483c8318ab3a84e9cb3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Event.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | 5 | namespace Lockstep.UnsafeECSDefine { 6 | 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Game.Model.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47cab237e53a445eeb896da74a1d751e 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Game.View.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fda2cb0e52b9d473f912e838e0938927 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 867eef219fb324db891e6a2c8a79f0cb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9a005a0436754e2395aa5ec19d5df0e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fb7a191ae1f24509ba8a7ac33e863a9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87ee0124887484db8b19b81861729e41 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97e46b58211f54802853cf6a9a90a97c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3945318fe10fa44a49984ddd236ea5c3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: beaf123cd5611458e9badf54080b596b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e298cc47cc1d846558a2bf431328d7d2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e5fae14fc02b4afda8c2e94fcd28546 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/EntityPrefabInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | [System.Serializable] 3 | public struct EntityPrefabInfo { 4 | public Unity.Entities.Entity Prefab; 5 | public int AssetId; 6 | } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8872d53265a864151886865b3a087336 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd9c214f640fae348958e74eaea6f543 3 | folderAsset: yes 4 | timeCreated: 1431009955 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13415eb337f444b8aa419b7e1472e6d5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07ef950861037403a8fead4950003ba0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49ed6447153654c0e846273c0bb2138f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fbe1a5992ea3440b89a01b53dd2ddd2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/UnityGameConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce2bc0ff4e4604213968d2ad1cb16909 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/MapService.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | public interface IMapService : IService { } 3 | 4 | [System.Serializable] 5 | public partial class MapService : BaseService, IMapService { } 6 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73079267cf0d446dba77077c84aea948 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameEffectService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Math; 2 | using UnityEngine; 3 | 4 | namespace Lockstep.Game { 5 | public partial class UnityGameEffectService : UnityGameService, IGameEffectService { 6 | 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ced19e5d544b847a8ba76327767f0287 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/UnityGameViewConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bfaf5b81c7e7c46219c5fcd82b154ee4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyReferenceHolder.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game.UI; 2 | using UnityEngine.UI; 3 | 4 | namespace Lockstep.Game.UI { 5 | 6 | 7 | public class MonoProxyReferenceHolder : ReferenceHolder { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a65b9d504119c4eea9691213e2adc152 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Tools.UnsafeECS.ECDefine.Game.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4cf4863c5693e4b379407bc7c737582e 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Collision.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | namespace Lockstep.UnsafeECSDefine { 5 | 6 | public class CollisionDefine : ICollisionEvent { 7 | } 8 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/UnityGameViewConfig.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Lockstep.Game { 4 | [CreateAssetMenu(menuName = "UnityGameViewConfig")] 5 | [System.Serializable] 6 | public partial class UnityGameViewConfig : GameViewConfig { 7 | public int Pad; 8 | } 9 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Server.SimpleServer.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "/Users/jiepengtan/.dotnet/store/|arch|/|tfm|", 5 | "/Users/jiepengtan/.nuget/packages", 6 | "/usr/local/share/dotnet/sdk/NuGetFallbackFolder" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Collision.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | namespace Lockstep.UnsafeECSDefine { 5 | 6 | public class CollisionDefine : ICollisionEvent { 7 | } 8 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameConstStateService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Math; 3 | using Lockstep.Serialization; 4 | using NetMsg.Common; 5 | 6 | namespace Lockstep.Game { 7 | public partial interface IGameConstStateService : IService { 8 | } 9 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Config/AudioConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using Debug = UnityEngine.Debug; 4 | 5 | namespace Lockstep.Game { 6 | public partial class AudioConfig { 7 | public ushort BgMusic; 8 | public ushort StartMusic;// = AudioIdStart; 9 | } 10 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/TagProxy/UnityPlayerCubeTagProxy.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS.Game; 2 | using Unity.Entities; 3 | using UnityEngine; 4 | 5 | namespace Lockstep.Game.UnityView { 6 | [DisallowMultipleComponent] 7 | public class UnityPlayerCubeTagProxy : ComponentDataProxy { } 8 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/Config.json: -------------------------------------------------------------------------------- 1 | { 2 | "InputDirs": [ 3 | "../Data/Designer/Excels" 4 | ], 5 | "OutputDirCsv": "../Config/ExcelParser/Output/Csv", 6 | "OutputDirByte":"../Data/Client/ExcelBytes", 7 | "OutputDirCode":"../Config/ExcelParser/Output/CodeCS", 8 | "TemplatePath": "../Config/ExcelParser/CSTemplate.txt" 9 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyMainScript.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | 3 | public class MonoProxyMainScript : MainScript { 4 | protected override void Awake(){ 5 | base.Awake(); 6 | } 7 | } 8 | 9 | [System.Serializable] 10 | public partial class MonoProxyGameViewConfig : GameViewConfig { 11 | 12 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/UnityGameConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 980ac168cef7441b18a297aac85d123e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor/EditorCollisionSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1ef1cfe6a07842a3b365b21d33d41aa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/UnityGameViewConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce625fca54ee7448e83d49e11ee55e7a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameConfigService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.ECS; 3 | using Lockstep.Math; 4 | using Lockstep.Serialization; 5 | using NetMsg.Common; 6 | 7 | namespace Lockstep.Game { 8 | public partial interface IGameConfigService : IService { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/LockstepECS/Example/Demo_Cube.unity 10 | guid: bc7caccdfb6d94b4facecc7a62765c9a 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/MainScript.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe59a2ec1d6c845e39ce8c5fbb6c7100 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyMoverView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33f43fa21b78f4789b27739cbfac261d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Config/GameConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d2dc248816344d90aff3f9bb8b1f5aa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Misc/PlayerInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58aad08f6e1c342638904826700a3b05 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/PingMono.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d5f9f68bfcc94d78abfcf2b4642261d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxyReferenceHolder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8379e6936f36244498b3e59f1b4d6ea3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/MonoProxy/MonoProxySpriteEffect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5ef59c3577e14419a43960bee456a57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Config/AudioConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0a6f890f335b4a13a02113003930f66 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/InputMono.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b3755752ac984ebf9817cabf729607a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/CopySourceFiles/Unity2ECSDefine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__commment": "Copy file from pure csproj to unity dir", 4 | "srcDir": "../../../Client.Unity/Assets/LockstepECS/__DllSourceFiles/", 5 | "dstDir": "../Src/", 6 | "srcProjectDirs": [ 7 | "Tools.UnsafeECS.ECdefine.Game" 8 | ], 9 | "sourceFileDir": "/Src" 10 | } 11 | ] -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameUnitService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84e70e4c155ab4a6dbea7bbe911f1dee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/GameInputService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 616c9f6f07b2d4bf6ac283d51b12fb81 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/GameLogicSystems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5f17b4476e844461a59f082b7734bd1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9052cacb3daa04a6ba635adabccb5e30 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityMap2DService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97a69ccafe017415faf89f0d389668e8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameAudioService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ee2494672d7e479fb7d0865d290a8e2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameEffectService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2aa997325a9a942aea93acc5d2c51267 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/IGameResourceService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90ab25e2aea9d48b1a88bc3b1cfbd22f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/GameResourceService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0febdd1a761674d0786effa3a0e226e6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/State/GameConfigService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7c34acda392241b4aee7a55b89203bc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/State/GameStateService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17ca5aa79abb14d76a60c4db89a2c336 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/Table_ConfigBullet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c1d225d77da74a47a4930f434fb013d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/UnityServiceContainer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4e7f25d6ec594cc89b6005dd6435ead 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameAudioService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4821001c2965947f6b558ec79a056894 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameEffectService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69031f191a9c747e18008275f31282be 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Entity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6fcdca01843e450c9359e71927afee8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Enum.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2e95e0230ca44845a86a2110371701e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Event.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 716d91bea886e4247bf938c088c1a0f1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Status.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91940ac76d1df4300a6059a3658a1194 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/System.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 343a2794cda62488b89b83c6ced8e899 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameConfigService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 594c45de2d9a54631868238ee8ec997e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameStateService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87b1b3bd429814f218de343c7d0a3936 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/ExtensionGameUnityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 957eee382cec44eb897d2e079bd71a31 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/UnsafeWorld.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e27ee9cf6187d48e8b4a756e0de81ff7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/WorldSystems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b24d61ffc130c4ae89cdfb3d24e8251d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Context.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03b703a8fabe64c379259de61504ac98 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Entity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efced1d38fb2c4932bd871ecfb03539b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Enum.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9dfcd2170bf6e423b8a7fadb70d68d9c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Event.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e670d3760641e49d48fcc141c5ae16d0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Filter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62af9078863df4f1990383bfb420c02d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_System.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16c58b893729945929e7ac7e9a912cca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Collision.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98ade301732a146c9a5a9583c29eae0d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Component.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93520b832913e4f58bd226533d622f79 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Service.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01a70fb44c65242cd9f9bfb80c06be47 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Interfaces/Status/IGameConstStateService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 107e6d1af89b148dfa0b2d8dc50ea62c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Interfaces/IEntityService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS; 2 | namespace Lockstep.UnsafeECS.Game { 3 | public unsafe partial interface IEntityService : Lockstep.Game.IService { 4 | void OnEntityCreated(Context context, Entity* entity); 5 | void OnEntityDestroy(Context context, Entity* pEntity); 6 | } 7 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Component.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4c427e061c8a46a89ab346d4c018854 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_EntityFuncs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ee75c816ffbe4a72ba6cc7ceba10d7d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_EntityView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab27cb2821e3448c2a6f997932ed3060 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Iterator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64a4c0a47e26f4de0af2e2d90a36ebd7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Schedule.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b323cda406a64ebd880748e913a997e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen__Default.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d63a7c94d35814e87ae08d8cd528fe85 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen__Entities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f2e94bd2230943db81e975e5a3b0cfa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated/CodeGen_EntityView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecb68d179068847e183d89e5cc8fa5b6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Service_Entity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55be325ed73984ed782c1c70539e65c3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Service_State.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672ac8e21c7bf4652b2d0613a00ab224 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Service_SystemExt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8696a9bda1ff749f8b3492993cb5e780 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Components.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89df8a28e5d5f4ab2a5527c897574a78 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Interfaces.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e428f627ab4a4dfeab290e204f0fc6e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Services.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4563ea9c14b314f088a03eb08dc15b21 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/UnsafeEcsFactoryService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67e4f9cb8b1fa49d8ac7f749869780eb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_Context_Interfaces.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ebfc39997e234e3f8a3ff3844567b7d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen_UpdateViewStateSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f17bb89728c04ce89a85e54fc2b73f3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/CodeGen__Entities_Interfaces.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bfebf4c6089046f1a0c7d345c384b48 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated/CodeGen_BaseUnityEntityService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 504c7739bdeb645c8a35ecfa54595452 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/RenderInfo.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Lockstep.Game { 4 | [System.Serializable] 5 | public class RenderInfo { 6 | public Mesh mesh; 7 | public Material mat; 8 | } 9 | [System.Serializable] 10 | public struct UnityPrefabInfo { 11 | public GameObject Prefab; 12 | public int AssetId; 13 | } 14 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/PureEntityService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS; 2 | 3 | namespace Lockstep.UnsafeECS.Game { 4 | public unsafe partial class PureEntityService : IEntityService { 5 | public virtual void OnEntityCreated(Context context, Entity* entity){ } 6 | public virtual void OnEntityDestroy(Context context, Entity* pEntity){ } 7 | } 8 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/BurstAotSettings_StandaloneOSX.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/GameViewConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace Lockstep.Game { 5 | [System.Serializable] 6 | public partial class GameViewConfig : UnityEngine.ScriptableObject { 7 | public const string ResPath = "Config/UnityGameViewConfig"; 8 | public List RenderInfos = new List(); 9 | } 10 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/Output/Csv/ConfigBullet.csv: -------------------------------------------------------------------------------- 1 | ServerDefine,,,,,,,,, 2 | ClientDefine,key,,,,,,,, 3 | Info,id,,,,,,,, 4 | Type,ushort,bool,bool,string,int,int,float,float, 5 | Name,asset,bullet_canDestoryIron,bullet_canDestoryGrass,unit_name,unit_health,unit_damage,move_moveSpd,move_maxMoveSpd, 6 | Value,2001,False,False,bullet0,1,1,12,12, 7 | ,2002,True,False,bullet1,1,2,12,12, 8 | ,2003,True,True,bullet2,2,2,12,12, 9 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/GlobalConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ../DataAndTools/Data/Client/ 5 | Data/ 6 | Data/ 7 | Data/ 8 | 9 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Service.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | 7 | namespace Lockstep.UnsafeECSDefine { 8 | public partial class GameStateService : IGameService{} 9 | public partial class GameConfigService : IGameService{} 10 | public partial class GameEventService : IGameService{} 11 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/WorldSystems.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.UnsafeECS; 3 | 4 | namespace Lockstep.UnsafeECS.Game { 5 | public partial class WorldSystems : Systems { 6 | public WorldSystems(Context contexts, IServiceContainer services, Systems logicFeature){ 7 | if (logicFeature != null) { 8 | Add(logicFeature); 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Service.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | 7 | namespace Lockstep.UnsafeECSDefine { 8 | public partial class GameStateService : IGameService{} 9 | public partial class GameConfigService : IGameService{} 10 | public partial class GameEventService : IGameService{} 11 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityEntityService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS.Game; 2 | using Unity.Transforms; 3 | using Entity = Lockstep.UnsafeECS.Entity; 4 | 5 | namespace Lockstep.Game { 6 | public unsafe partial class UnityEntityService : BaseUnityEntityService { 7 | public override void OnPlayerCubeCreated(Context context, PlayerCube* entity){} 8 | public override void OnPlayerCubeDestroy(Context context, PlayerCube* entity){} 9 | } 10 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Server.SimpleServer/Src/Server/HashCodeMatcher.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.FakeServer { 2 | public class HashCodeMatcher { 3 | public long hashCode; 4 | public bool[] sendResult; 5 | public int count; 6 | 7 | public HashCodeMatcher(int num){ 8 | hashCode = 0; 9 | sendResult = new bool[num]; 10 | count = 0; 11 | } 12 | 13 | public bool IsMatchered => count == sendResult.Length; 14 | } 15 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/System.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECSDefine; 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | //Input 6 | public class InputSystem : IPureSystem { 7 | public PlayerData PlayerData; 8 | public MoveData MoveData; 9 | public Transform3D Transform; 10 | } 11 | 12 | public class PlayerMoveSystem : IPureSystem { 13 | public Transform3D Transform3D; 14 | public MoveData MoveData; 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/System.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECSDefine; 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | //Input 6 | public class InputSystem : IPureSystem { 7 | public PlayerData PlayerData; 8 | public MoveData MoveData; 9 | public Transform3D Transform; 10 | } 11 | 12 | public class PlayerMoveSystem : IPureSystem { 13 | public Transform3D Transform3D; 14 | public MoveData MoveData; 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/CSTemplate.txt: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Lockstep.Serialization; 4 | using Lockstep.Math; 5 | 6 | namespace Lockstep.Game{ 7 | public partial class Table_#TableName : TableData 8 | { 9 | const string tableName = "#TableName"; 10 | public override string Name() { return tableName; } 11 | #PropertyDeclare 12 | 13 | protected override void DoParseData(Deserializer reader){#PropertyAssign 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/CopySourceFiles/Unity2Csproj.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__commment": "Copy file from pure csproj to unity dir", 4 | "srcDir": "../Src/Client.Unity/Assets/__DllSourceFiles/", 5 | "dstDir": "../Src/", 6 | "srcProjectDirs": [ 7 | "Common.Editor", 8 | "Common.View", 9 | "Common.Model", 10 | "Engine.View", 11 | "Engine.Editor", 12 | "Engine.LockstepEngine", 13 | "Game.View", 14 | "Game.Model", 15 | "Tools.UnsafeECS.ECdefine.Game" 16 | ], 17 | "sourceFileDir": "/Src" 18 | } 19 | ] -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Game.View.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Game.View", 3 | "references": [ 4 | "Engine.LockstepEngine", 5 | "Common.Model", 6 | "Common.UnsafeECS", 7 | "Engine.View", 8 | "Common.View", 9 | "Game.Model", 10 | "Unity.Entities", 11 | "Unity.Entities.Hybrid", 12 | "Unity.Mathematics", 13 | "Unity.Transforms", 14 | "Unity.Jobs", 15 | "Unity.Collections", 16 | "Unity.Burst" 17 | ], 18 | "allowUnsafeCode": true 19 | } 20 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Misc/ConfigData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Runtime.InteropServices; 3 | using Lockstep.Math; 4 | 5 | namespace Lockstep.UnsafeECS.Game { 6 | 7 | [System.Serializable] 8 | [StructLayout(LayoutKind.Sequential)] 9 | public struct ConfigPlayerInfo { 10 | public LVector3 Position; 11 | public LVector3 Forward; 12 | public LFloat Scale; 13 | public LFloat Deg; 14 | public int AssetId; 15 | public MoveData MoveData; 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/CopySourceFiles/Csproj2Unity.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__commment": "Copy file from pure csproj to unity dir", 4 | "srcDir": "../Src/", 5 | "dstDir": "../Src/Client.Unity/Assets/__DllSourceFiles/", 6 | "srcProjectDirs": [ 7 | "Common.Editor", 8 | "Common.View", 9 | "Common.Model", 10 | "Engine.View", 11 | "Engine.Editor", 12 | "Engine.LockstepEngine", 13 | "Game.View", 14 | "Game.View", 15 | "Game.Model", 16 | "Tools.UnsafeECS.ECdefine.Game" 17 | ], 18 | "sourceFileDir": "/Src" 19 | } 20 | ] -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/PingMono.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using Lockstep.Game; 4 | using Lockstep.Math; 5 | using UnityEngine; 6 | 7 | namespace Lockstep.Game { 8 | public class PingMono : UnityEngine.MonoBehaviour { 9 | [SerializeField] private int PingVal; 10 | private void OnGUI(){ 11 | PingVal = SimulatorService.Instance.PingVal; 12 | GUI.Label(new Rect(0, 0, 100, 100), $"Ping: {PingVal}ms Dealy: {SimulatorService.Instance.DelayVal}ms "); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Entity.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System.Collections.Generic; 4 | using Lockstep.UnsafeECSDefine; 5 | 6 | namespace Lockstep.UnsafeECSDefine { 7 | 8 | 9 | [EntityCount(2)] 10 | public partial class PlayerCube :IEntity,IBindViewEntity,IUpdateViewEntity{ 11 | public Transform3D Transform; 12 | public Prefab Prefab; 13 | public MoveData Move; 14 | public PlayerData Player; 15 | public PlayerCubeTag Tag; 16 | } 17 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Entity.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System.Collections.Generic; 4 | using Lockstep.UnsafeECSDefine; 5 | 6 | namespace Lockstep.UnsafeECSDefine { 7 | 8 | 9 | [EntityCount(2)] 10 | public partial class PlayerCube :IEntity,IBindViewEntity,IUpdateViewEntity{ 11 | public Transform3D Transform; 12 | public Prefab Prefab; 13 | public MoveData Move; 14 | public PlayerData Player; 15 | public PlayerCubeTag Tag; 16 | } 17 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Context_TempField.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Runtime.InteropServices; 3 | using Lockstep.Game; 4 | using Lockstep.Logging; 5 | using Lockstep.Math; 6 | using NetMsg.Common; 7 | using Unity.Collections; 8 | 9 | namespace Lockstep.UnsafeECS.Game { 10 | public unsafe partial class TempFields { 11 | public void OnDestroy(){ 12 | Clean(); 13 | } 14 | public void FramePrepare(){} 15 | 16 | public void FrameClearUp(){ 17 | Clean(); 18 | } 19 | private void Clean(){} 20 | } 21 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - Ground 17 | - Players 18 | - PostProcessing 19 | - Floor 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Systems/GameBaseSystem.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS; 2 | 3 | namespace Lockstep.UnsafeECS.Game { 4 | public abstract unsafe partial class GameBaseSystem : BaseSystem { 5 | protected TempFields _tempFields => _context.TempFields; 6 | } 7 | 8 | public abstract unsafe partial class GameJobSystem : BaseJobSystem { 9 | protected TempFields _tempFields => _context.TempFields; 10 | } 11 | 12 | public abstract partial class GameExecuteSystem :BaseExecuteSystem{ 13 | protected TempFields _tempFields => _context.TempFields; 14 | } 15 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Tools.UnsafeECS.ECDefine.Game.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v2.2", 4 | "signature": "da39a3ee5e6b4b0d3255bfef95601890afd80709" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v2.2": { 9 | "Tools.UnsafeECS.ECDefine.Game/1.0.0": { 10 | "runtime": { 11 | "Tools.UnsafeECS.ECDefine.Game.dll": {} 12 | } 13 | } 14 | } 15 | }, 16 | "libraries": { 17 | "Tools.UnsafeECS.ECDefine.Game/1.0.0": { 18 | "type": "project", 19 | "serviceable": false, 20 | "sha512": "" 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityMapService.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | [System.Serializable] 3 | public partial class UnityMapService : MapService { 4 | 5 | public override void DoStart(){ 6 | } 7 | 8 | public void OnEvent_SimulationAwake(object param){ 9 | LoadLevel(1); 10 | } 11 | 12 | protected void LoadLevel(int level){ 13 | EventHelper.Trigger(EEvent.LevelLoadProgress, 0.5f); 14 | EventHelper.Trigger(EEvent.LevelLoadProgress, 1f); 15 | EventHelper.Trigger(EEvent.LevelLoadDone, level); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Game.Model.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Game.Model", 3 | "references": [ 4 | "Engine.LockstepEngine", 5 | "Common.Model", 6 | "Common.UnsafeECS", 7 | "Unity.Entities", 8 | "Unity.Entities.Hybrid", 9 | "Unity.Mathematics", 10 | "Unity.Transforms", 11 | "Unity.Jobs", 12 | "Unity.Collections", 13 | "Unity.Burst" 14 | ], 15 | "allowUnsafeCode": true, 16 | "overrideReferences": false, 17 | "precompiledReferences": [], 18 | "autoReferenced": true, 19 | "defineConstraints": [], 20 | "versionDefines": [] 21 | } 22 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/ExcelParser.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/../ 4 | cd ./bin 5 | pwd 6 | echo "1.ExcelParser" 7 | mono Tools.ExcelParser.exe ../Config/ExcelParser/Config.json 8 | 9 | echo "2.Copy Source File" 10 | rm -rf ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/*.cs 11 | mkdir -p ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/ 12 | cp ../Config/ExcelParser/Output/CodeCS/*.cs ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/ 13 | rm -rf ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/Table_Assets.cs 14 | 15 | 16 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/UnityGameViewConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ce625fca54ee7448e83d49e11ee55e7a, type: 3} 13 | m_Name: UnityGameViewConfig 14 | m_EditorClassIdentifier: 15 | RenderInfos: [] 16 | skillEffectPrefab: {fileID: 5560203806037324126, guid: 06a930379e194436db1b5ce25e7704c2, 17 | type: 3} 18 | Pad: 0 19 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/EntityExt.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.InternalUnsafeECS { 2 | 3 | } 4 | 5 | namespace Lockstep.UnsafeECS { 6 | public static class EntityExt { 7 | public static Game.EEntityType EnumType(this EntityRef _this){ 8 | return (Game.EEntityType) _this._type; 9 | } 10 | public static Game.EEntityType EnumType(this Entity _this){ 11 | return (Game.EEntityType) _this._ref._type; 12 | } 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/ResScripts/UnityGameConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | using Lockstep.UnsafeECS.Game; 4 | using Lockstep.Util; 5 | using UnityEngine; 6 | 7 | namespace Lockstep.Game { 8 | [CreateAssetMenu(menuName = "GameConfig")] 9 | [System.Serializable] 10 | public partial class UnityGameConfig : UnityEngine.ScriptableObject { 11 | public GameConfig pureConfig = new GameConfig(); 12 | 13 | public static void SaveToJson(GameConfig config){ 14 | var json = JsonUtil.ToJson(config); 15 | File.WriteAllText(Application.dataPath + "/LockstepECS/Resources/Config/GameConfig.json", json); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Client/AssetPath.json: -------------------------------------------------------------------------------- 1 | { 2 | "10": "Prefabs/Tanks/Tank0", 3 | "11": "Prefabs/Tanks/Tank1", 4 | "12": "Prefabs/Tanks/Tank2", 5 | "13": "Prefabs/Tanks/Tank3", 6 | "14": "Prefabs/Tanks/Tank4", 7 | "20": "Prefabs/Items/ItemAddLife", 8 | "21": "Prefabs/Items/ItemBoom", 9 | "22": "Prefabs/Items/ItemUpgrade", 10 | "30": "Prefabs/Camp/Camp", 11 | "40": "Prefabs/Player/Player0", 12 | "41": "Prefabs/Player/Player1", 13 | "42": "Prefabs/Player/Player2", 14 | "43": "Prefabs/Player/Player3", 15 | "50": "Prefabs/Bullet/Bullet0", 16 | "51": "Prefabs/Bullet/Bullet1", 17 | "52": "Prefabs/Bullet/Bullet2", 18 | "60": "Prefabs/Effect/EffectBorn", 19 | "61": "Prefabs/Effect/EffectExplosion" 20 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/UpdateAndCodeGen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/../ 4 | cd ./bin 5 | pwd 6 | 7 | echo "...Update Project File" 8 | 9 | rm -rf ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ 10 | mkdir -p ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ 11 | cp -rf ../../../Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECdefine.Game/Src/ ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ 12 | find ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ -name "*.meta" |xargs rm -f 13 | 14 | dotnet msbuild /property:Configuration=Debug /p:WarningLevel=0 /verbosity:minimal ../Src/Tools.UnsafeECS.ECDefine.Game/Tools.UnsafeECS.ECDefine.Game.csproj 15 | 16 | echo "...Update Project File" 17 | ../Tools/UnsafeECSCodeGen -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/UpdateAndCodeGen_Win.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/../ 4 | cd ./bin 5 | pwd 6 | 7 | echo "...Update Project File" 8 | 9 | rm -rf ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ 10 | mkdir -p ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ 11 | cp -rf ../../../Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECdefine.Game/Src/ ../Src/Tools.UnsafeECS.ECdefine.Game/ 12 | find ../Src/Tools.UnsafeECS.ECdefine.Game/Src/ -name "*.meta" |xargs rm -f 13 | 14 | dotnet msbuild //property:Configuration=Debug //p:WarningLevel=0 //verbosity:minimal ../Src/Tools.UnsafeECS.ECDefine.Game/Tools.UnsafeECS.ECDefine.Game.csproj 15 | 16 | echo "...Update Project File" 17 | ../Tools/UnsafeECSCodeGen -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Services/UnsafeEcsFactoryService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.UnsafeECS.Game; 3 | using Lockstep.UnsafeECS; 4 | 5 | namespace Lockstep.UnsafeECS.Game { 6 | public class UnsafeEcsFactoryService : IECSFactoryService { 7 | private static Context _lastInstance; 8 | public object CreateSystems(object contexts, IServiceContainer services){ 9 | return new GameLogicSystems(contexts as Context,services) ; 10 | } 11 | 12 | public object CreateContexts(){ 13 | var ctx = _lastInstance == null ? Context.Instance : new Context(); 14 | _lastInstance = ctx; 15 | return ctx; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityGameAudioService.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Lockstep.Game { 4 | 5 | 6 | [System.Serializable] 7 | public class UnityGameAudioService : UnityGameService,IGameAudioService { 8 | private UnityAudioService _unityAudioSvc; 9 | private static string _audioConfigPath = "AudioConfig"; 10 | private AudioConfig _config = new AudioConfig(); 11 | 12 | void OnEvent_OnAllPlayerFinishedLoad(object param){ 13 | PlayMusicStart(); 14 | } 15 | 16 | public void PlayMusicBG(){ _audioService.PlayClip(_config.BgMusic); } 17 | public void PlayMusicStart(){ _audioService.PlayClip(_config.StartMusic); } 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/ExtensionGameUnityService.cs: -------------------------------------------------------------------------------- 1 | namespace Lockstep.Game { 2 | 3 | public partial class GameService :BaseGameService{ 4 | protected IGameStateService _gameStateService; 5 | protected IGameConfigService _gameConfigService; 6 | protected IGameResourceService _gameResourceService; 7 | 8 | protected override void OnInitReference(IServiceContainer serviceContainer, IManagerContainer mgrContainer){ 9 | 10 | _gameStateService = serviceContainer.GetService(); 11 | _gameConfigService = serviceContainer.GetService(); 12 | _gameResourceService = serviceContainer.GetService(); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/GameResourceService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using Lockstep.Game; 5 | using UnityEngine; 6 | 7 | namespace Lockstep.Game { 8 | public class GameResourceService : GameService, IGameResourceService { 9 | public string pathPrefix = "Prefabs/"; 10 | 11 | private Dictionary _id2Prefab = new Dictionary(); 12 | 13 | public object LoadPrefab(int id){ 14 | return _LoadPrefab(id); 15 | } 16 | 17 | GameObject _LoadPrefab(int id){ 18 | if (_id2Prefab.TryGetValue(id, out var val)) { 19 | return val; 20 | } 21 | 22 | return null; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------- 2 | QUICK START 3 | ------------------------------------------------------------- 4 | 1. ClientMode :Open Scene LockstepECS/Example/Demo_Cube and Run it; 5 | 2. NetworkingMode : 6 | UnCompress the DataAndTools.zip In dir Application.dataPath/../ 7 | 8 | 9 | ------------------------------------------------------------- 10 | USER SUPPORT 11 | ------------------------------------------------------------- 12 | If you have any problem with LockstepECS, 13 | you can send me a email 14 | 2314215231@qq.com 15 | 16 | 17 | ------------------------------------------------------------- 18 | Thanks for using LockstepECS! 19 | https://github.com/JiepengTan/LockstepECS_Document 20 | ------------------------------------------------------------- -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/ICSharpCode.SharpZipLib.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75fb6ca3238804c21b0cc0d5e50d0bf1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.Model.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aeb9e7e0917ba456caccc847ff1a4896 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.View.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4df84736490574df6ad566a178c2aaf9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.View.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a422430f97c6941eeadf60fb256db677 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Common.UnsafeECS.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce78813a159d14cd980bd2a1487e17c1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Common.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 937eb1d1ec9e64892aab8d030d621cd9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Editor/Engine.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6f6791a2443d4630a9ea067fab46324 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Plugins/LockstepEngine/Engine.LockstepEngine.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fed6b65838a874d149f6cdd669f3ff0e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Component.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | using Lockstep.Math; 5 | 6 | namespace Lockstep.UnsafeECSDefine { 7 | 8 | public partial class PlayerCubeTag : IGameComponent { 9 | public int Pad; 10 | } 11 | 12 | public partial class AssetData : IGameComponent { 13 | public int AssetId; 14 | } 15 | 16 | public partial class PlayerData : IGameComponent { 17 | public int Score; 18 | public int LocalId; 19 | } 20 | public partial class MoveData : IGameComponent { 21 | public float MoveSpd; 22 | public float AcceleratedSpd; 23 | public float CurSpd; 24 | public float AngularSpd; 25 | public float DeltaDeg; 26 | } 27 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Component.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using Lockstep.UnsafeECSDefine; 4 | using Lockstep.Math; 5 | 6 | namespace Lockstep.UnsafeECSDefine { 7 | 8 | public partial class PlayerCubeTag : IGameComponent { 9 | public int Pad; 10 | } 11 | 12 | public partial class AssetData : IGameComponent { 13 | public int AssetId; 14 | } 15 | 16 | public partial class PlayerData : IGameComponent { 17 | public int Score; 18 | public int LocalId; 19 | } 20 | public partial class MoveData : IGameComponent { 21 | public float MoveSpd; 22 | public float AcceleratedSpd; 23 | public float CurSpd; 24 | public float AngularSpd; 25 | public float DeltaDeg; 26 | } 27 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/GameLogicSystems.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.UnsafeECS; 3 | 4 | namespace Lockstep.UnsafeECS.Game { 5 | public class GameLogicSystems : Systems { 6 | public GameLogicSystems(Context contexts, IServiceContainer services){ 7 | //Init 8 | { 9 | Add(new InitSystem().Init(contexts, services)); 10 | } 11 | //Input 12 | { 13 | Add(new InputSystem().Init(contexts, services)); 14 | } 15 | //Update 16 | { 17 | // 18 | Add(new PlayerMoveSystem().Init(contexts, services)); 19 | } 20 | //Clean 21 | { 22 | //Add(new DestroySystem().Init(contexts, services)); 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 8 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 1 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 0 16 | m_EtcTextureFastCompressor: 2 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 5 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_ShowLightmapResolutionOverlay: 1 27 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/State/GameStateService.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.Math; 3 | 4 | namespace Lockstep.Game { 5 | public partial class GameStateService : BaseService { 6 | public override void DoStart(){ 7 | base.DoStart(); 8 | IsGameOver = false; 9 | } 10 | 11 | public void OnEvent_LevelLoadDone(object param){ 12 | var level = (int) param; 13 | IsGameOver = false; 14 | _globalStateService.CurLevel = level; 15 | } 16 | 17 | public void OnEvent_SimulationStart(object param){ 18 | IsPlaying = true; 19 | } 20 | 21 | private void GameFalied(){ 22 | IsGameOver = true; 23 | ShowMessage("Game Over!!"); 24 | } 25 | 26 | private void GameWin(){ 27 | IsGameOver = true; 28 | } 29 | 30 | void ShowMessage(string msg){ } 31 | } 32 | } -------------------------------------------------------------------------------- /Client.Unity/.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Ll]og/ 5 | [Ll]ogs/ 6 | [Bb]uild/ 7 | [Bb]uilds/ 8 | CoreEditor/ 9 | __ECSOutput/ 10 | Assets/AssetStoreTools* 11 | [Aa]ssets/StreamingAssets/ 12 | [Aa]ssets/TempRes 13 | [Aa]ssets/LockstepECS/Plugins/Editor/JetBrains/ 14 | [Aa]ssets/Plugins/Editor/JetBrains/ 15 | [Aa]ssets/Plugins/Game/ 16 | [Aa]ssets/Plugins/Entitas/ 17 | [Aa]ssets/Plugins/LockstepEngine/ 18 | Packages/SharpZipLib.1.2.0/ 19 | .idea/ 20 | #不要重复提交相同的Dlls 21 | # Visual Studio cache directory 22 | .vs/ 23 | # Autogenerated VS/MD/Consulo solution and project files 24 | ExportedObj/ 25 | .consulo/ 26 | *.unityproj 27 | *.suo 28 | *.tmp 29 | *.sln 30 | *.csproj 31 | *.user 32 | *.userprefs 33 | *.pidb 34 | *.booproj 35 | *.svd 36 | *.pdb 37 | *.opendb 38 | 39 | # Unity3D generated meta files 40 | *.pidb.meta 41 | *.pdb.meta 42 | 43 | # Unity3D Generated File On Crash Reports 44 | sysinfo.txt 45 | 46 | # Builds 47 | *.apk 48 | *.unitypackage 49 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/State/GameConfigService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using Lockstep.ECS; 5 | using Lockstep.Math; 6 | using Lockstep.Serialization; 7 | using Lockstep.Util; 8 | using NetMsg.Common; 9 | using UnityEngine; 10 | using Lockstep.Game; 11 | 12 | namespace Lockstep.Game { 13 | [System.Serializable] 14 | public partial class GameConfigService : BaseService { 15 | [NonSerialized] private GameConfig _curState; 16 | public LFloat DeltaTime => new LFloat(null,NetworkDefine.UPDATE_DELTATIME); 17 | public override void DoAwake(IServiceContainer services){ 18 | var text = UnityEngine.Resources.Load("Config/GameConfig").text; 19 | _curState = JsonUtil.ToObject(text); 20 | _globalStateService.GameStartInfo = _curState.ClientModeInfo; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/Context.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Game; 3 | using Lockstep.Logging; 4 | using Lockstep.Math; 5 | using Lockstep.Serialization; 6 | using Lockstep.UnsafeECS; 7 | using NetMsg.Common; 8 | 9 | namespace Lockstep.UnsafeECS.Game { 10 | public unsafe partial class Context { 11 | public PlayerCube PlayerInfo => 12 | _entities._PlayerCubeAry._EntityAry[GetService().LocalActorId]; 13 | 14 | public PlayerCube GetPlayerInfo(int localActorId){ 15 | return _entities._PlayerCubeAry._EntityAry[localActorId]; 16 | } 17 | 18 | protected override void OnAwake(){ } 19 | 20 | protected override void OnDestroy(){ 21 | Debug.LogError("Destoryed !"); 22 | } 23 | 24 | protected override void OnProcessInputQueue(byte actorId, InputCmd cmd){ 25 | TempFields.InputCmds[actorId] = cmd; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 1 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/MainScript.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Xml; 4 | using Lockstep.Game; 5 | using Lockstep.Game.UI; 6 | using Lockstep.Network; 7 | using Lockstep.UnsafeECS; 8 | using Lockstep.UnsafeECS.Game; 9 | using UnityEngine; 10 | 11 | public class MainScript : BaseMainScript { 12 | protected override ServiceContainer CreateServiceContainer(){ 13 | return new UnityServiceContainer(); 14 | } 15 | 16 | protected override object CreateWorld(IServiceContainer services, object contextsObj, object logicFeatureObj){ 17 | return new UnsafeWorld(services, contextsObj, logicFeatureObj); 18 | } 19 | 20 | public string Ip = "127.0.0.1"; 21 | public ushort port = 10083; 22 | protected override void Awake(){ 23 | NetClient.serverIpPoint = NetworkUtil.ToIPEndPoint(Ip, port); 24 | base.Awake(); 25 | gameObject.AddComponent(); 26 | gameObject.AddComponent(); 27 | Screen.SetResolution(1024, 768, false); 28 | } 29 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Server.SimpleServer/Server.SimpleServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netcoreapp2.2 4 | true 5 | Exe 6 | 7 | 8 | false 9 | 10 | 11 | ../../bin/ 12 | 13 | 14 | ../../bin/ 15 | 16 | 17 | 18 | 19 | 20 | 21 | ..\..\bin\Pure.Engine.LockstepEngine.dll 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Tools/UnsafeECSCodeGen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)" 3 | cd $dir/../ 4 | cd ./bin 5 | pwd 6 | echo "...Update Project File" 7 | mono Tools.UnsafeECSGenerator.dll ../Config/UnsafeECSGenerator/ModelConfig.json 8 | mono Tools.UnsafeECSGenerator.dll ../Config/UnsafeECSGenerator/ViewConfig.json 9 | 10 | pwd 11 | 12 | echo "...Update Project File" 13 | ../Tools/UpdateProjectFile 14 | 15 | # copy to unity 16 | rm -rf ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/ 17 | mkdir -p ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/ 18 | cp -rf ../Src/Tools.UnsafeECS.ECSOutput/Src/Generated/Model/* ../../Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__UnsafeECS/Generated/ 19 | 20 | 21 | rm -rf ../../Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated/ 22 | mkdir -p ../../Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated/ 23 | cp -rf ../Src/Tools.UnsafeECS.ECSOutput/Src/Generated/View/* ../../Assets/LockstepECS/__DllSourceFiles/Game.View/Src/__UnsafeECS/Generated/ -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/bin/Server.SimpleServer.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v2.2", 4 | "signature": "da39a3ee5e6b4b0d3255bfef95601890afd80709" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v2.2": { 9 | "Server.SimpleServer/1.0.0": { 10 | "dependencies": { 11 | "Pure.Engine.LockstepEngine": "1.0.0.0" 12 | }, 13 | "runtime": { 14 | "Server.SimpleServer.dll": {} 15 | } 16 | }, 17 | "Pure.Engine.LockstepEngine/1.0.0.0": { 18 | "runtime": { 19 | "Pure.Engine.LockstepEngine.dll": { 20 | "assemblyVersion": "1.0.0.0", 21 | "fileVersion": "1.0.0.0" 22 | } 23 | } 24 | } 25 | } 26 | }, 27 | "libraries": { 28 | "Server.SimpleServer/1.0.0": { 29 | "type": "project", 30 | "serviceable": false, 31 | "sha512": "" 32 | }, 33 | "Pure.Engine.LockstepEngine/1.0.0.0": { 34 | "type": "reference", 35 | "serviceable": false, 36 | "sha512": "" 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/Editor/EditorMainScript.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Math; 2 | using Lockstep.Game; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | [CustomEditor(typeof(MonoProxyMainScript))] 7 | public class EditorMainScript : Editor { 8 | private MonoProxyMainScript owner; 9 | public int rollbackTickCount = 60; 10 | 11 | public override void OnInspectorGUI(){ 12 | base.OnInspectorGUI(); 13 | owner = target as MonoProxyMainScript; 14 | if (!owner.HasInit ) return; 15 | var world = ((owner.GetService()) as SimulatorService)?.World; 16 | EditorGUILayout.LabelField("CurTick " + world.Tick); 17 | rollbackTickCount = EditorGUILayout.IntField("RollbackTickCount", rollbackTickCount); 18 | if (GUILayout.Button("Rollback")) { 19 | ((owner.GetService()) as SimulatorService).__debugRockbackToTick = 20 | world.Tick - rollbackTickCount; 21 | } 22 | 23 | if (GUILayout.Button("Resume")) { 24 | owner.GetService().IsPause = false; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/GameConfig.json: -------------------------------------------------------------------------------- 1 | {"RelPath":"","RecorderFilePath":"","DumpStrPath":"","MaxPlayerCount":2,"CollisionConfig":{"scrollPos":{"x":{"_val":0},"y":{"_val":0},"_x":0,"_y":0},"isShow":false,"collisionMatrix":[false,false,false,false,false,false,false,false,false],"pos":{"x":{"_val":0},"y":{"_val":0},"z":{"_val":0},"_x":0,"_y":0,"_z":0},"worldSize":{"_val":60000000},"minNodeSize":{"_val":1000000},"loosenessval":{"_val":1250000},"ColliderDataRelFilePath":"","percent":{"_val":100000},"count":100,"showTreeId":0},"ClientModeInfo":{"LocalId":0,"UserCount":1,"MapId":0,"RoomId":0,"Seed":0,"UserInfos":[{"Username":"TestClient","UserId":0,"Datas":[],"_Username":"TestClient","_UserId":0,"_Datas":[]}],"UdpEnd":{"Ip":"","Port":0},"TcpEnd":{"Ip":"","Port":0},"SimulationSpeed":0},"PlayerInfos":[{"Position":{"x":{"_val":0},"y":{"_val":0},"z":{"_val":0},"_x":0,"_y":0,"_z":0},"Forward":{"x":{"_val":0},"y":{"_val":0},"z":{"_val":1000000},"_x":0,"_y":0,"_z":1000000},"Scale":{"_val":1000000},"Deg":{"_val":0},"AssetId":1,"MoveData":{"MoveSpd":{"_val":3000000},"AcceleratedSpd":{"_val":5000000},"CurSpd":{"_val":3000000},"AngularSpd":{"_val":80000000},"DeltaDeg":{"_val":0}}}]} -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Status.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | using Lockstep.Serialization; 7 | 8 | namespace Lockstep.UnsafeECSDefine { 9 | public class CollisionConfig { } 10 | public class Msg_G2C_GameStartInfo { } 11 | public class ConfigPlayerInfo{} 12 | public partial class GameStateService : IServiceState,IGameStateService { 13 | // states 14 | public bool IsPlaying; 15 | public bool IsGameOver; 16 | public byte LocalEntityId; 17 | 18 | // volatile states 19 | public int CurScore; 20 | } 21 | 22 | public partial class GameConfigService : IServiceState,IGameConfigService { 23 | public string RelPath; 24 | public string RecorderFilePath; 25 | public string DumpStrPath; 26 | 27 | public int MaxPlayerCount; 28 | 29 | public CollisionConfig CollisionConfig; 30 | public Msg_G2C_GameStartInfo ClientModeInfo; 31 | public List PlayerInfos; 32 | } 33 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Input/InputSystem.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Collision2D; 2 | using Lockstep.Game; 3 | using Lockstep.Math; 4 | using Lockstep.Serialization; 5 | 6 | namespace Lockstep.UnsafeECS.Game { 7 | public unsafe partial class InputSystem : GameExecuteSystem { 8 | public void Execute( 9 | ref PlayerData playerData, 10 | ref MoveData moveData, 11 | ref Transform3D transform3D 12 | ){ 13 | if (_tempFields.InputCmds.TryGetValue(playerData.LocalId, out var cmd)) { 14 | var input = new Deserializer(cmd.content).Parse(); 15 | moveData.DeltaDeg = (int)(short)input.Deg; 16 | } 17 | else { 18 | moveData.DeltaDeg = 0; 19 | } 20 | } 21 | 22 | private LFloat _deltaTime; 23 | protected override bool BeforeSchedule(){ 24 | _deltaTime = _globalStateService.DeltaTime; 25 | return true; 26 | } 27 | protected override void AfterSchedule(bool isSucc){ 28 | _tempFields.InputCmds.Clear(); 29 | } 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/Unsafe/Status.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | using Lockstep.Serialization; 7 | 8 | namespace Lockstep.UnsafeECSDefine { 9 | public class CollisionConfig { } 10 | public class Msg_G2C_GameStartInfo { } 11 | public class ConfigPlayerInfo{} 12 | public partial class GameStateService : IServiceState,IGameStateService { 13 | // states 14 | public bool IsPlaying; 15 | public bool IsGameOver; 16 | public byte LocalEntityId; 17 | 18 | // volatile states 19 | public int CurScore; 20 | } 21 | 22 | public partial class GameConfigService : IServiceState,IGameConfigService { 23 | public string RelPath; 24 | public string RecorderFilePath; 25 | public string DumpStrPath; 26 | 27 | public int MaxPlayerCount; 28 | 29 | public CollisionConfig CollisionConfig; 30 | public Msg_G2C_GameStartInfo ClientModeInfo; 31 | public List PlayerInfos; 32 | } 33 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/InputMono.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Collision2D; 2 | using Lockstep.Game; 3 | using Lockstep.Math; 4 | using UnityEngine; 5 | using Debug = Lockstep.Logging.Debug; 6 | 7 | namespace Lockstep.Game { 8 | public class InputMono : UnityEngine.MonoBehaviour { 9 | private static bool IsReplay => Launcher.Instance?.IsVideoMode ?? false; 10 | public ushort skillId; 11 | public ushort deg; 12 | public void Update(){ 13 | if (World.Instance != null && !IsReplay) { 14 | var dir = 0; 15 | if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { 16 | dir = 1; 17 | } 18 | else if (Input.GetKey(KeyCode.A)|| Input.GetKey(KeyCode.LeftArrow)) { 19 | dir = -1; 20 | } 21 | skillId = (ushort)(Input.GetKey(KeyCode.Space) ? 1 :0); 22 | 23 | GameInputService.CurGameInput = new PlayerInput() { 24 | SkillId = skillId, 25 | Deg = (ushort)(short)dir 26 | }; 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Logic/PlayerMoveSystem.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Math; 2 | using UnityEngine; 3 | using Debug = Lockstep.Logging.Debug; 4 | 5 | namespace Lockstep.UnsafeECS.Game { 6 | public unsafe partial class PlayerMoveSystem : GameExecuteSystem { 7 | private LFloat _deltaTime; 8 | 9 | protected override bool BeforeSchedule(){ 10 | //assign jobData info 11 | _deltaTime = _globalStateService.DeltaTime; 12 | return true; 13 | } 14 | 15 | public void Execute(ref Transform3D transform3D, 16 | ref MoveData moveData){ 17 | var deg = transform3D.Deg + (moveData.DeltaDeg * _deltaTime) * moveData.AngularSpd; 18 | LFloat s, c; 19 | var ccwDeg = (-deg + 90); 20 | LMath.SinCos(out s, out c, LMath.Deg2Rad * ccwDeg); 21 | var ford = new LVector3(c, 0, s); 22 | transform3D.Forward = ford; 23 | var scale = 1 + transform3D.Scale * new LFloat(null, 200); 24 | transform3D.Position += transform3D.Forward * 25 | (_deltaTime * ((moveData.MoveSpd) * scale)); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/EntityViews/EntityViewBoidObstacle.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using Lockstep.Serialization; 3 | using System.Runtime.InteropServices; 4 | using System.Runtime.CompilerServices; 5 | using System; 6 | using Lockstep.InternalUnsafeECS; 7 | using System.Collections; 8 | using Lockstep.Math; 9 | using System.Collections.Generic; 10 | using Lockstep.Game; 11 | using Lockstep.Logging; 12 | using Lockstep.Util; 13 | using UnityEngine; 14 | 15 | namespace Lockstep.UnsafeECS.Game { 16 | public unsafe partial class EntityViewPlayerCube : BaseEntityView { 17 | private GameObject skillGo; 18 | static Dictionary _playerId2View = new Dictionary(); 19 | 20 | public static EntityViewPlayerCube GetView(int playerId){ 21 | if (_playerId2View.TryGetValue(playerId, out var view)) 22 | return view; 23 | return null; 24 | } 25 | public override void OnBindEntity(){ 26 | _playerId2View[_cloneEntity.Player.LocalId] = this; 27 | } 28 | public override void OnUnbindEntity(){ 29 | _playerId2View.Remove(_cloneEntity.Player.LocalId); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Systems/Init/InitSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Math; 3 | using UnityEngine; 4 | using Debug = Lockstep.Logging.Debug; 5 | 6 | namespace Lockstep.UnsafeECS.Game { 7 | public unsafe class InitSystem : GameBaseSystem, IInitializeSystem { 8 | public void Initialize(IContext context){ 9 | _context.HasInit = true; 10 | var config = _gameConfigService; 11 | int playerId = 0; 12 | var count = _globalStateService.ActorCount; 13 | for (int i = 0; i < count; i++) { 14 | var obstacleInfo = config.PlayerInfos[i % config.PlayerInfos.Count]; 15 | var entity = _context.PostCmdCreatePlayerCube(); 16 | entity->Transform.Position = obstacleInfo.Position; 17 | entity->Transform.Forward = obstacleInfo.Forward; 18 | entity->Transform.Scale = obstacleInfo.Scale; 19 | entity->Move = obstacleInfo.MoveData; 20 | entity->Prefab.AssetId = obstacleInfo.AssetId; 21 | entity->Player.LocalId = playerId++; // 22 | Debug.Log("Create ObstacleInfos " + entity->Player.LocalId); 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Services/UnityMap2DService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Math; 3 | using UnityEngine; 4 | 5 | namespace Lockstep.Game { 6 | [System.Serializable] 7 | public partial class UnityMap2DService : BaseMap2DService { 8 | [SerializeField] public Grid grid { get; private set; } 9 | public List enemyBornPoints { get; private set; } 10 | public List playerBornPoss { get; private set; } 11 | public LVector2 campPos { get; private set; } 12 | 13 | public override void DoStart(){ 14 | base.DoStart(); 15 | if (grid == null) { 16 | grid = GameObject.FindObjectOfType(); 17 | } 18 | } 19 | 20 | void OnEvent_SimulationAwake(object param){ 21 | LoadLevel(1); 22 | } 23 | 24 | protected override void OnLoadLevel(int level, GridInfo gridInfo){ 25 | UnityMap2DUtil.CheckLoadTileIDMap(); 26 | 27 | EventHelper.Trigger(EEvent.LevelLoadProgress, 0.5f); 28 | UnityMap2DUtil.BindMapView(grid, gridInfo); 29 | EventHelper.Trigger(EEvent.LevelLoadProgress, 1f); 30 | EventHelper.Trigger(EEvent.LevelLoadDone, level); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/UnsafeECSGenerator/MacroDefine.json: -------------------------------------------------------------------------------- 1 | { 2 | "#REF": "typeof IRef", 3 | "#ENUM": "typeof IEnum", 4 | "#COLLISION": "typeof ICollision", 5 | "#ASSET": "typeof IAsset", 6 | "#ENTITY": "typeof IEntity; use(#ALL_SIZE,#SIZE)", 7 | "#VIEW_ENTITY": "typeof IBindViewEntity" , 8 | "#UPDATE_VIEW_ENTITY": "typeof IUpdateViewEntity" , 9 | "#COMPONENT": "typeof IComponent", 10 | "#GAME_COMPONENT": "typeof IGameComponent", 11 | "#FIELDS": "typeof IFields", 12 | "#SIGNAL": "typeof ISignal", 13 | "#EVENT": "typeof IEvent", 14 | "#BITSET": "typeof IBitset; use(#SIZE_OF_BITSET)", 15 | "#BUILDIN_COMPS": "call GetBuildInComponents", 16 | "#GET_ALL_FIELDS_NAME": "call GetAllFieldsName", 17 | "#SYSTEM": "typeof ISystem", 18 | "#PURE_SYSTEM": "typeof IPureSystem", 19 | "#JOB_SYSTEM": "typeof IJobSystem", 20 | "#JOB_HASH_MAP_SYSTEM": "typeof IJobHashMapSystem" , 21 | "#SERVICE_STATE": "typeof IServiceState", 22 | "#SERVICE_CONFIG": "typeof IGameConfigService", 23 | "#SERVICE_CONST_STATE": "typeof IGameConstStateService", 24 | "#SERVICE_GAME_STATE": "typeof IGameStateService", 25 | "#BUILD_IN_SERVICE": "typeof IBuildInService", 26 | "#NEED_SERVICE_PROPERTY": "typeof INeedServiceProperty", 27 | "#GAME_SERVICE": "typeof IGameService", 28 | "#CAN_RAISE_EVENT": "typeof ICanRaiseEvent" 29 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/UnityServiceContainer.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.UnsafeECS.Game; 3 | 4 | 5 | public class UnityServiceContainer : BaseGameServicesContainer { 6 | public UnityServiceContainer() : base(){ 7 | 8 | //basic service 9 | RegisterService(new RandomService()); 10 | RegisterService(new IdService()); 11 | RegisterService(new GlobalStateService()); 12 | RegisterService(new SimulatorService()); 13 | RegisterService(new NetworkService()); 14 | //RegisterService(new ResService()); 15 | RegisterService(new UnsafeEcsFactoryService()); 16 | //Code Gen service 17 | RegisterService(new GameStateService()); 18 | RegisterService(new GameConfigService()); 19 | 20 | // game services 21 | RegisterService(new GameResourceService()); 22 | RegisterService(new GameInputService()); 23 | 24 | // unity service 25 | RegisterService(new UnityEntityService()); 26 | RegisterService(new UnityEffectService()); 27 | RegisterService(new UnityAudioService()); 28 | RegisterService(new UnityGameEffectService()); 29 | RegisterService(new UnityGameAudioService()); 30 | RegisterService(new UnityMapService()); 31 | } 32 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Server.SimpleServer/Src/Server/Player.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Network; 2 | using Lockstep.Util; 3 | using NetMsg.Common; 4 | 5 | 6 | namespace Lockstep.FakeServer { 7 | public class Player : BaseRecyclable { 8 | public long UserId; 9 | public string Account; 10 | public string LoginHash; 11 | public byte LocalId; 12 | public Session PeerTcp; 13 | public Session PeerUdp; 14 | public Game Game; 15 | public GameData GameData; 16 | public int GameId => Game?.GameId ?? -1; 17 | 18 | public void OnLeave(){ 19 | PeerTcp = null; 20 | PeerUdp = null; 21 | } 22 | 23 | public void SendTcp(EMsgSC type, BaseMsg msg){ 24 | PeerTcp?.Send(0x00, (ushort) type, msg.ToBytes()); 25 | } 26 | 27 | public void SendTcp(EMsgSC type, byte[] data){ 28 | PeerTcp?.Send(0x00, (ushort) type, data); 29 | } 30 | 31 | public void SendUdp(EMsgSC type, byte[] data){ 32 | PeerUdp?.Send(0x00, (ushort) type, data); 33 | } 34 | public void SendUdp(EMsgSC type, BaseMsg msg){ 35 | PeerUdp?.Send(0x00, (ushort) type, msg.ToBytes()); 36 | } 37 | 38 | public override void OnRecycle(){ 39 | PeerTcp = null; 40 | PeerUdp = null; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/GameStateMono.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS.Game; 2 | using UnityEngine; 3 | 4 | namespace Lockstep.Game { 5 | [ExecuteInEditMode] 6 | public class GameStateMono : UnityEngine.MonoBehaviour { 7 | GUIStyle myStyle = new GUIStyle(); 8 | GUIStyle otherStyle = new GUIStyle(); 9 | private void Start(){ 10 | myStyle.fontSize = 40; 11 | myStyle.normal.textColor = new Color(46f/256f, 163f/256f, 256f/256f, 256f/256f); 12 | otherStyle.fontSize = 30; 13 | otherStyle.normal.textColor = new Color(46f/256f, 12f/256f, 256f/256f, 256f/256f); 14 | } 15 | 16 | private void OnGUI(){ 17 | if(!Application.isPlaying) return; 18 | int offset = 50; 19 | var context = Context.Instance; 20 | var svc = context.GetService(); 21 | if(svc == null ) return; 22 | 23 | for (int i = 0; i < svc.ActorCount; i++) { 24 | GUI.Label(new Rect(0, offset, 100, 50), $"Score: {Context.Instance.GetPlayerInfo(i).Player.Score}",svc.LocalActorId == i ? myStyle:otherStyle ); 25 | offset += 50; 26 | } 27 | 28 | GUI.Label(new Rect(0, offset, 100, 50), $"Count: {GameStateService.Instance.CurScore}"); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Scripts/CameraMono.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.UnsafeECS.Game; 2 | using Unity.Mathematics; 3 | using UnityEngine; 4 | 5 | 6 | namespace Lockstep.Game{ 7 | public class CameraMono : MonoBehaviour { 8 | public Transform targetTrans; 9 | public Vector3 scaleOffset; 10 | public Vector3 offset; 11 | public float fogStartDist = 20; 12 | public float fogDistScale = 1.5f; 13 | 14 | public float lerpSpd = 1; 15 | public float xRote = 11; 16 | private void Update(){ 17 | if (!Context.Instance.HasInit) { 18 | return; 19 | } 20 | 21 | if (targetTrans == null) { 22 | var id =GlobalStateService.Instance.LocalActorId; 23 | var view = EntityViewPlayerCube.GetView(id); 24 | targetTrans = view?.transform; 25 | } 26 | if(targetTrans == null) return; 27 | var offsetScale = targetTrans.localScale.x; 28 | var pos = targetTrans.TransformPoint(offset + offsetScale * scaleOffset); 29 | transform.position = pos; 30 | transform.rotation =transform.rotation; 31 | if (targetTrans != null) { 32 | if (transform.parent != targetTrans) { 33 | transform.SetParent(targetTrans,true); 34 | } 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_DefaultMaxAngularSpeed: 7 36 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECSOutput/Tools.UnsafeECS.ECSOutput.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netcoreapp2.2 4 | true 5 | Tools.UnsafeECS.ECSOutput 6 | latest 7 | 8 | 9 | 10 | False 11 | 12 | 13 | 14 | false 15 | 16 | 17 | ../../bin/ 18 | 19 | 20 | ../../bin/ 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\bin\Tools.MacroExpansion.dll 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Tools.UnsafeECS.ECDefine.Game.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netcoreapp2.2 4 | true 5 | Tools.UnsafeECS.ECDefine.Game 6 | Tools.UnsafeECS.ECdefine.Game 7 | 40 8 | D:\Projects\Release_LockstepECS\Client.Unity\DataAndTools\Src\Tools.UnsafeECS.ECDefine.Game\Backup\ 9 | 2.0 10 | 11 | 12 | 13 | False 14 | 15 | 16 | 17 | false 18 | 19 | 20 | ../../bin/ 21 | 22 | 23 | ../../bin/ 24 | 25 | 26 | 27 | ..\..\bin\Pure.Engine.LockstepEngine.dll 28 | 29 | 30 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Misc/PlayerInput.cs: -------------------------------------------------------------------------------- 1 | 2 | using Lockstep.Math; 3 | using Lockstep.Serialization; 4 | 5 | namespace Lockstep.Game { 6 | public partial class PlayerInput : BaseFormater,IBaseComponent { 7 | public static PlayerInput Empty = new PlayerInput(); 8 | public ushort Deg; 9 | public ushort SkillId; 10 | 11 | public override bool Equals(object obj){ 12 | if (ReferenceEquals(this,obj)) return true; 13 | var other = obj as PlayerInput; 14 | return Equals(other); 15 | } 16 | 17 | public override void Serialize(Serializer writer){ 18 | writer.Write(Deg); 19 | writer.Write(SkillId); 20 | } 21 | 22 | public void Reset(){ 23 | Deg = 0; 24 | SkillId = 0; 25 | } 26 | 27 | public override void Deserialize(Deserializer reader){ 28 | Deg = reader.ReadUInt16(); 29 | SkillId = reader.ReadUInt16(); 30 | } 31 | 32 | 33 | public bool Equals(PlayerInput other){ 34 | if (other == null) return false; 35 | if (Deg != other.Deg) return false; 36 | if (SkillId != other.SkillId) return false; 37 | return true; 38 | } 39 | 40 | public PlayerInput Clone(){ 41 | var tThis = this; 42 | return new PlayerInput() { 43 | SkillId = tThis.SkillId, 44 | Deg = tThis.Deg, 45 | }; 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Components.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | /// BuildIn Service 6 | public interface IBuildInService{} 7 | /// 需要进行Service 属性展开的类型 8 | public interface INeedServiceProperty{} 9 | public interface ICanRaiseEvent{} 10 | public interface IBuildInComponent : IComponent { } 11 | 12 | 13 | 14 | public class CollisionShape { } 15 | 16 | 17 | public class Animator : IBuildInComponent { 18 | public int Pad; 19 | } 20 | 21 | public class CollisionAgent : IBuildInComponent { 22 | public CollisionShape Collider; 23 | public bool IsTrigger; 24 | public int Layer; 25 | public bool IsEnable; 26 | [NoExcel] public bool IsSleep; 27 | public float Mass; 28 | public float AngularSpeed; 29 | public Vector3 Speed; 30 | } 31 | 32 | public class NavMeshAgent : IBuildInComponent { 33 | public int Pad; 34 | } 35 | 36 | public class Prefab : IBuildInComponent { 37 | public int AssetId; 38 | } 39 | 40 | public class Transform2D : IBuildInComponent { 41 | public Vector2 Position; 42 | public float Deg; 43 | public float Scale; 44 | 45 | } 46 | 47 | public class Transform3D : IBuildInComponent { 48 | public Vector3 Position; 49 | public Vector3 Forward; 50 | public float Scale; 51 | } 52 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Server.SimpleServer/Src/ServerLauncher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using Lockstep.Logging; 4 | using Lockstep.Network; 5 | using Lockstep.Util; 6 | 7 | namespace Lockstep.FakeServer{ 8 | public class ServerLauncher { 9 | private static Server server; 10 | 11 | public static void Main(){ 12 | //let async functions call in this thread 13 | OneThreadSynchronizationContext contex = new OneThreadSynchronizationContext(); 14 | SynchronizationContext.SetSynchronizationContext(contex); 15 | Debug.Log("Main start"); 16 | Utils.StartServices(); 17 | try { 18 | DoAwake(); 19 | while (true) { 20 | try { 21 | Thread.Sleep(3); 22 | contex.Update(); 23 | server.Update(); 24 | } 25 | catch (ThreadAbortException e) { 26 | return; 27 | } 28 | catch (Exception e) { 29 | Log.Error(e.ToString()); 30 | } 31 | } 32 | } 33 | catch (ThreadAbortException e) { 34 | return; 35 | } 36 | catch (Exception e) { 37 | Log.Error(e.ToString()); 38 | } 39 | } 40 | 41 | static void DoAwake(){ 42 | server = new Server(); 43 | server.Start(); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/Services/GameInputService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Game; 3 | using Lockstep.Logging; 4 | using Lockstep.Math; 5 | using Lockstep.Serialization; 6 | using Lockstep.Util; 7 | using NetMsg.Common; 8 | 9 | namespace Lockstep.Game { 10 | public class GameInputService : IInputService { 11 | public static PlayerInput CurGameInput = new PlayerInput(); 12 | 13 | public void Execute(InputCmd cmd, object entity){ 14 | var input = new Deserializer(cmd.content).Parse(); 15 | var playerInput = entity as PlayerInput; 16 | playerInput.SkillId = input.SkillId; 17 | playerInput.Deg = input.Deg; 18 | //Debug.Log("InputUV " + input.inputUV); 19 | } 20 | 21 | public List GetInputCmds(){ 22 | #if !UNITY_EDITOR 23 | CurGameInput.Deg = ((ushort)(short)1); 24 | #endif 25 | return new List() { 26 | new InputCmd() { 27 | content = CurGameInput.ToBytes() 28 | } 29 | }; 30 | } 31 | 32 | public List GetDebugInputCmds(){ 33 | return new List() { 34 | new InputCmd() { 35 | content = new PlayerInput() { 36 | Deg = (ushort)LRandom.Range(0,4), 37 | SkillId = (ushort)LRandom.Range(0,3) 38 | }.ToBytes() 39 | } 40 | }; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Components.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | 3 | namespace Lockstep.UnsafeECSDefine { 4 | 5 | /// BuildIn Service 6 | public interface IBuildInService{} 7 | /// 需要进行Service 属性展开的类型 8 | public interface INeedServiceProperty{} 9 | public interface ICanRaiseEvent{} 10 | public interface IBuildInComponent : IComponent { } 11 | 12 | 13 | 14 | public class CollisionShape { } 15 | 16 | 17 | public class Animator : IBuildInComponent { 18 | public int Pad; 19 | } 20 | 21 | public class CollisionAgent : IBuildInComponent { 22 | public CollisionShape Collider; 23 | public bool IsTrigger; 24 | public int Layer; 25 | public bool IsEnable; 26 | [NoExcel] public bool IsSleep; 27 | public float Mass; 28 | public float AngularSpeed; 29 | public Vector3 Speed; 30 | } 31 | 32 | public class NavMeshAgent : IBuildInComponent { 33 | public int Pad; 34 | } 35 | 36 | public class Prefab : IBuildInComponent { 37 | public int AssetId; 38 | } 39 | 40 | public class Transform2D : IBuildInComponent { 41 | public Vector2 Position; 42 | public float Deg; 43 | public float Scale; 44 | 45 | } 46 | 47 | public class Transform3D : IBuildInComponent { 48 | public Vector3 Position; 49 | public Vector3 Forward; 50 | public float Scale; 51 | } 52 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Data/Server/Config.json: -------------------------------------------------------------------------------- 1 | /* 2 | public enum EServerType { 3 | Client=0, 4 | DaemonServer = 1, 5 | LoginServer = 2, 6 | LobbyServer = 3, 7 | GameServer = 4, 8 | DatabaseServer = 5, 9 | WorldServer = 6, 10 | 11 | EnumCount, 12 | } 13 | */ 14 | { 15 | "isDebugMode": true,//all server run in the same process 16 | "YMIp": "127.0.0.1", 17 | "YMPort": 10103, 18 | "servers": [ 19 | { 20 | "isMaster": true, 21 | "type": 1, 22 | "serverPort": 10101, 23 | "masterPort": 10102, 24 | "masterIp": "127.0.0.1", 25 | "tcpPort": 7150, 26 | "udpPort": 7151 27 | }, 28 | { 29 | "isMaster": true, 30 | "type": 2, 31 | "serverPort": 10201, 32 | "masterPort": 10202, 33 | "masterIp": "127.0.0.1", 34 | "tcpPort": 7250, 35 | "udpPort": 7251 36 | }, 37 | { 38 | "isMaster": true, 39 | "masterIp": "127.0.0.1", 40 | "type": 3, 41 | "serverPort": 10301, 42 | "masterPort": 10302, 43 | "tcpPort": 7350, 44 | "udpPort": 7351 45 | }, 46 | { 47 | "isMaster": true, 48 | "masterIp": "127.0.0.1", 49 | "type": 4, 50 | "serverIpPort": 10401, 51 | "masterPort": 10402, 52 | "tcpPort": 7450, 53 | "udpPort": 7451 54 | }, 55 | { 56 | "isMaster": true, 57 | "masterIp": "127.0.0.1", 58 | "type": 5, 59 | "serverPort": 10501, 60 | "masterPort": 10502, 61 | "tcpPort": 7550, 62 | "udpPort": 7551 63 | } 64 | ] 65 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/Framework/BaseEntityView.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.Math; 3 | using UnityEngine; 4 | 5 | namespace Lockstep.UnsafeECS.Game { 6 | public unsafe class BaseEntityView : MonoBehaviour { 7 | protected const float _LerpVal = 0.5f; 8 | public void Update(){ DoUpdate(Time.deltaTime); } 9 | public virtual void BindEntity(Entity* entityPtr){ } 10 | public virtual void OnBindEntity(){ } 11 | 12 | public virtual void OnUnbindEntity(){ } 13 | public virtual void UnbindEntity(){gameObject.DestroyExt();} 14 | public virtual void RebindEntity(Entity* newEntityPtr){ } 15 | public virtual void DoUpdate(float deltaTime){} 16 | protected virtual void OnBind(){ } 17 | 18 | public virtual void OnSkillFire(LFloat range){} 19 | public virtual void OnSkillDone(LFloat range){} 20 | 21 | protected void UpdatePosRot(ref Transform3D transform3D){ 22 | var targetPos = transform3D.Position.ToVector3(); 23 | var pos = Vector3.Lerp(transform.position, targetPos, _LerpVal); 24 | transform.position = pos; 25 | if (transform3D.Forward != LVector3.zero) { 26 | var targetRot = Quaternion.LookRotation(transform3D.Forward.ToVector3(), Vector3.up); 27 | var rot = Quaternion.Lerp(transform.rotation, targetRot, _LerpVal); 28 | transform.rotation = rot; 29 | } 30 | var scale = transform3D.Scale.ToFloat(); 31 | transform.localScale = Vector3.one * scale; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LockstepECS 2 | ## **简介** 3 | LockstepECS 一个基于c# 指针和结构体 的帧同步框架,使用于超大型场景的帧同步游戏 4 | 优点: 5 | - 运行速度快,使用指针,和结构体,基本无gc , PureMode 都比Entitas 快两倍,Burst Mode,快四倍以上 6 | - 内存紧凑,预测回滚是否帧状态拷贝快 7000 只鱼的状态拷贝只消耗0.3ms 7 | - API 和 UNITY ECS 非常相似,可以使用同一种编程范式来编写 logic 层 和 view 层 8 | - 无缝兼容UnityECS ,使用条件宏可以切换两种模式, 9 | - PureMode:纯代码形式,可以直接在服务器中运行逻辑,不依赖Unity 10 | - Burst Mode: 模式,直接生成适配Unity ECS Burst+job框架代码的代码,进一步提升运行速度 11 | 12 | - github 上的是免费版 13 | 14 | 15 | ## **Wiki** 16 | [**中文使用文档**][11] 17 | 18 | ## **Reference** 19 | 20 | - [帧同步基础库 https://github.com/JiepengTan/LockstepEngine][1] 21 | - [高性能帧同步ECS框架 https://github.com/JiepengTan/LockstepECS][8] 22 | - [代码生成DSL https://github.com/JiepengTan/ME][2] 23 | - [demo: 帧同步版联机版 模拟鲨鱼围捕 2000 条小鱼 https://github.com/JiepengTan/LcokstepECS_Demo_Boid][3] 24 | - [帧同步教程 https://github.com/JiepengTan/Lockstep-Tutorial][4] 25 | 26 | 27 | ## **视频链接** 28 | - [环境搭建(Win & Mac)][9] 29 | - [Boid Demo 运行 ][10] 30 | 31 | ## **TODO** 32 | - 预测回滚 33 | - 碰撞检测库 34 | - 寻路库 35 | - 序列化库向前兼容 36 | 37 | 38 | 39 | [1]: https://github.com/JiepengTan/LockstepEngine 40 | [2]: https://github.com/JiepengTan/ME 41 | [3]: https://github.com/JiepengTan/LcokstepECS_Demo_Boid 42 | [4]: https://github.com/JiepengTan/Lockstep-Tutorial 43 | [5]: https://github.com/JiepengTan/FishManShaderTutorial 44 | [6]: https://www.bilibili.com/video/av67829097 45 | [7]: https://www.bilibili.com/video/av68850334 46 | [8]: https://github.com/JiepengTan/LockstepECS 47 | [9]: https://www.bilibili.com/video/av76298196 48 | [10]: https://www.bilibili.com/video/av76311418 49 | [11]: https://github.com/JiepengTan/LockstepECS/wiki 50 | 51 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.View/Src/UnityEntityPrefabSetting.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lockstep.Game; 3 | using Unity.Entities; 4 | using UnityEngine; 5 | 6 | namespace SSSamples.Boids.Authoring { 7 | [RequiresEntityConversion] 8 | public class UnityEntityPrefabSetting : MonoBehaviour,IDeclareReferencedPrefabs, IConvertGameObjectToEntity { 9 | public List prefabInfos = new List(); 10 | private List entityPrefabs = new List(); 11 | 12 | // Lets you convert the editor data representation to the entity optimal runtime representation 13 | public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) 14 | { 15 | foreach (var info in prefabInfos) { 16 | var entityPrefab = conversionSystem.GetPrimaryEntity(info.Prefab); 17 | entityPrefabs.Add(new EntityPrefabInfo() { 18 | Prefab = entityPrefab, 19 | AssetId = info.AssetId 20 | }) 21 | ; 22 | } 23 | 24 | Lockstep.Game.UnityEntityService.RegisterUnityEntityPrefabs(entityPrefabs); 25 | } 26 | 27 | // Referenced prefabs have to be declared so that the conversion system knows about them ahead of time 28 | public void DeclareReferencedPrefabs(List referencedPrefabs) 29 | { 30 | foreach (var prefab in prefabInfos) { 31 | referencedPrefabs.Add(prefab.Prefab); 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/Output/CodeCS/Table_Assets.cs: -------------------------------------------------------------------------------- 1 | 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by Tools.ExcelParser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 5 | // https://github.com/JiepengTan/LockstepEngine 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | using System; 11 | using System.Collections.Generic; 12 | using Lockstep.Serialization; 13 | using Lockstep.Math; 14 | 15 | namespace Lockstep.Game{ 16 | public partial class Table_Assets : TableData 17 | { 18 | const string tableName = "Assets"; 19 | public override string Name() { return tableName; } 20 | 21 | /// id 22 | public Int32 id; 23 | /// Directory() 24 | public String dir; 25 | /// Name 26 | public String name; 27 | /// Suffix 28 | public String suffix; 29 | 30 | protected override void DoParseData(Deserializer reader){ 31 | id = reader.ReadInt32(); 32 | dir = reader.ReadString(); 33 | name = reader.ReadString(); 34 | suffix = reader.ReadString(); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Services.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | // Warning!!! you should not modify this file! These files are maintained by author 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | 7 | namespace Lockstep.UnsafeECSDefine { 8 | 9 | 10 | // Game status 11 | public partial class GameStateService : IGameService{} 12 | public partial class GameConfigService : IGameService{} 13 | public partial class GameEventService : IGameService{} 14 | 15 | // BuildIn Services 16 | public partial class RandomService : IBuildInService{} 17 | public partial class TimeMachineService : IBuildInService{} 18 | public partial class GlobalStateService : IBuildInService{} 19 | public partial class ViewService : IBuildInService{} 20 | public partial class AudioService : IBuildInService{} 21 | public partial class InputService : IBuildInService{} 22 | public partial class Map2DService : IBuildInService{} 23 | public partial class ResService : IBuildInService{} 24 | public partial class EffectService : IBuildInService{} 25 | public partial class EventRegisterService : IBuildInService{} 26 | public partial class IdService : IBuildInService{} 27 | public partial class DebugService : IBuildInService{} 28 | 29 | 30 | //BuildIn Systems 31 | public partial class Context:INeedServiceProperty{} 32 | public partial class GameBaseSystem:INeedServiceProperty{} 33 | public partial class GameJobSystem:INeedServiceProperty{} 34 | public partial class GameExecuteSystem:INeedServiceProperty{} 35 | 36 | public partial class GameBaseSystem:ICanRaiseEvent{} 37 | public partial class GameExecuteSystem:ICanRaiseEvent{} 38 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Tools.UnsafeECS.ECDefine.Game/Src/BuildIn/BuildIn_Services.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2019 谭杰鹏. All Rights Reserved //https://github.com/JiepengTan 2 | // Warning!!! you should not modify this file! These files are maintained by author 3 | using System; 4 | using System.Collections.Generic; 5 | using Lockstep.UnsafeECSDefine; 6 | 7 | namespace Lockstep.UnsafeECSDefine { 8 | 9 | 10 | // Game status 11 | public partial class GameStateService : IGameService{} 12 | public partial class GameConfigService : IGameService{} 13 | public partial class GameEventService : IGameService{} 14 | 15 | // BuildIn Services 16 | public partial class RandomService : IBuildInService{} 17 | public partial class TimeMachineService : IBuildInService{} 18 | public partial class GlobalStateService : IBuildInService{} 19 | public partial class ViewService : IBuildInService{} 20 | public partial class AudioService : IBuildInService{} 21 | public partial class InputService : IBuildInService{} 22 | public partial class Map2DService : IBuildInService{} 23 | public partial class ResService : IBuildInService{} 24 | public partial class EffectService : IBuildInService{} 25 | public partial class EventRegisterService : IBuildInService{} 26 | public partial class IdService : IBuildInService{} 27 | public partial class DebugService : IBuildInService{} 28 | 29 | 30 | //BuildIn Systems 31 | public partial class Context:INeedServiceProperty{} 32 | public partial class GameBaseSystem:INeedServiceProperty{} 33 | public partial class GameJobSystem:INeedServiceProperty{} 34 | public partial class GameExecuteSystem:INeedServiceProperty{} 35 | 36 | public partial class GameBaseSystem:ICanRaiseEvent{} 37 | public partial class GameExecuteSystem:ICanRaiseEvent{} 38 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/Output/Csv/Assets.csv: -------------------------------------------------------------------------------- 1 | ServerDefine,,,,,,,, 2 | ClientDefine,key,,,,,del,del, 3 | Info,id,Directory(),Name,Suffix,,,备注, 4 | Type,int,string,string,string,,,string, 5 | Name,id,dir,name,suffix,,,remark, 6 | Value,11,Config,GameConfig,json,,,, 7 | ,1001,Prefabs/Camp,1001_Camp,.prefab,,,, 8 | ,2001,Prefabs/Bullet,2001_Bullet,.prefab,,,, 9 | ,2002,Prefabs/Bullet,2002_Bullet,.prefab,,,, 10 | ,2003,Prefabs/Bullet,2003_Bullet,.prefab,,,, 11 | ,3001,Prefabs/Effect,3001_EffectBlast,.prefab,,,, 12 | ,3002,Prefabs/Effect,3002_EffectBorn,.prefab,,,, 13 | ,3003,Prefabs/Effect,3003_EffectExplosion,.prefab,,,, 14 | ,4001,Prefabs/Items,4001_ItemAddLife,.prefab,,,, 15 | ,4002,Prefabs/Items,4002_ItemBoom,.prefab,,,, 16 | ,4003,Prefabs/Items,4003_ItemUpgrade,.prefab,,,, 17 | ,5001,Prefabs/Player,5001_Player,.prefab,,,, 18 | ,5002,Prefabs/Player,5002_Player,.prefab,,,, 19 | ,5003,Prefabs/Player,5003_Player,.prefab,,,, 20 | ,5004,Prefabs/Player,5004_Player,.prefab,,,, 21 | ,6001,Prefabs/Tank,6001_Tank,.prefab,,,, 22 | ,6002,Prefabs/Tank,6002_Tank,.prefab,,,, 23 | ,6003,Prefabs/Tank,6003_Tank,.prefab,,,, 24 | ,6004,Prefabs/Tank,6004_Tank,.prefab,,,, 25 | ,6005,Prefabs/Tank,6005_Tank,.prefab,,,, 26 | ,7001,UI,UICreateRoom,.prefab,,,, 27 | ,7002,UI,UIDialogBox,.prefab,,,, 28 | ,7003,UI,UIDialogBoxs,.prefab,,,, 29 | ,7004,UI,UIEmailConfirmation,.prefab,,,, 30 | ,7005,UI,UIGUIConsole,.prefab,,,, 31 | ,7006,UI,UIGameStatus,.prefab,,,, 32 | ,7007,UI,UILoading,.prefab,,,, 33 | ,7008,UI,UILobby,.prefab,,,, 34 | ,7009,UI,UILogin,.prefab,,,, 35 | ,7010,UI,UINetStatus,.prefab,,,, 36 | ,7011,UI,UIPasswordReset,.prefab,,,, 37 | ,7012,UI,UIRegister,.prefab,,,, 38 | ,7013,UI,UIRoom,.prefab,,,, 39 | ,7014,UI,UIRoomList,.prefab,,,, 40 | ,7015,UI,UIRoot,.prefab,,,, 41 | ,8001,Music,add,.wav,,,, 42 | ,8002,Music,dead,.wav,,,, 43 | ,8003,Music,hitBrick,.wav,,,, 44 | ,8004,Music,hitIron,.wav,,,, 45 | ,8005,Music,start,.wav,,,, 46 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Game.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tools.UnsafeECS.ECDefine.Game", "Src\Tools.UnsafeECS.ECDefine.Game\Tools.UnsafeECS.ECDefine.Game.csproj", "{59526EF6-61AE-468C-AF19-70C511282A90}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tools.UnsafeECS.ECSOutput", "Src\Tools.UnsafeECS.ECSOutput\Tools.UnsafeECS.ECSOutput.csproj", "{8DD9548E-2B62-4BF4-8AC2-9DE2FF89E692}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server.SimpleServer", "Src\Server.SimpleServer\Server.SimpleServer.csproj", "{9700A3C6-706E-421B-AF3F-CE4DD2B1AE9F}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {59526EF6-61AE-468C-AF19-70C511282A90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {59526EF6-61AE-468C-AF19-70C511282A90}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {59526EF6-61AE-468C-AF19-70C511282A90}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {59526EF6-61AE-468C-AF19-70C511282A90}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {8DD9548E-2B62-4BF4-8AC2-9DE2FF89E692}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {8DD9548E-2B62-4BF4-8AC2-9DE2FF89E692}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {8DD9548E-2B62-4BF4-8AC2-9DE2FF89E692}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {8DD9548E-2B62-4BF4-8AC2-9DE2FF89E692}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {9700A3C6-706E-421B-AF3F-CE4DD2B1AE9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {9700A3C6-706E-421B-AF3F-CE4DD2B1AE9F}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {9700A3C6-706E-421B-AF3F-CE4DD2B1AE9F}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {9700A3C6-706E-421B-AF3F-CE4DD2B1AE9F}.Release|Any CPU.Build.0 = Release|Any CPU 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/Config/UnityGameConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 980ac168cef7441b18a297aac85d123e, type: 3} 13 | m_Name: UnityGameConfig 14 | m_EditorClassIdentifier: 15 | pureConfig: 16 | RelPath: 17 | RecorderFilePath: 18 | DumpStrPath: 19 | MaxPlayerCount: 2 20 | CollisionConfig: 21 | scrollPos: 22 | _x: 0 23 | _y: 0 24 | isShow: 0 25 | collisionMatrix: 000000000000000000 26 | pos: 27 | _x: 0 28 | _y: 0 29 | _z: 0 30 | worldSize: 31 | _val: 60000000 32 | minNodeSize: 33 | _val: 1000000 34 | loosenessval: 35 | _val: 1250000 36 | ColliderDataRelFilePath: 37 | percent: 38 | _val: 100000 39 | count: 100 40 | showTreeId: 0 41 | ClientModeInfo: 42 | LocalId: 0 43 | UserCount: 1 44 | MapId: 0 45 | RoomId: 0 46 | Seed: 0 47 | UserInfos: 48 | - _Username: TestClient 49 | _UserId: 0 50 | _Datas: [] 51 | UdpEnd: 52 | Ip: 53 | Port: 0 54 | TcpEnd: 55 | Ip: 56 | Port: 0 57 | SimulationSpeed: 0 58 | PlayerInfos: 59 | - Position: 60 | _x: 0 61 | _y: 0 62 | _z: 0 63 | Forward: 64 | _x: 0 65 | _y: 0 66 | _z: 1000000 67 | Scale: 68 | _val: 1000000 69 | Deg: 70 | _val: 0 71 | AssetId: 1 72 | MoveData: 73 | MoveSpd: 74 | _val: 3000000 75 | AcceleratedSpd: 76 | _val: 5000000 77 | CurSpd: 78 | _val: 3000000 79 | AngularSpd: 80 | _val: 80000000 81 | DeltaDeg: 82 | _val: 0 83 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/Resources/UnityEntityPrefabSetting.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1155774472076782537 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 1155774472076782538} 12 | - component: {fileID: 1155774472076782539} 13 | - component: {fileID: 1155774472076782536} 14 | m_Layer: 0 15 | m_Name: UnityEntityPrefabSetting 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!4 &1155774472076782538 22 | Transform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 1155774472076782537} 28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_Children: [] 32 | m_Father: {fileID: 0} 33 | m_RootOrder: 0 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | --- !u!114 &1155774472076782539 36 | MonoBehaviour: 37 | m_ObjectHideFlags: 0 38 | m_CorrespondingSourceObject: {fileID: 0} 39 | m_PrefabInstance: {fileID: 0} 40 | m_PrefabAsset: {fileID: 0} 41 | m_GameObject: {fileID: 1155774472076782537} 42 | m_Enabled: 1 43 | m_EditorHideFlags: 0 44 | m_Script: {fileID: 11500000, guid: c43ed71b1fb3426ebca8a7c262bf8459, type: 3} 45 | m_Name: 46 | m_EditorClassIdentifier: 47 | prefabInfos: 48 | - Prefab: {fileID: 4114152384307457898, guid: a1d6b8716cd344cfb97d76f4f986fbe5, 49 | type: 3} 50 | AssetId: 1 51 | --- !u!114 &1155774472076782536 52 | MonoBehaviour: 53 | m_ObjectHideFlags: 0 54 | m_CorrespondingSourceObject: {fileID: 0} 55 | m_PrefabInstance: {fileID: 0} 56 | m_PrefabAsset: {fileID: 0} 57 | m_GameObject: {fileID: 1155774472076782537} 58 | m_Enabled: 1 59 | m_EditorHideFlags: 0 60 | m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3} 61 | m_Name: 62 | m_EditorClassIdentifier: 63 | ConversionMode: 0 64 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/UnsafeECSGenerator/ModelConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "DllNameTag": "Tools.UnsafeECS.ECDefine.Game.dll", 3 | "IgnoreDll": "Tools.ECS.ECDefine.Game.dll", 4 | "ShellCmd": "", 5 | "ShellWorkingDir": "", 6 | "MacroDefinePath": "../Config/UnsafeECSGenerator/MacroDefine.json", 7 | "SrcFileDir": "../Config/UnsafeECSGenerator/Model/", 8 | "DesFileDir": "../Src/Tools.UnsafeECS.ECSOutput/Src/Generated/Model/", 9 | "FileExtension": "*.tfbytes", 10 | "TypeNameSpaceTag": "Lockstep.UnsafeECSDefine", 11 | "IsGenDebugInfo": false, 12 | "IsEncryptFile":true, 13 | "FileContent": [ 14 | "\n//#define DONT_USE_GENERATE_CODE ", 15 | "\n ", 16 | "\nusing System.Linq; ", 17 | "\nusing Lockstep.Serialization; ", 18 | "\nusing System.Runtime.InteropServices; ", 19 | "\nusing System.Runtime.CompilerServices; ", 20 | "\nusing System; ", 21 | "\nusing Lockstep.InternalUnsafeECS; ", 22 | "\nusing System.Collections; ", 23 | "\nusing Lockstep.Math; ", 24 | "\nusing System.Collections.Generic; ", 25 | "\nusing Lockstep.Logging; ", 26 | "\nusing Lockstep.Util; ", 27 | "\n#TYPES_EXTENSIONS ", 28 | "\n " 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/UnsafeECSGenerator/ViewConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "DllNameTag": "Tools.UnsafeECS.ECDefine.Game.dll", 3 | "IgnoreDll": "Tools.ECS.ECDefine.Game.dll", 4 | "ShellCmd": "", 5 | "ShellWorkingDir": "", 6 | "MacroDefinePath": "../Config/UnsafeECSGenerator/MacroDefine.json", 7 | "SrcFileDir": "../Config/UnsafeECSGenerator/View/", 8 | "DesFileDir": "../Src/Tools.UnsafeECS.ECSOutput/Src/Generated/View/", 9 | "FileExtension": "*.tfbytes", 10 | "TypeNameSpaceTag": "Lockstep.UnsafeECSDefine", 11 | "IsGenDebugInfo": false, 12 | "IsEncryptFile":true, 13 | "FileContent": [ 14 | "\n//#define DONT_USE_GENERATE_CODE ", 15 | "\n ", 16 | "\nusing System.Linq; ", 17 | "\nusing Lockstep.Serialization; ", 18 | "\nusing System.Runtime.InteropServices; ", 19 | "\nusing System.Runtime.CompilerServices; ", 20 | "\nusing System; ", 21 | "\nusing Lockstep.InternalUnsafeECS; ", 22 | "\nusing System.Collections; ", 23 | "\nusing Lockstep.Math; ", 24 | "\nusing System.Collections.Generic; ", 25 | "\nusing Lockstep.Logging; ", 26 | "\nusing Lockstep.Util; ", 27 | "\n#TYPES_EXTENSIONS ", 28 | "\n " 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Config/ExcelParser/Output/CodeCS/Table_ConfigBullet.cs: -------------------------------------------------------------------------------- 1 | 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by Tools.ExcelParser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 5 | // https://github.com/JiepengTan/LockstepEngine 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | using System; 11 | using System.Collections.Generic; 12 | using Lockstep.Serialization; 13 | using Lockstep.Math; 14 | 15 | namespace Lockstep.Game{ 16 | public partial class Table_ConfigBullet : TableData 17 | { 18 | const string tableName = "ConfigBullet"; 19 | public override string Name() { return tableName; } 20 | 21 | /// id 22 | public UInt16 asset; 23 | /// 24 | public Boolean bullet_canDestoryIron; 25 | /// 26 | public Boolean bullet_canDestoryGrass; 27 | /// 28 | public String unit_name; 29 | /// 30 | public Int32 unit_health; 31 | /// 32 | public Int32 unit_damage; 33 | /// 34 | public LFloat move_moveSpd; 35 | /// 36 | public LFloat move_maxMoveSpd; 37 | 38 | protected override void DoParseData(Deserializer reader){ 39 | asset = reader.ReadUInt16(); 40 | bullet_canDestoryIron = reader.ReadBoolean(); 41 | bullet_canDestoryGrass = reader.ReadBoolean(); 42 | unit_name = reader.ReadString(); 43 | unit_health = reader.ReadInt32(); 44 | unit_damage = reader.ReadInt32(); 45 | move_moveSpd = reader.ReadLFloat(); 46 | move_maxMoveSpd = reader.ReadLFloat(); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/__ExcelParser/Table_ConfigBullet.cs: -------------------------------------------------------------------------------- 1 | 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by Tools.ExcelParser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. 5 | // https://github.com/JiepengTan/LockstepEngine 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | using System; 11 | using System.Collections.Generic; 12 | using Lockstep.Serialization; 13 | using Lockstep.Math; 14 | 15 | namespace Lockstep.Game{ 16 | public partial class Table_ConfigBullet : TableData 17 | { 18 | const string tableName = "ConfigBullet"; 19 | public override string Name() { return tableName; } 20 | 21 | /// id 22 | public UInt16 asset; 23 | /// 24 | public Boolean bullet_canDestoryIron; 25 | /// 26 | public Boolean bullet_canDestoryGrass; 27 | /// 28 | public String unit_name; 29 | /// 30 | public Int32 unit_health; 31 | /// 32 | public Int32 unit_damage; 33 | /// 34 | public LFloat move_moveSpd; 35 | /// 36 | public LFloat move_maxMoveSpd; 37 | 38 | protected override void DoParseData(Deserializer reader){ 39 | asset = reader.ReadUInt16(); 40 | bullet_canDestoryIron = reader.ReadBoolean(); 41 | bullet_canDestoryGrass = reader.ReadBoolean(); 42 | unit_name = reader.ReadString(); 43 | unit_health = reader.ReadInt32(); 44 | unit_damage = reader.ReadInt32(); 45 | move_moveSpd = reader.ReadLFloat(); 46 | move_maxMoveSpd = reader.ReadLFloat(); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 0 46 | m_AutoSyncTransforms: 1 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /Client.Unity/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ads": "2.0.8", 6 | "com.unity.analytics": "3.3.2", 7 | "com.unity.burst": "1.1.2", 8 | "com.unity.cinemachine": "2.3.4", 9 | "com.unity.collab-proxy": "1.2.16", 10 | "com.unity.collections": "0.1.1-preview", 11 | "com.unity.entities": "0.1.1-preview", 12 | "com.unity.ext.nunit": "1.0.0", 13 | "com.unity.ide.rider": "1.1.0", 14 | "com.unity.ide.vscode": "1.1.2", 15 | "com.unity.jobs": "0.1.1-preview", 16 | "com.unity.multiplayer-hlapi": "1.0.4", 17 | "com.unity.package-manager-ui": "2.2.0", 18 | "com.unity.postprocessing": "2.1.6", 19 | "com.unity.purchasing": "2.0.6", 20 | "com.unity.rendering.hybrid": "0.1.1-preview", 21 | "com.unity.test-framework": "1.0.13", 22 | "com.unity.textmeshpro": "2.0.1", 23 | "com.unity.timeline": "1.1.0", 24 | "com.unity.ugui": "1.0.0", 25 | "com.unity.xr.legacyinputhelpers": "2.0.2", 26 | "com.unity.modules.ai": "1.0.0", 27 | "com.unity.modules.androidjni": "1.0.0", 28 | "com.unity.modules.animation": "1.0.0", 29 | "com.unity.modules.assetbundle": "1.0.0", 30 | "com.unity.modules.audio": "1.0.0", 31 | "com.unity.modules.cloth": "1.0.0", 32 | "com.unity.modules.director": "1.0.0", 33 | "com.unity.modules.imageconversion": "1.0.0", 34 | "com.unity.modules.imgui": "1.0.0", 35 | "com.unity.modules.jsonserialize": "1.0.0", 36 | "com.unity.modules.particlesystem": "1.0.0", 37 | "com.unity.modules.physics": "1.0.0", 38 | "com.unity.modules.physics2d": "1.0.0", 39 | "com.unity.modules.screencapture": "1.0.0", 40 | "com.unity.modules.terrain": "1.0.0", 41 | "com.unity.modules.terrainphysics": "1.0.0", 42 | "com.unity.modules.tilemap": "1.0.0", 43 | "com.unity.modules.ui": "1.0.0", 44 | "com.unity.modules.uielements": "1.0.0", 45 | "com.unity.modules.umbra": "1.0.0", 46 | "com.unity.modules.unityanalytics": "1.0.0", 47 | "com.unity.modules.unitywebrequest": "1.0.0", 48 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 49 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 50 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 51 | "com.unity.modules.unitywebrequestwww": "1.0.0", 52 | "com.unity.modules.vehicles": "1.0.0", 53 | "com.unity.modules.video": "1.0.0", 54 | "com.unity.modules.vr": "1.0.0", 55 | "com.unity.modules.wind": "1.0.0", 56 | "com.unity.modules.xr": "1.0.0" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Client.Unity/Assets/LockstepECS/__DllSourceFiles/Game.Model/Src/UnsafeECSFramework/Core/UnsafeWorld.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Game; 2 | using Lockstep.Logging; 3 | using Lockstep.Math; 4 | using Lockstep.Util; 5 | using NetMsg.Common; 6 | using Lockstep.UnsafeECS; 7 | 8 | namespace Lockstep.UnsafeECS.Game { 9 | public partial class UnsafeWorld : World { 10 | private Context _context; 11 | private Systems _systems; 12 | public UnsafeWorld(IServiceContainer services, object contextsObj, object logicFeatureObj){ 13 | var contexts = contextsObj as Context; 14 | var logicFeature = logicFeatureObj as Systems; 15 | _context = contexts; 16 | _context._entityService = services.GetService(); 17 | _timeMachineService = services.GetService(); 18 | _systems = new WorldSystems(_context, services, logicFeature); 19 | _context.DoAwake(_systems,services); 20 | Debug.Log("UnsafeWorld Constructer"); 21 | //temp code 22 | } 23 | 24 | protected override void DoSimulateAwake(IServiceContainer serviceContainer, IManagerContainer mgrContainer){ 25 | InitReference(serviceContainer, mgrContainer); 26 | DoAwake(serviceContainer); 27 | DoStart(); 28 | } 29 | 30 | protected override void DoSimulateStart(){ 31 | Debug.Log("DoSimulateStart"); 32 | Profiler.BeginSample("UnsafeECS DoInitialize"); 33 | _context.DoInitialize(); 34 | Profiler.EndSample(); 35 | } 36 | 37 | protected override void DoStep(bool isNeedGenSnap){ 38 | Profiler.BeginSample("UnsafeECS Update"); 39 | _context.DoUpdate(); 40 | Profiler.EndSample(); 41 | } 42 | 43 | protected override void DoBackup(int tick){ 44 | Profiler.BeginSample("_context.Backup"); 45 | _context.Backup(tick); 46 | Profiler.EndSample(); 47 | //Profiler.BeginSample("_context.DoCleanUselessSnapshot"); 48 | //DoCleanUselessSnapshot(tick -1); 49 | //Profiler.EndSample(); 50 | } 51 | protected override void DoRollbackTo(int tick, int missFrameTick, bool isNeedClear = true){ 52 | _context.RollbackTo(tick,missFrameTick,isNeedClear); 53 | } 54 | protected override void DoCleanUselessSnapshot(int checkedTick){ 55 | _context.CleanUselessSnapshot(checkedTick); 56 | } 57 | protected override void DoProcessInputQueue(byte actorId, InputCmd cmd){ 58 | _context.ProcessInputQueue(actorId,cmd); 59 | } 60 | 61 | } 62 | } -------------------------------------------------------------------------------- /Client.Unity/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 0} 46 | m_TransparencySortMode: 0 47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 48 | m_DefaultRenderingPath: 1 49 | m_DefaultMobileRenderingPath: 1 50 | m_TierSettings: [] 51 | m_LightmapStripping: 0 52 | m_FogStripping: 0 53 | m_InstancingStripping: 0 54 | m_LightmapKeepPlain: 1 55 | m_LightmapKeepDirCombined: 1 56 | m_LightmapKeepDynamicPlain: 1 57 | m_LightmapKeepDynamicDirCombined: 1 58 | m_LightmapKeepShadowMask: 1 59 | m_LightmapKeepSubtractive: 1 60 | m_FogKeepLinear: 1 61 | m_FogKeepExp: 1 62 | m_FogKeepExp2: 1 63 | m_AlbedoSwatchInfos: [] 64 | m_LightsUseLinearIntensity: 0 65 | m_LightsUseColorTemperature: 0 66 | -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Server.SimpleServer/Src/Server/MessagePacker.cs: -------------------------------------------------------------------------------- 1 | using Lockstep.Network; 2 | using Lockstep.Serialization; 3 | using NetMsg.Common; 4 | 5 | namespace Lockstep.Game{ 6 | public class MessagePacker : IMessagePacker { 7 | public static MessagePacker Instance { get; } = new MessagePacker(); 8 | 9 | public object DeserializeFrom(ushort opcode, byte[] bytes, int index, int count){ 10 | var type = (EMsgSC) opcode; 11 | switch (type) { 12 | //ping 13 | case EMsgSC.C2G_PlayerPing: return BaseFormater.FromBytes(bytes, index, count); 14 | case EMsgSC.G2C_PlayerPing: return BaseFormater.FromBytes(bytes, index, count); 15 | //login 16 | case EMsgSC.L2C_JoinRoomResult: return BaseFormater.FromBytes(bytes, index, count); 17 | case EMsgSC.C2L_JoinRoom: return BaseFormater.FromBytes(bytes, index, count); 18 | case EMsgSC.C2L_LeaveRoom: return BaseFormater.FromBytes(bytes, index, count); 19 | case EMsgSC.C2G_LoadingProgress: return BaseFormater.FromBytes(bytes, index, count); 20 | 21 | //room 22 | case EMsgSC.G2C_Hello: return BaseFormater.FromBytes(bytes, index, count); 23 | case EMsgSC.G2C_FrameData: return BaseFormater.FromBytes(bytes, index, count); 24 | case EMsgSC.G2C_RepMissFrame: return BaseFormater.FromBytes(bytes, index, count); 25 | case EMsgSC.G2C_GameEvent: return BaseFormater.FromBytes(bytes, index, count); 26 | case EMsgSC.G2C_GameStartInfo: return BaseFormater.FromBytes(bytes, index, count); 27 | case EMsgSC.G2C_LoadingProgress: return BaseFormater.FromBytes(bytes, index, count); 28 | case EMsgSC.G2C_AllFinishedLoaded: return BaseFormater.FromBytes(bytes, index, count); 29 | 30 | case EMsgSC.C2G_PlayerInput: return BaseFormater.FromBytes(bytes, index, count); 31 | case EMsgSC.C2G_ReqMissFrame: return BaseFormater.FromBytes(bytes, index, count); 32 | case EMsgSC.C2G_RepMissFrameAck: return BaseFormater.FromBytes(bytes, index, count); 33 | case EMsgSC.C2G_HashCode: return BaseFormater.FromBytes(bytes, index, count); 34 | } 35 | 36 | return null; 37 | } 38 | 39 | public byte[] SerializeToByteArray(IMessage msg){ 40 | return ((BaseFormater) msg).ToBytes(); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Client.Unity/DataAndTools/Src/Tools.UnsafeECS.ECSOutput/Src/Generated/Model/CodeGen_Service_Entity.cs: -------------------------------------------------------------------------------- 1 | 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by Tools.MacroExpansion, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. 5 | // https://github.com/JiepengTan/LockstepEngine 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | //Power by ME //src: https://github.com/JiepengTan/ME 12 | 13 | //#define DONT_USE_GENERATE_CODE 14 | 15 | using System.Linq; 16 | using Lockstep.Serialization; 17 | using System.Runtime.InteropServices; 18 | using System.Runtime.CompilerServices; 19 | using System; 20 | using Lockstep.InternalUnsafeECS; 21 | using System.Collections; 22 | using Lockstep.Math; 23 | using System.Collections.Generic; 24 | using Lockstep.Logging; 25 | using Lockstep.Util; 26 | namespace Lockstep.UnsafeECS.Game { 27 | public unsafe partial interface IEntityService { 28 | void OnPlayerCubeCreated(Context context, PlayerCube* entity); 29 | void OnPlayerCubeDestroy(Context context, PlayerCube* entity); 30 | } 31 | 32 | public unsafe partial class PureEntityService :IEntityService { 33 | public void OnPlayerCubeCreated(Context context, PlayerCube* entity){} 34 | public void OnPlayerCubeDestroy(Context context, PlayerCube* entity){} 35 | } 36 | } 37 | --------------------------------------------------------------------------------