├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── EditorBuildSettings.asset ├── NetworkManager.asset ├── TimeManager.asset ├── AudioManager.asset ├── EditorSettings.asset ├── TagManager.asset ├── DynamicsManager.asset ├── UnityConnectSettings.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset ├── GraphicsSettings.asset ├── QualitySettings.asset ├── InputManager.asset └── ProjectSettings.asset ├── Assets ├── Libraries │ ├── Entitas │ │ ├── Compile.cs │ │ ├── fabl.dll │ │ ├── Entitas.dll │ │ ├── Entitas.Unity.dll │ │ ├── Entitas.Utils.dll │ │ ├── Entitas.Blueprints.dll │ │ ├── Editor │ │ │ ├── Entitas.Migration.dll │ │ │ ├── Entitas.Unity.Editor.dll │ │ │ ├── Images │ │ │ │ ├── EntitasHeader.png │ │ │ │ ├── EntitasContextHierarchyIcon.png │ │ │ │ ├── EntitasEntityHierarchyIcon.png │ │ │ │ ├── EntitasSystemsHierarchyIcon.png │ │ │ │ ├── EntitasContextErrorHierarchyIcon.png │ │ │ │ ├── EntitasEntityErrorHierarchyIcon.png │ │ │ │ ├── EntitasSystemsErrorHierarchyIcon.png │ │ │ │ ├── EntitasHeader.png.meta │ │ │ │ ├── EntitasEntityHierarchyIcon.png.meta │ │ │ │ ├── EntitasSystemsHierarchyIcon.png.meta │ │ │ │ ├── EntitasEntityErrorHierarchyIcon.png.meta │ │ │ │ ├── EntitasSystemsErrorHierarchyIcon.png.meta │ │ │ │ ├── EntitasContextHierarchyIcon.png.meta │ │ │ │ └── EntitasContextErrorHierarchyIcon.png.meta │ │ │ ├── Entitas.CodeGeneration.dll │ │ │ ├── Entitas.CodeGeneration.Plugins.dll │ │ │ ├── Entitas.Migration.Unity.Editor.dll │ │ │ ├── Entitas.CodeGeneration.Unity.Editor.dll │ │ │ ├── Entitas.CodeGeneration.CodeGenerator.dll │ │ │ ├── Entitas.VisualDebugging.Unity.Editor.dll │ │ │ ├── Entitas.VisualDebugging.CodeGeneration.Plugins.dll │ │ │ ├── Images.meta │ │ │ ├── Entitas.Migration.dll.meta │ │ │ ├── Entitas.CodeGeneration.dll.meta │ │ │ ├── Entitas.Unity.Editor.dll.meta │ │ │ ├── Entitas.CodeGeneration.Plugins.dll.meta │ │ │ ├── Entitas.Migration.Unity.Editor.dll.meta │ │ │ ├── Entitas.CodeGeneration.CodeGenerator.dll.meta │ │ │ ├── Entitas.CodeGeneration.Unity.Editor.dll.meta │ │ │ ├── Entitas.VisualDebugging.Unity.Editor.dll.meta │ │ │ └── Entitas.VisualDebugging.CodeGeneration.Plugins.dll.meta │ │ ├── Entitas.VisualDebugging.Unity.dll │ │ ├── Entitas.CodeGeneration.Attributes.dll │ │ ├── Editor.meta │ │ ├── Compile.cs.meta │ │ ├── fabl.dll.meta │ │ ├── Entitas.dll.meta │ │ ├── Entitas.Unity.dll.meta │ │ ├── Entitas.Utils.dll.meta │ │ ├── Entitas.Blueprints.dll.meta │ │ ├── Entitas.VisualDebugging.Unity.dll.meta │ │ └── Entitas.CodeGeneration.Attributes.dll.meta │ └── Entitas.meta ├── Scripts │ ├── Interface │ │ ├── ITickListener.cs │ │ ├── IPauseListener.cs │ │ ├── IElixirListener.cs │ │ ├── IElixirListener.cs.meta │ │ ├── IPauseListener.cs.meta │ │ └── ITickListener.cs.meta │ ├── Component │ │ ├── PauseComponent.cs │ │ ├── PauseListenerComponent.cs │ │ ├── TickListenerComponent.cs │ │ ├── ElixirLisenterComponent.cs │ │ ├── JumpInTimeComponent.cs │ │ ├── LogicSystemComponent.cs │ │ ├── ElixirComponent.cs │ │ ├── TickComponent.cs │ │ ├── ConsumeElixirComponent.cs │ │ ├── ElixirComponent.cs.meta │ │ ├── PauseComponent.cs.meta │ │ ├── TickComponent.cs.meta │ │ ├── JumpInTimeComponent.cs.meta │ │ ├── LogicSystemComponent.cs.meta │ │ ├── TickListenerComponent.cs.meta │ │ ├── ConsumeElixirComponent.cs.meta │ │ ├── ElixirLisenterComponent.cs.meta │ │ ├── PauseListenerComponent.cs.meta │ │ ├── ConsumptionHistoryComponent.cs.meta │ │ └── ConsumptionHistoryComponent.cs │ ├── Behaviour.meta │ ├── Component.meta │ ├── Interface.meta │ ├── System.meta │ ├── GameController.cs.meta │ ├── System │ │ ├── ReplaySystem.cs.meta │ │ ├── ConsumeElixirSystem.cs.meta │ │ ├── ProduceElixirSystem.cs.meta │ │ ├── TickUpdateSystem.cs.meta │ │ ├── ConsumeElixirCleanupSystem.cs.meta │ │ ├── ElixirConsumePersistSystem.cs.meta │ │ ├── NotifyElixirListenersSystem.cs.meta │ │ ├── NotifyPauseListenersSystem.cs.meta │ │ ├── NotifyTickListenersSystem.cs.meta │ │ ├── CleanupConsumtionHistorySystem.cs.meta │ │ ├── ConsumeElixirCleanupSystem.cs │ │ ├── TickUpdateSystem.cs │ │ ├── NotifyTickListenersSystem.cs │ │ ├── NotifyElixirListenersSystem.cs │ │ ├── ConsumeElixirSystem.cs │ │ ├── NotifyPauseListenersSystem.cs │ │ ├── ProduceElixirSystem.cs │ │ ├── ElixirConsumePersistSystem.cs │ │ ├── ReplaySystem.cs │ │ └── CleanupConsumtionHistorySystem.cs │ ├── Behaviour │ │ ├── TimeBehaviour.cs.meta │ │ ├── ElixirAmountBehaviour.cs.meta │ │ ├── ElixirBarBehaviour.cs.meta │ │ ├── PauseButtonBehaviour.cs.meta │ │ ├── TimePickerBehaviour.cs.meta │ │ ├── ConsumeButtonBehaviour.cs.meta │ │ ├── ElixirAmountBehaviour.cs │ │ ├── PauseButtonBehaviour.cs │ │ ├── ElixirBarBehaviour.cs │ │ ├── TimeBehaviour.cs │ │ ├── TimePickerBehaviour.cs │ │ └── ConsumeButtonBehaviour.cs │ └── GameController.cs ├── Scenes │ └── Main.unity.meta ├── Scenes.meta ├── Scripts.meta ├── Sources.meta ├── Libraries.meta └── Sources │ ├── Generated.meta │ └── Generated │ ├── Game.meta │ ├── Components.meta │ ├── Game │ ├── Components.meta │ ├── GameContext.cs.meta │ ├── GameEntity.cs.meta │ ├── GameMatcher.cs.meta │ ├── GameAttribute.cs.meta │ ├── GameComponentsLookup.cs.meta │ ├── Components │ │ ├── GameElixirComponent.cs.meta │ │ ├── GamePauseComponent.cs.meta │ │ ├── GameTickComponent.cs.meta │ │ ├── GameJumpInTimeComponent.cs.meta │ │ ├── GameLogicSystemComponent.cs.meta │ │ ├── GameTickListenerComponent.cs.meta │ │ ├── GameConsumeElixirComponent.cs.meta │ │ ├── GameElixirLisenterComponent.cs.meta │ │ ├── GamePauseListenerComponent.cs.meta │ │ ├── GameConsumptionHistoryComponent.cs.meta │ │ ├── GameTickListenerComponent.cs │ │ ├── GameConsumeElixirComponent.cs │ │ ├── GamePauseListenerComponent.cs │ │ ├── GameElixirLisenterComponent.cs │ │ ├── GamePauseComponent.cs │ │ ├── GameTickComponent.cs │ │ ├── GameElixirComponent.cs │ │ ├── GameJumpInTimeComponent.cs │ │ ├── GameLogicSystemComponent.cs │ │ └── GameConsumptionHistoryComponent.cs │ ├── GameEntity.cs │ ├── GameAttribute.cs │ ├── GameContext.cs │ ├── GameMatcher.cs │ └── GameComponentsLookup.cs │ ├── Contexts.cs.meta │ ├── Feature.cs.meta │ ├── Feature.cs │ └── Contexts.cs ├── ShotScreens └── entitas-replay.gif ├── README.md ├── .gitignore ├── LICENSE └── Entitas.properties /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.1.0f3 2 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Compile.cs: -------------------------------------------------------------------------------- 1 | namespace Entitas.CodeGeneration.Unity.Editor { 2 | 3 | class Compile {} 4 | } 5 | -------------------------------------------------------------------------------- /ShotScreens/entitas-replay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/ShotScreens/entitas-replay.gif -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/fabl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/fabl.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.dll -------------------------------------------------------------------------------- /Assets/Scripts/Interface/ITickListener.cs: -------------------------------------------------------------------------------- 1 | public interface ITickListener 2 | { 3 | void TickChanged(long cureentTick); 4 | } 5 | 6 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface/IPauseListener.cs: -------------------------------------------------------------------------------- 1 | public interface IPauseListener 2 | { 3 | void PauseStateChanged(bool isPause); 4 | } 5 | 6 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface/IElixirListener.cs: -------------------------------------------------------------------------------- 1 | public interface IElixirListener 2 | { 3 | void ElixirAmountChanged(float amount); 4 | } 5 | 6 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Unity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.Unity.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Utils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.Utils.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Blueprints.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.Blueprints.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Entitas-Replay-Demo 2 | ECS回放系统演示demo 3 | 4 | ![](https://github.com/coding2233/Entitas-Replay-Demo/blob/master/ShotScreens/entitas-replay.gif) -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Migration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.Migration.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Unity.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.Unity.Editor.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasHeader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasHeader.png -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.VisualDebugging.Unity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.VisualDebugging.Unity.dll -------------------------------------------------------------------------------- /Assets/Scripts/Component/PauseComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game,Unique] 5 | public class PauseComponent:IComponent { } 6 | 7 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/PauseListenerComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | [Game] 3 | public class PauseListenerComponent:IComponent 4 | { 5 | public IPauseListener value; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/TickListenerComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | 3 | [Game] 4 | public class TickListenerComponent:IComponent 5 | { 6 | public ITickListener value; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.CodeGeneration.Attributes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Entitas.CodeGeneration.Attributes.dll -------------------------------------------------------------------------------- /Assets/Scripts/Component/ElixirLisenterComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | 3 | [Game] 4 | public class ElixirLisenterComponent:IComponent 5 | { 6 | public IElixirListener value; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Plugins.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Plugins.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Migration.Unity.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.Migration.Unity.Editor.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Unity.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Unity.Editor.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasContextHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasContextHierarchyIcon.png -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasEntityHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasEntityHierarchyIcon.png -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasSystemsHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasSystemsHierarchyIcon.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.CodeGenerator.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.CodeGenerator.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor.dll -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasContextErrorHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasContextErrorHierarchyIcon.png -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasEntityErrorHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasEntityErrorHierarchyIcon.png -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images/EntitasSystemsErrorHierarchyIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Images/EntitasSystemsErrorHierarchyIcon.png -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/JumpInTimeComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game,Unique] 5 | public class JumpInTimeComponent:IComponent 6 | { 7 | public long targetTick; 8 | } 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/LogicSystemComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game, Unique] 5 | public class LogicSystemComponent : IComponent 6 | { 7 | public Systems systems; 8 | } -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.CodeGeneration.Plugins.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding2233/Entitas-Replay-Demo/HEAD/Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.CodeGeneration.Plugins.dll -------------------------------------------------------------------------------- /Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1fe77fa4a8582144a6aaf83779e57c6 3 | timeCreated: 1506951708 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ElixirComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game,Unique] 5 | public class ElixirComponent:IComponent 6 | { 7 | //能量值 8 | public float amount; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/TickComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game,Unique] 5 | public class TickComponent:IComponent 6 | { 7 | //当前帧 8 | public long currentTick; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ConsumeElixirComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | 4 | [Game] 5 | public class ConsumeElixirComponent:IComponent 6 | { 7 | //消耗的能量值 8 | public int amount; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bf70fbcb0b52c04eb14b8d812328982 3 | folderAsset: yes 4 | timeCreated: 1506951707 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16f8b2c85dcc78b499d28e92b365e4d0 3 | folderAsset: yes 4 | timeCreated: 1506951476 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a2720d9a54577a4f955b66fee7657e0 3 | folderAsset: yes 4 | timeCreated: 1506951451 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Libraries.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af5f404c4fa1eb54a8570b62c8c7fe33 3 | folderAsset: yes 4 | timeCreated: 1506951364 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03c13b4042ad4994095b7daa2bbfbcf0 3 | folderAsset: yes 4 | timeCreated: 1506951372 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 416775319ba250f4a98a2d59cd5a765b 3 | folderAsset: yes 4 | timeCreated: 1506955672 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/Component.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22289fabf67d20c4ca0f9ea0ebfd3da7 3 | folderAsset: yes 4 | timeCreated: 1506953539 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1dccd705c3765c44ba6677083bb8ed46 3 | folderAsset: yes 4 | timeCreated: 1506954953 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Scripts/System.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 729fa94807a3fe3478a3d61fc6371b1a 3 | folderAsset: yes 4 | timeCreated: 1506953564 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20db1ac35b273d743addaa9b407fba47 3 | folderAsset: yes 4 | timeCreated: 1506951451 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cb265d1670576540981132d66c07e9e 3 | folderAsset: yes 4 | timeCreated: 1506951451 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 323afb22711daf8459edad807de298c2 3 | folderAsset: yes 4 | timeCreated: 1506951372 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0354edfcdbeb8dc42947a6b9002abe7c 3 | folderAsset: yes 4 | timeCreated: 1506957619 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fdbed862b6a11c4785fb121eb2cf1a7 3 | folderAsset: yes 4 | timeCreated: 1506951372 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd389cdc623d190429f2c2ca330f2e46 3 | folderAsset: yes 4 | timeCreated: 1506953547 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Assets/Scripts/GameController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca2e937de080cd54080551159a2d575d 3 | timeCreated: 1506951506 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Compile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2374b37537dd6304ba24953748497073 3 | timeCreated: 1506951386 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ReplaySystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e0b90b227128294aa7297d7cde423b2 3 | timeCreated: 1507013343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Contexts.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b2b6f6ac5cbc9345bf40b87404a54e7 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Feature.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fd887cc6d826654ebb6770bb3edda26 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/TimeBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df1615065f00e54489c9f26d7106fb30 3 | timeCreated: 1507000166 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ElixirComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d322e5facd9d4744ea0e07c155fd9921 3 | timeCreated: 1506953539 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/PauseComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee8e1f1946ccb76498f28c3a92088dc8 3 | timeCreated: 1506953539 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/TickComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29eb581391586bc42a319ccdc423db18 3 | timeCreated: 1506953539 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface/IElixirListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1380374fbfb1be34bb669ace8c1c0adf 3 | timeCreated: 1506954953 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface/IPauseListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46378cb5addaf4e458107d0f5ad43800 3 | timeCreated: 1506954953 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Interface/ITickListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71f7402bd62379241a55267a1acaf94c 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ConsumeElixirSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 733c51d9b4c8cf645a7e5fda30e66028 3 | timeCreated: 1506999401 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ProduceElixirSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 773ccf224c4d68f408297c7e6a903187 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/TickUpdateSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e3a11f128713124bb65fafbed61bc16 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameContext.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1c65bf8bdd5f524b928fce37d78f719 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameEntity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e921c3d4b835802489348a5cc2434099 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameMatcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70482df8ef2519a48acfee27977d7b5b 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ElixirAmountBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71ba360073fc404438ffc7d7e4be8db3 3 | timeCreated: 1506960113 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ElixirBarBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1582c2e488b2544fa8a8608692349be 3 | timeCreated: 1506960596 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/PauseButtonBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78b99a01e4c62464d963d9a366f09fe8 3 | timeCreated: 1507004806 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/TimePickerBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da976640297b435468a13eb04e90006b 3 | timeCreated: 1506956886 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/JumpInTimeComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68beb19361e4ac54c9f54a7858e32c07 3 | timeCreated: 1506956432 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/LogicSystemComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bf5b5483b8b2424799046c3d4cf91b3 3 | timeCreated: 1506957612 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/TickListenerComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6fe368c7798ba34b8ffc94cdaafd2d4 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80918f62ad2e8264cac044acc9fc46e5 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ConsumeButtonBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a48b0ab577edab24a82f7c115df7f3ce 3 | timeCreated: 1506955672 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ConsumeElixirComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0588bf598660f014099a315b22926237 3 | timeCreated: 1506953539 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ElixirLisenterComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4fc3b1c2ba161d4f8c545b1dca27ae2 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/PauseListenerComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efa561422036d6b4d936a90805448a6c 3 | timeCreated: 1506954954 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ConsumeElixirCleanupSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5af4762a68ff1a42bed205a88369015 3 | timeCreated: 1506999401 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ElixirConsumePersistSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1c5396bfffb92049b241741678f4c77 3 | timeCreated: 1507013075 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyElixirListenersSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6aaababfba9ab9468d19af6c211eb97 3 | timeCreated: 1506959641 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyPauseListenersSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a1dfa8c9c635f342b7a196b3d1e3c2a 3 | timeCreated: 1506959641 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyTickListenersSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 420ffde2be09457478dd2ba0287deafc 3 | timeCreated: 1506959641 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameComponentsLookup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bbd5e189d7847b4e870722a01f7bf81 3 | timeCreated: 1506951452 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ConsumptionHistoryComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc780f615291b924283de0756af2f5c3 3 | timeCreated: 1506955672 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Scripts/System/CleanupConsumtionHistorySystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a39be1abd82780b43b737b792ae5ca91 3 | timeCreated: 1507013798 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameElixirComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f04be799fd43fff4784b4bad1016a782 3 | timeCreated: 1506953548 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GamePauseComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa82107d88e7fed468524d3da72b884a 3 | timeCreated: 1506953548 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameTickComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79411f2da6da6044699b913b7477402f 3 | timeCreated: 1506953548 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameJumpInTimeComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1e00b513ada2184caf9bb6fb505a1c7 3 | timeCreated: 1506956438 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameLogicSystemComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6560d692ee4ae41429678d975fc8b46f 3 | timeCreated: 1506957619 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameTickListenerComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 972afab736555da4ebd87281495f46e4 3 | timeCreated: 1506954967 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameConsumeElixirComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 986004205c6790848b568bb60d59e3bf 3 | timeCreated: 1506953548 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameElixirLisenterComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5c28c1611501bf46bc3eaee10297413 3 | timeCreated: 1506954967 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GamePauseListenerComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f52f5e37950ca3846aa4dfa280b1b984 3 | timeCreated: 1506954967 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/Components/GameConsumptionHistoryComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b75bc5331a9def64ea2ce58db4f32fc8 3 | timeCreated: 1506955680 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /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 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameEntity.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by Entitas.CodeGeneration.Plugins.EntityGenerator. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | public sealed partial class GameEntity : Entitas.Entity { 10 | } 11 | -------------------------------------------------------------------------------- /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: 4 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_DefaultBehaviorMode: 0 10 | m_SpritePackerMode: 0 11 | m_SpritePackerPaddingPower: 1 12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 13 | m_ProjectGenerationRootNamespace: 14 | m_UserGeneratedProjectSuffix: 15 | m_CollabEditorSettings: 16 | inProgressEnabled: 1 17 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ConsumeElixirCleanupSystem.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | 3 | public class ConsumeElixirCleanupSystem : ICleanupSystem 4 | { 5 | readonly GameContext _context; 6 | readonly IGroup _entities; 7 | public ConsumeElixirCleanupSystem(Contexts contexts) 8 | { 9 | _context = contexts.game; 10 | _entities = _context.GetGroup(GameMatcher.ConsumeElixir); 11 | } 12 | 13 | public void Cleanup() 14 | { 15 | foreach (var item in _entities.GetEntities()) 16 | item.Destroy(); 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Assets/Scripts/System/TickUpdateSystem.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | //更新帧计数 3 | public class TickUpdateSystem : IInitializeSystem, IExecuteSystem 4 | { 5 | readonly GameContext _context; 6 | public TickUpdateSystem(Contexts contexts) 7 | { 8 | _context = contexts.game; 9 | } 10 | 11 | public void Initialize() 12 | { 13 | _context.ReplaceTick(0); 14 | } 15 | 16 | public void Execute() 17 | { 18 | if (!_context.isPause) 19 | _context.ReplaceTick(_context.tick.currentTick + 1); 20 | } 21 | 22 | } 23 | 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | -------------------------------------------------------------------------------- /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 | - 17 | - 18 | - 19 | - 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 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameAttribute.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by Entitas.CodeGeneration.Plugins.ContextAttributeGenerator. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | public sealed class GameAttribute : Entitas.CodeGeneration.Attributes.ContextAttribute { 10 | 11 | public GameAttribute() : base("Game") { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ElixirAmountBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class ElixirAmountBehaviour : MonoBehaviour, IElixirListener 6 | { 7 | private GameContext _context; 8 | private Text _text; 9 | 10 | private void Awake() 11 | { 12 | _context = Contexts.sharedInstance.game; 13 | _context.CreateEntity().AddElixirLisenter(this); 14 | } 15 | private void Start() 16 | { 17 | _text = GetComponent(); 18 | } 19 | 20 | public void ElixirAmountChanged(float amount) 21 | { 22 | _text.text =""+(int)amount; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Scripts/Component/ConsumptionHistoryComponent.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using Entitas.CodeGeneration.Attributes; 3 | using System.Collections.Generic; 4 | 5 | [Game,Unique] 6 | public class ConsumptionHistoryComponent:IComponent 7 | { 8 | public List entries; 9 | } 10 | 11 | public class ConsumptionEntity 12 | { 13 | public long tick 14 | { 15 | get; 16 | private set; 17 | } 18 | public int amount 19 | { 20 | get; 21 | private set; 22 | } 23 | public ConsumptionEntity(long tick, int amount) 24 | { 25 | this.tick = tick; 26 | this.amount = amount; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/PauseButtonBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class PauseButtonBehaviour : MonoBehaviour, IPauseListener 6 | { 7 | GameContext _context; 8 | [SerializeField] 9 | Text _text; 10 | private void Awake() 11 | { 12 | _context = Contexts.sharedInstance.game; 13 | _context.CreateEntity().AddPauseListener(this); 14 | } 15 | 16 | public void PauseStateChanged(bool isPause) 17 | { 18 | _text.text = isPause ? "Resume" : "Pause"; 19 | } 20 | 21 | public void PressButton() 22 | { 23 | _context.isPause = !_context.isPause; 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ElixirBarBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class ElixirBarBehaviour : MonoBehaviour, IElixirListener 6 | { 7 | private GameContext _context; 8 | private Slider _slider; 9 | private void Awake() 10 | { 11 | _context = Contexts.sharedInstance.game; 12 | _context.CreateEntity().AddElixirLisenter(this); 13 | } 14 | private void Start() 15 | { 16 | _slider = GetComponent(); 17 | } 18 | 19 | public void ElixirAmountChanged(float amount) 20 | { 21 | float value = amount / ProduceElixirSystem.ElixirCapacity; 22 | _slider.value = value; 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/fabl.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b041b7bd00cace14d87c659436fd83e0 3 | timeCreated: 1506951380 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/TimeBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class TimeBehaviour : MonoBehaviour, ITickListener 6 | { 7 | GameContext _context; 8 | Text _text; 9 | 10 | private void Awake() 11 | { 12 | _context = Contexts.sharedInstance.game; 13 | _context.CreateEntity().AddTickListener(this); 14 | } 15 | private void Start() 16 | { 17 | _text = GetComponent(); 18 | } 19 | 20 | public void TickChanged(long cureentTick) 21 | { 22 | var sec = (cureentTick / 60) % 60; 23 | var min = (cureentTick / 60)/60; 24 | var secText = sec > 9 ? "" + sec : "0" + sec; 25 | var minText = min > 9 ? "" + min : "0" + min; 26 | _text.text = minText + ":" + secText; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c70e425fa4b7243449296552def006db 3 | timeCreated: 1506951384 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Unity.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28b94084807889e4aa24416c5d841eae 3 | timeCreated: 1506951376 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Utils.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36d1ea46aa68b5e4bacecf48ba929c29 3 | timeCreated: 1506951378 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /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: 3 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_EnablePCM: 1 18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 | m_AutoSimulation: 1 20 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.Blueprints.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe9f92f97314f94459204de84b0343b2 3 | timeCreated: 1506951385 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Migration.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f75655f2ff92a446ab3507be54502ca 3 | timeCreated: 1506951376 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82f9b11c27760a54085846bb93cd192f 3 | timeCreated: 1506951379 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Unity.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c57f1b7d0358bce418a6cd58208180a0 3 | timeCreated: 1506951384 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.VisualDebugging.Unity.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17af2010976544e46ad820a82c7c48a3 3 | timeCreated: 1506951374 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Entitas.CodeGeneration.Attributes.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acdb21c4d4fc2294ebebeda320c39892 3 | timeCreated: 1506951379 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Plugins.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6f70f7c6e61e4a47872e4d1b2d20089 3 | timeCreated: 1506951384 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.Migration.Unity.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b19ab2302592b04e8bbcdfd1fba202d 3 | timeCreated: 1506951375 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.CodeGenerator.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38906740b06082240baabfe1b93925ff 3 | timeCreated: 1506951378 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.CodeGeneration.Unity.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3317453cf4026bc49b8ca4f054e8ef5e 3 | timeCreated: 1506951377 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3e50934dc4e8fc4e8894721bb9e68a4 3 | timeCreated: 1506951382 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Libraries/Entitas/Editor/Entitas.VisualDebugging.CodeGeneration.Plugins.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0187e4f779b88643a42e655155e0541 3 | timeCreated: 1506951379 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /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 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_Enabled: 0 14 | m_CaptureEditorExceptions: 1 15 | UnityPurchasingSettings: 16 | m_Enabled: 0 17 | m_TestMode: 0 18 | UnityAnalyticsSettings: 19 | m_Enabled: 0 20 | m_InitializeOnStartup: 1 21 | m_TestMode: 0 22 | m_TestEventUrl: 23 | m_TestConfigUrl: 24 | UnityAdsSettings: 25 | m_Enabled: 0 26 | m_InitializeOnStartup: 1 27 | m_TestMode: 0 28 | m_EnabledPlatforms: 4294967295 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/TimePickerBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class TimePickerBehaviour : MonoBehaviour, IPauseListener 6 | { 7 | private GameContext _context; 8 | private Slider _slider; 9 | 10 | private void Awake() 11 | { 12 | _context = Contexts.sharedInstance.game; 13 | _context.CreateEntity().AddPauseListener(this); 14 | } 15 | private void Start() 16 | { 17 | _slider = GetComponent(); 18 | } 19 | 20 | public void PauseStateChanged(bool isPause) 21 | { 22 | _slider.enabled = isPause; 23 | 24 | _slider.maxValue = _context.tick.currentTick; 25 | _slider.value = _context.tick.currentTick; 26 | 27 | } 28 | 29 | public void ChangedValue() 30 | { 31 | float value = _slider.value; 32 | _context.ReplaceJumpInTime((long)value); 33 | } 34 | 35 | } 36 | 37 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyTickListenersSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | 4 | public class NotifyTickListenersSystem : ReactiveSystem 5 | { 6 | readonly GameContext _context; 7 | readonly IGroup _listeners; 8 | 9 | public NotifyTickListenersSystem(Contexts contexts):base(contexts.game) 10 | { 11 | _context = contexts.game; 12 | _listeners = _context.GetGroup(GameMatcher.TickListener); 13 | } 14 | 15 | protected override void Execute(List entities) 16 | { 17 | long tick = _context.tick.currentTick; 18 | foreach (var item in _listeners.GetEntities()) 19 | item.tickListener.value.TickChanged(tick); 20 | } 21 | 22 | protected override bool Filter(GameEntity entity) 23 | { 24 | return entity.hasTick; 25 | } 26 | 27 | protected override ICollector GetTrigger(IContext context) 28 | { 29 | return context.CreateCollector(GameMatcher.Tick); 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyElixirListenersSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | 4 | public class NotifyElixirListenersSystem:ReactiveSystem 5 | { 6 | readonly GameContext _context; 7 | readonly IGroup _listeners; 8 | 9 | public NotifyElixirListenersSystem(Contexts contexts):base(contexts.game) 10 | { 11 | _context = contexts.game; 12 | _listeners = _context.GetGroup(GameMatcher.ElixirLisenter); 13 | } 14 | 15 | protected override void Execute(List entities) 16 | { 17 | float amount = _context.elixir.amount; 18 | foreach (var item in _listeners.GetEntities()) 19 | item.elixirLisenter.value.ElixirAmountChanged(amount); 20 | } 21 | 22 | protected override bool Filter(GameEntity entity) 23 | { 24 | return entity.hasElixir; 25 | } 26 | 27 | protected override ICollector GetTrigger(IContext context) 28 | { 29 | return context.CreateCollector(GameMatcher.Elixir); 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameContext.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by Entitas.CodeGeneration.Plugins.ContextGenerator. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | public sealed partial class GameContext : Entitas.Context { 10 | 11 | public GameContext() 12 | : base( 13 | GameComponentsLookup.TotalComponents, 14 | 0, 15 | new Entitas.ContextInfo( 16 | "Game", 17 | GameComponentsLookup.componentNames, 18 | GameComponentsLookup.componentTypes 19 | ), 20 | (entity) => 21 | 22 | #if (ENTITAS_FAST_AND_UNSAFE) 23 | new Entitas.UnsafeAERC() 24 | #else 25 | new Entitas.SafeAERC(entity) 26 | #endif 27 | 28 | ) { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ConsumeElixirSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | 4 | public class ConsumeElixirSystem : ReactiveSystem 5 | { 6 | readonly GameContext _context; 7 | public ConsumeElixirSystem(Contexts contexts):base(contexts.game) 8 | { 9 | _context = contexts.game; 10 | } 11 | 12 | protected override void Execute(List entities) 13 | { 14 | float amount = 0.0f; 15 | foreach (var item in entities) 16 | { 17 | if (_context.elixir.amount < item.consumeElixir.amount) 18 | return; 19 | amount = _context.elixir.amount-item.consumeElixir.amount; 20 | _context.ReplaceElixir(amount); 21 | } 22 | } 23 | 24 | protected override bool Filter(GameEntity entity) 25 | { 26 | return entity.hasConsumeElixir; 27 | } 28 | 29 | protected override ICollector GetTrigger(IContext context) 30 | { 31 | return context.CreateCollector(GameMatcher.ConsumeElixir); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Assets/Scripts/System/NotifyPauseListenersSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | 4 | public class NotifyPauseListenersSystem : ReactiveSystem 5 | { 6 | readonly GameContext _context; 7 | readonly IGroup _listeners; 8 | public NotifyPauseListenersSystem(Contexts contexts):base(contexts.game) 9 | { 10 | _context = contexts.game; 11 | _listeners = _context.GetGroup(GameMatcher.PauseListener); 12 | } 13 | 14 | protected override void Execute(List entities) 15 | { 16 | bool value = _context.isPause; 17 | foreach (var item in _listeners.GetEntities()) 18 | item.pauseListener.value.PauseStateChanged(value); 19 | } 20 | 21 | protected override bool Filter(GameEntity entity) 22 | { 23 | // return entity.isPause; 24 | return true; 25 | } 26 | 27 | protected override ICollector GetTrigger(IContext context) 28 | { 29 | return context.CreateCollector(GameMatcher.Pause.AddedOrRemoved()); 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ProduceElixirSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | using UnityEngine; 4 | 5 | public class ProduceElixirSystem : ReactiveSystem, IInitializeSystem 6 | { 7 | readonly GameContext _context; 8 | 9 | //能量的最大值 10 | public const float ElixirCapacity = 14f; 11 | //每次能量增长的幅度 12 | readonly float _productionStep = 0.01f; 13 | 14 | public ProduceElixirSystem(Contexts contexts) : base(contexts.game) 15 | { 16 | _context = contexts.game; 17 | } 18 | 19 | public void Initialize() 20 | { 21 | _context.ReplaceElixir(0); 22 | } 23 | 24 | protected override void Execute(List entities) 25 | { 26 | var newAmount = _context.elixir.amount + _productionStep; 27 | newAmount = Mathf.Min(ElixirCapacity, newAmount); 28 | _context.ReplaceElixir(newAmount); 29 | } 30 | 31 | protected override bool Filter(GameEntity entity) 32 | { 33 | return entity.hasTick; 34 | } 35 | 36 | protected override ICollector GetTrigger(IContext context) 37 | { 38 | return context.CreateCollector(GameMatcher.Tick); 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /Assets/Scripts/System/ElixirConsumePersistSystem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Entitas; 3 | 4 | public class ElixirConsumePersistSystem : ReactiveSystem 5 | { 6 | readonly GameContext _context; 7 | public ElixirConsumePersistSystem(Contexts contexts):base(contexts.game) 8 | { 9 | _context = contexts.game; 10 | } 11 | 12 | protected override void Execute(List entities) 13 | { 14 | if (_context.isPause) 15 | return; 16 | var previousEntries = _context.hasConsumptionHistory ? _context.consumptionHistory.entries : new List(); 17 | foreach (var entity in entities) 18 | { 19 | previousEntries.Add(new ConsumptionEntity(_context.tick.currentTick, entity.consumeElixir.amount)); 20 | } 21 | _context.ReplaceConsumptionHistory(previousEntries); 22 | } 23 | 24 | protected override bool Filter(GameEntity entity) 25 | { 26 | return entity.hasConsumeElixir; 27 | } 28 | 29 | protected override ICollector GetTrigger(IContext context) 30 | { 31 | return context.CreateCollector(GameMatcher.ConsumeElixir); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Game/GameMatcher.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by Entitas.CodeGeneration.Plugins.ContextMatcherGenerator. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | public sealed partial class GameMatcher { 10 | 11 | public static Entitas.IAllOfMatcher AllOf(params int[] indices) { 12 | return Entitas.Matcher.AllOf(indices); 13 | } 14 | 15 | public static Entitas.IAllOfMatcher AllOf(params Entitas.IMatcher[] matchers) { 16 | return Entitas.Matcher.AllOf(matchers); 17 | } 18 | 19 | public static Entitas.IAnyOfMatcher AnyOf(params int[] indices) { 20 | return Entitas.Matcher.AnyOf(indices); 21 | } 22 | 23 | public static Entitas.IAnyOfMatcher AnyOf(params Entitas.IMatcher[] matchers) { 24 | return Entitas.Matcher.AnyOf(matchers); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/Sources/Generated/Feature.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by Entitas.VisualDebugging.CodeGeneration.Plugins.FeatureClassGenerator. 4 | // 5 | // Changes to this file may cause incorrect behavior and will be lost if 6 | // the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | #if (!ENTITAS_DISABLE_VISUAL_DEBUGGING && UNITY_EDITOR) 10 | 11 | public class Feature : Entitas.VisualDebugging.Unity.DebugSystems { 12 | 13 | public Feature(string name) : base(name) { 14 | } 15 | 16 | public Feature() : base(true) { 17 | var typeName = Entitas.Utils.TypeSerializationExtension.ToCompilableString(GetType()); 18 | var shortType = Entitas.Utils.TypeSerializationExtension.ShortTypeName(typeName); 19 | var readableType = Entitas.Utils.StringExtension.ToSpacedCamelCase(shortType); 20 | 21 | initialize(readableType); 22 | } 23 | } 24 | 25 | #else 26 | 27 | public class Feature : Entitas.Systems { 28 | 29 | public Feature(string name) { 30 | } 31 | 32 | public Feature() { 33 | } 34 | } 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Assets/Scripts/Behaviour/ConsumeButtonBehaviour.cs: -------------------------------------------------------------------------------- 1 | using Entitas; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | public class ConsumeButtonBehaviour : MonoBehaviour, IPauseListener, IElixirListener 6 | { 7 | private GameContext _context; 8 | //点击按钮消耗的能量 9 | [SerializeField] 10 | private int _consumptionAmount; 11 | private Button _button; 12 | [SerializeField] 13 | private Image _image; 14 | private void Awake() 15 | { 16 | _context = Contexts.sharedInstance.game; 17 | var entity= _context.CreateEntity(); 18 | entity.AddPauseListener(this); 19 | entity.AddElixirLisenter(this); 20 | } 21 | 22 | private void Start() 23 | { 24 | _button = GetComponent