From 3b036c6de871aa519a1f7fbfb52e09618945041f Mon Sep 17 00:00:00 2001
From: chai <215380520@qq.com>
Date: Mon, 15 May 2023 09:28:11 +0800
Subject: *misc
---
.../Assets/Bundle/characters/berserker.meta | 8 +
.../Bundle/characters/berserker/berserker.json | 10 +
.../characters/berserker/berserker.json.meta | 7 +
.../Bundle/characters/berserker/level_stats.csv | 2 +
.../characters/berserker/level_stats.csv.meta | 7 +
.../Bundle/characters/berserker/sprites.meta | 8 +
.../berserker/sprites/berserker-Sheet.png | Bin 0 -> 2936 bytes
.../berserker/sprites/berserker-Sheet.png.meta | 222 +++++++++++++++++++++
.../berserker/sprites/berserker.aseprite | Bin 0 -> 3045 bytes
.../berserker/sprites/berserker.aseprite.meta | 7 +
.../Assets/Bundle/characters/ronin/ronin.json | 19 +-
.../Assets/Bundle/metadata/default_stats.csv | 28 +--
WorldlineKeepers/Assets/Scenes/Test.unity | 59 ++----
.../Assets/Scripts/Buffs/Behaviours.meta | 8 +
WorldlineKeepers/Assets/Scripts/Buffs/Buff.cs | 2 +-
.../Assets/Scripts/Buffs/BuffBehaviour.cs | 81 ++++++--
.../Assets/Scripts/Items/Behaviours.meta | 8 +
.../Items/Behaviours/ItemDaggerBehaviour.cs | 15 ++
.../Items/Behaviours/ItemDaggerBehaviour.cs.meta | 11 +
.../Items/Behaviours/ItemHellbellBehaviour.cs | 15 ++
.../Items/Behaviours/ItemHellbellBehaviour.cs.meta | 11 +
.../Assets/Scripts/Items/ItemBehaviour.cs | 6 +
.../Assets/Scripts/Items/ItemDaggerBehaviour.cs | 15 --
.../Scripts/Items/ItemDaggerBehaviour.cs.meta | 11 -
.../Assets/Scripts/Items/ItemHellbellBehaviour.cs | 15 --
.../Scripts/Items/ItemHellbellBehaviour.cs.meta | 11 -
.../Assets/Scripts/Modifier/Modifier.cs | 10 +
.../Assets/Scripts/Modifier/Modifier.cs.meta | 11 +
.../Assets/Scripts/Rendering/GraphicsManager.cs | 15 ++
.../Scripts/Rendering/GraphicsManager.cs.meta | 11 +
.../Assets/Scripts/Rendering/SpriteAnimation.cs | 2 +-
.../Scripts/Rendering/SpriteAnimationController.cs | 39 +++-
.../Assets/Scripts/Stats/CharacterStatsBase.cs | 5 +
WorldlineKeepers/Assets/Scripts/Tests/TestEvent.cs | 10 +-
.../Assets/Scripts/Tools/FlagManager.cs | 44 ++++
.../Assets/Scripts/Tools/FlagManager.cs.meta | 11 +
.../Assets/Scripts/Tools/GlobalEventManager.cs | 2 +-
.../Assets/Scripts/Tools/Notification.meta | 8 +
.../Tools/Notification/NotificationCenter.cs | 167 ++++++++++++++++
.../Tools/Notification/NotificationCenter.cs.meta | 11 +
.../Tools/Notification/NotificationExtensions.cs | 17 ++
.../Notification/NotificationExtensions.cs.meta | 11 +
.../Tools/Notification/ScopedNotification.cs | 89 +++++++++
.../Tools/Notification/ScopedNotification.cs.meta | 11 +
.../Assets/Scripts/Tools/NotificationCenter.cs | 167 ----------------
.../Scripts/Tools/NotificationCenter.cs.meta | 11 -
.../Assets/Scripts/Tools/TriggerSystem.meta | 8 +
.../Scripts/Tools/TriggerSystem/ActiveTrigger.cs | 19 ++
.../Tools/TriggerSystem/ActiveTrigger.cs.meta | 11 +
.../Assets/Scripts/Tools/TriggerSystem/Trigger.cs | 110 ++++++++++
.../Scripts/Tools/TriggerSystem/Trigger.cs.meta | 11 +
.../Assets/Scripts/Unit/Characters/Berserker.meta | 8 +
.../Characters/Berserker/BerserkerBehaviour.cs | 15 ++
.../Berserker/BerserkerBehaviour.cs.meta | 11 +
.../Unit/Characters/Berserker/BerserkerBuilder.cs | 18 ++
.../Characters/Berserker/BerserkerBuilder.cs.meta | 11 +
.../Scripts/Unit/Characters/CharacterBehaviour.cs | 11 +-
.../Scripts/Unit/Characters/CharacterBuilder.cs | 41 ++++
.../Unit/Characters/CharacterBuilder.cs.meta | 11 +
.../Scripts/Unit/Characters/CharacterInfo.cs | 7 +-
.../Scripts/Unit/Characters/CharacterMetadata.cs | 9 +-
.../Assets/Scripts/Unit/Characters/Dracula.meta | 8 +
.../Unit/Characters/Dracula/DraculaBehaviour.cs | 10 +
.../Characters/Dracula/DraculaBehaviour.cs.meta | 11 +
.../Scripts/Unit/Characters/PlayerController.cs | 33 ++-
.../Unit/Characters/Samurai/SamuraiScript.cs | 3 +-
.../Assets/Scripts/Unit/UnitManager.cs | 7 +-
67 files changed, 1276 insertions(+), 335 deletions(-)
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker.meta
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json.meta
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv.meta
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/sprites.meta
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png.meta
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite
create mode 100644 WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Buffs/Behaviours.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Items/Behaviours.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs.meta
delete mode 100644 WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs
delete mode 100644 WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs.meta
delete mode 100644 WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs
delete mode 100644 WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationCenter.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationCenter.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationExtensions.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationExtensions.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/ScopedNotification.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/Notification/ScopedNotification.cs.meta
delete mode 100644 WorldlineKeepers/Assets/Scripts/Tools/NotificationCenter.cs
delete mode 100644 WorldlineKeepers/Assets/Scripts/Tools/NotificationCenter.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/TriggerSystem.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/TriggerSystem/ActiveTrigger.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/TriggerSystem/ActiveTrigger.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/TriggerSystem/Trigger.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Tools/TriggerSystem/Trigger.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula.meta
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs
create mode 100644 WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs.meta
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker.meta
new file mode 100644
index 0000000..3ea8f58
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 914d1bcc1819da542bff4ece042c70c0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json b/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json
new file mode 100644
index 0000000..20f5fb4
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json
@@ -0,0 +1,10 @@
+{
+ "uid" : "berserker",
+ "name_key" : "CHARACTER_BERSERKER",
+ "level_stats" : "level_stats.csv",
+ "behaviour":"BerserkerBehaviour",
+ "builder" : "BerserkerBuilder",
+ "extra_data": {
+ "test" : "asdasd"
+ }
+}
\ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json.meta
new file mode 100644
index 0000000..13665cd
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/berserker.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e14e1c0976065a8449c3fda1ef0e597b
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv b/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv
new file mode 100644
index 0000000..c2134ce
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv
@@ -0,0 +1,2 @@
+stats 1 2 3 4 5 6 7 8
+max_level
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv.meta
new file mode 100644
index 0000000..142b0ec
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/level_stats.csv.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4e909e4e0fa443445b379f32a4f30ae8
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites.meta
new file mode 100644
index 0000000..c2e8888
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bbe8467143681e14fa10b90600a95b4c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png
new file mode 100644
index 0000000..cab325e
Binary files /dev/null and b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png differ
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png.meta
new file mode 100644
index 0000000..513482d
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker-Sheet.png.meta
@@ -0,0 +1,222 @@
+fileFormatVersion: 2
+guid: fcb020324b5b1724a9806d9f96796187
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 2
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 32
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: berserker-Sheet_0
+ rect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 40
+ height: 40
+ alignment: 7
+ pivot: {x: 0.5, y: 0}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4279728043f08a240808194242e8aa58
+ internalID: -1193909948
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: berserker-Sheet_1
+ rect:
+ serializedVersion: 2
+ x: 40
+ y: 0
+ width: 40
+ height: 40
+ alignment: 7
+ pivot: {x: 0.5, y: 0}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: d4c5fe065385164498e4f4e0e2b146b5
+ internalID: 1225653071
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: berserker-Sheet_2
+ rect:
+ serializedVersion: 2
+ x: 80
+ y: 0
+ width: 40
+ height: 40
+ alignment: 7
+ pivot: {x: 0.5, y: 0}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 54aff87eb2dd57443873b44a0fd8cca3
+ internalID: 1091254877
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: berserker-Sheet_3
+ rect:
+ serializedVersion: 2
+ x: 120
+ y: 0
+ width: 40
+ height: 40
+ alignment: 7
+ pivot: {x: 0.5, y: 0}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 4c326e90275c4ca448220847872ecf4a
+ internalID: -1523841862
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable:
+ berserker-Sheet_3: -1523841862
+ berserker-Sheet_0: -1193909948
+ berserker-Sheet_1: 1225653071
+ berserker-Sheet_2: 1091254877
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite
new file mode 100644
index 0000000..73b39ea
Binary files /dev/null and b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite differ
diff --git a/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite.meta b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite.meta
new file mode 100644
index 0000000..27a8c5f
--- /dev/null
+++ b/WorldlineKeepers/Assets/Bundle/characters/berserker/sprites/berserker.aseprite.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 95f6e7e9b2f2be1429b64f1e37124fc0
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Bundle/characters/ronin/ronin.json b/WorldlineKeepers/Assets/Bundle/characters/ronin/ronin.json
index c8afbb1..20f5fb4 100644
--- a/WorldlineKeepers/Assets/Bundle/characters/ronin/ronin.json
+++ b/WorldlineKeepers/Assets/Bundle/characters/ronin/ronin.json
@@ -1,13 +1,10 @@
{
- "uid" : "ronin",
- "name_key" : "CHARACTER_RONIN",
- "stats" : {
- "max_level" : "100",
- "level" : "1",
- "health" : "100",
- "max_health" : "10000000",
- "exp" : "0"
- },
- "behaviour":"RoninBehaviour",
- "extra_data":""
+ "uid" : "berserker",
+ "name_key" : "CHARACTER_BERSERKER",
+ "level_stats" : "level_stats.csv",
+ "behaviour":"BerserkerBehaviour",
+ "builder" : "BerserkerBuilder",
+ "extra_data": {
+ "test" : "asdasd"
+ }
}
\ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Bundle/metadata/default_stats.csv b/WorldlineKeepers/Assets/Bundle/metadata/default_stats.csv
index 63ae5c9..c049c69 100644
--- a/WorldlineKeepers/Assets/Bundle/metadata/default_stats.csv
+++ b/WorldlineKeepers/Assets/Bundle/metadata/default_stats.csv
@@ -1,13 +1,15 @@
-uid,name_key,type,extra_data
-#默认的角色属性,可以扩展,,,
-"#type: int, string, float, bool, char, Vector2, Vector3, Vector4, Color",,,
-level,LEVEL,int,
-max_level,MAX_LEVEL,int,
-health,HEALTH,int,
-max_health,MAX_HEALTH,int,
-exp,EXP,int,
-max_exp,MAX_EXP,int,
-health_recover,HEALTH_RECOVER,int,
-move_speed,MOVE_SPEED,int,
-damage,DAMAGE,int,
-attack_speed,ATTACK_SPEED,int,
+uid,name_key,type,behaviour,extra_data
+#默认的角色属性,可以扩展,,,,
+"#type: int, string, float, bool, char, Vector2, Vector3, Vector4, Color",,,,
+level,LEVEL,int,,
+max_level,MAX_LEVEL,int,,
+health,HEALTH,int,,
+max_health,MAX_HEALTH,int,,
+exp,EXP,int,,
+max_exp,MAX_EXP,int,,
+health_recover,HEALTH_RECOVER,int,,
+move_speed,MOVE_SPEED,int,,
+damage,DAMAGE,int,,
+attack_speed,ATTACK_SPEED,int,,
+#单次开箱掉落个数,,,,
+drop_per_chest,,int,,
diff --git a/WorldlineKeepers/Assets/Scenes/Test.unity b/WorldlineKeepers/Assets/Scenes/Test.unity
index e955672..0c1e493 100644
--- a/WorldlineKeepers/Assets/Scenes/Test.unity
+++ b/WorldlineKeepers/Assets/Scenes/Test.unity
@@ -7975,11 +7975,10 @@ GameObject:
m_Component:
- component: {fileID: 1195387724}
- component: {fileID: 1195387723}
- - component: {fileID: 1195387722}
- component: {fileID: 1195387725}
- - component: {fileID: 1195387726}
- component: {fileID: 1195387727}
- component: {fileID: 1195387728}
+ - component: {fileID: 1195387729}
m_Layer: 0
m_Name: samurai_0
m_TagString: Untagged
@@ -7987,26 +7986,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!95 &1195387722
-Animator:
- serializedVersion: 4
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1195387721}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 9100000, guid: 335121b87a4f32f49a3b8f68096e9758, type: 2}
- m_CullingMode: 0
- m_UpdateMode: 0
- m_ApplyRootMotion: 0
- m_LinearVelocityBlending: 0
- m_StabilizeFeet: 0
- m_WarningMessage:
- m_HasTransformHierarchy: 1
- m_AllowConstantClipSamplingOptimization: 1
- m_KeepAnimatorControllerStateOnDisable: 0
--- !u!212 &1195387723
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -8091,22 +8070,6 @@ MonoBehaviour:
m_Speed: 3
m_Blade: {fileID: 2722328784031211685, guid: 64b392d0acb4cb44c9907207b451bb4c, type: 3}
m_GroundBreak: {fileID: 570215259797550039, guid: 57b232593206cca4099ab1fb5ec80e04, type: 3}
---- !u!58 &1195387726
-CircleCollider2D:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1195387721}
- m_Enabled: 0
- m_Density: 1
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_UsedByEffector: 0
- m_UsedByComposite: 0
- m_Offset: {x: 0, y: 0.26039362}
- serializedVersion: 2
- m_Radius: 0.37971735
--- !u!114 &1195387727
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -8137,6 +8100,26 @@ MonoBehaviour:
m_Type: 2
m_Offset: {x: 0, y: 0.49}
m_Size: {x: 1, y: 1}
+--- !u!114 &1195387729
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1195387721}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 167a1a5c7e017484d92699dc23a2b5c0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SpriteAnimation:
+ sprites:
+ - {fileID: -1193909948, guid: fcb020324b5b1724a9806d9f96796187, type: 3}
+ - {fileID: 1225653071, guid: fcb020324b5b1724a9806d9f96796187, type: 3}
+ - {fileID: 1091254877, guid: fcb020324b5b1724a9806d9f96796187, type: 3}
+ - {fileID: -1523841862, guid: fcb020324b5b1724a9806d9f96796187, type: 3}
+ duration: 0.5
+ m_AutoPlay: 0
--- !u!1 &1196247968
GameObject:
m_ObjectHideFlags: 0
diff --git a/WorldlineKeepers/Assets/Scripts/Buffs/Behaviours.meta b/WorldlineKeepers/Assets/Scripts/Buffs/Behaviours.meta
new file mode 100644
index 0000000..f71f04d
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Buffs/Behaviours.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7451d6093f9cc26489367b95fcb1cdb1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Buffs/Buff.cs b/WorldlineKeepers/Assets/Scripts/Buffs/Buff.cs
index 1c6ae5a..7c8d7ef 100644
--- a/WorldlineKeepers/Assets/Scripts/Buffs/Buff.cs
+++ b/WorldlineKeepers/Assets/Scripts/Buffs/Buff.cs
@@ -12,7 +12,7 @@ public abstract class Buff
// 元数据
public BuffMetadata metadata;
- // buff效果器
+ // buff逻辑
public BuffBehaviour effector;
public string uid
diff --git a/WorldlineKeepers/Assets/Scripts/Buffs/BuffBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Buffs/BuffBehaviour.cs
index 0a0559f..4e20202 100644
--- a/WorldlineKeepers/Assets/Scripts/Buffs/BuffBehaviour.cs
+++ b/WorldlineKeepers/Assets/Scripts/Buffs/BuffBehaviour.cs
@@ -2,31 +2,74 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-public class BuffBehaviour
-{
- private CharacterBase m_Character;
-
- ///
- /// buff鐢熸垚鏃跺
- ///
- public virtual void OnCreate()
- {
+//https://zhuanlan.zhihu.com/p/150812545
+//https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/Abilities_Data_Driven/zh
- }
+namespace WK
+{
///
- /// 鏇存柊
+ /// Buff鐢熷懡鍛ㄦ湡
+ /// 瀹炰緥鍖 -> 鍔犲叆鍒楄〃鍓 -> 鍔犲叆鍒楄〃鍚 -> 鏇存柊 -> 绉诲嚭鍒楄〃鍓 -> 绉诲嚭鍒楄〃鍚
+ /// 姣忎竴姝ラ兘浼氬悜褰撳墠瀵硅薄浣滅敤鍩熷唴骞挎挱娑堟伅
///
- public virtual void OnUpdate()
+ public abstract class BuffBehaviour
{
+ ///
+ /// buff瀹炰緥鍖栨椂
+ ///
+ public virtual void OnCreate()
+ {
- }
+ }
- ///
- /// 瑙掕壊姝讳骸
- ///
- public virtual void OnCharacterDeath()
- {
- }
+ ///
+ /// 鑾峰緱杩欎釜buff锛堝姞鍏ュ垪琛ㄥ墠锛
+ ///
+ public virtual void OnBeforeAttach()
+ {
+ }
+
+ ///
+ /// 鍔犲叆鍒楄〃鍚庯紝婵娲昏繖涓猙uff
+ ///
+ public virtual void OnAfterAttach()
+ {
+
+ }
+
+ ///
+ /// 绗竴娆pdate鍓
+ ///
+ public virtual void OnStart()
+ {
+
+ }
+
+ ///
+ /// 浠庡垪琛ㄧЩ鍑哄墠
+ ///
+ public virtual void OnBeforeDeattach()
+ {
+
+ }
+
+ ///
+ /// 绉婚櫎杩欎釜buff锛堢Щ鍑哄垪琛ㄥ悗锛
+ ///
+ public virtual void OnAfterDeattach()
+ {
+
+ }
+
+ ///
+ /// 姣忓抚閫昏緫鏇存柊锛堝鏋滈渶瑕佺殑璇濓級
+ ///
+ public virtual void OnUpdate()
+ {
+
+ }
+
+ }
}
diff --git a/WorldlineKeepers/Assets/Scripts/Items/Behaviours.meta b/WorldlineKeepers/Assets/Scripts/Items/Behaviours.meta
new file mode 100644
index 0000000..b6151d7
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Items/Behaviours.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3692bca7626d0b24eaf9fd9822f92440
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs
new file mode 100644
index 0000000..1e0dfe6
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK.Items
+{
+
+ public class ItemDaggerBehaviour : ItemBehaviour
+ {
+
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs.meta
new file mode 100644
index 0000000..409141f
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemDaggerBehaviour.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 759db356bc563824882ce1b4ee8fd879
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs
new file mode 100644
index 0000000..1008eed
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK.Items
+{
+
+ public class ItemHellbellBehaviour : ItemBehaviour
+ {
+
+
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs.meta
new file mode 100644
index 0000000..341e7c0
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Items/Behaviours/ItemHellbellBehaviour.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1156ea03b49c6264692b0552676e606c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Items/ItemBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Items/ItemBehaviour.cs
index 520946a..9d7ce10 100644
--- a/WorldlineKeepers/Assets/Scripts/Items/ItemBehaviour.cs
+++ b/WorldlineKeepers/Assets/Scripts/Items/ItemBehaviour.cs
@@ -22,6 +22,12 @@ namespace WK.Items
{
}
+
+ public virtual void OnUpdate()
+ {
+
+ }
+
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs
deleted file mode 100644
index 1e0dfe6..0000000
--- a/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace WK.Items
-{
-
- public class ItemDaggerBehaviour : ItemBehaviour
- {
-
-
-
- }
-
-}
\ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs.meta
deleted file mode 100644
index 409141f..0000000
--- a/WorldlineKeepers/Assets/Scripts/Items/ItemDaggerBehaviour.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 759db356bc563824882ce1b4ee8fd879
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs
deleted file mode 100644
index 1008eed..0000000
--- a/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace WK.Items
-{
-
- public class ItemHellbellBehaviour : ItemBehaviour
- {
-
-
-
- }
-
-}
diff --git a/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs.meta
deleted file mode 100644
index 341e7c0..0000000
--- a/WorldlineKeepers/Assets/Scripts/Items/ItemHellbellBehaviour.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1156ea03b49c6264692b0552676e606c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs b/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs
new file mode 100644
index 0000000..54e5140
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs
@@ -0,0 +1,10 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Modifier
+{
+
+
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs.meta b/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs.meta
new file mode 100644
index 0000000..450a2c2
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Modifier/Modifier.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 77177e3292fb84d4cb05d7e54c6d4b6f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs b/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs
new file mode 100644
index 0000000..0503c7d
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK.Rendering
+{
+
+ public class GraphicsManager : Singleton
+ {
+
+ public List m_Shaders;
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs.meta b/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs.meta
new file mode 100644
index 0000000..d98f33f
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Rendering/GraphicsManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c770205e561842a4cab48846601a1776
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimation.cs b/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimation.cs
index f2b7e98..a6c6a6d 100644
--- a/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimation.cs
+++ b/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimation.cs
@@ -5,7 +5,7 @@ using UnityEngine;
namespace WK.Rendering
{
-
+ [Serializable]
public class SpriteAnimation
{
public List sprites;
diff --git a/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimationController.cs b/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimationController.cs
index 315cf91..63ba394 100644
--- a/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimationController.cs
+++ b/WorldlineKeepers/Assets/Scripts/Rendering/SpriteAnimationController.cs
@@ -13,20 +13,49 @@ namespace WK.Rendering
#endregion
#region 鍏叡瀛楁
-
+ public bool playing
+ {
+ get
+ {
+ return m_IsPlaying;
+ }
+ set
+ {
+ m_IsPlaying = value;
+ }
+ }
#endregion
#region 绉佹湁瀛楁
-
+ private SpriteRenderer m_SpriteRenderer;
+ private bool m_IsPlaying;
#endregion
private void Awake()
{
- // 绉佹湁瀛楁璧嬪
+ m_SpriteRenderer = GetComponent();
- // 鍏叡瀛楁璧嬪
+ StartCoroutine(CoPlayAnimation(m_SpriteAnimation.duration));
- // 鍒濆鍖
+ m_IsPlaying = true;
+ }
+
+ IEnumerator CoPlayAnimation(float duration = 1f)
+ {
+ int index = 0;
+ while (true)
+ {
+ if (!playing)
+ {
+ yield return null;
+ continue;
+ }
+
+ m_SpriteRenderer.sprite = m_SpriteAnimation.sprites[index];
+ yield return new WaitForSeconds(m_SpriteAnimation.duration / m_SpriteAnimation.sprites.Count);
+ index++;
+ index %= m_SpriteAnimation.sprites.Count;
+ }
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Stats/CharacterStatsBase.cs b/WorldlineKeepers/Assets/Scripts/Stats/CharacterStatsBase.cs
index 8dbb161..49c6933 100644
--- a/WorldlineKeepers/Assets/Scripts/Stats/CharacterStatsBase.cs
+++ b/WorldlineKeepers/Assets/Scripts/Stats/CharacterStatsBase.cs
@@ -61,6 +61,11 @@ namespace WK
}
}
+ //public T Access()
+ //{
+ // return null;
+ //}
+
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Tests/TestEvent.cs b/WorldlineKeepers/Assets/Scripts/Tests/TestEvent.cs
index c6e9bba..54df05b 100644
--- a/WorldlineKeepers/Assets/Scripts/Tests/TestEvent.cs
+++ b/WorldlineKeepers/Assets/Scripts/Tests/TestEvent.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using UnityEngine;
using WK;
-public class TestEvent : MonoBehaviour
+public class TestEvent : MonoBehaviour, INotification
{
#region 搴忓垪鍖
@@ -28,13 +28,15 @@ public class TestEvent : MonoBehaviour
private void OnEnable()
{
- GlobalEventManager.Instance.Register("Health.BurnKill", OnEventCheck);
- GlobalEventManager.Instance.Notify("Health.BurnKill");
+ //GlobalEventManager.Instance.Register("Health.BurnKill", OnEventCheck);
+ //GlobalEventManager.Instance.Notify("Health.BurnKill");
+ this.AddObserver("Health", OnEventCheck);
+ this.PostNotification("Health", "asdasd");
}
private void OnEventCheck(params object[] p)
{
- Debug.Log("msg");
+ Debug.Log("msg" + p[0]);
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs b/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs
new file mode 100644
index 0000000..b9a9454
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs
@@ -0,0 +1,44 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK
+{
+
+ ///
+ /// 全局标志管理
+ ///
+ public class FlagManager : Singleton
+ {
+ public Dictionary m_Flags;
+
+ public void AddFlag(string flag, bool value = false)
+ {
+ if(!HasFlag(flag))
+ {
+ m_Flags.Add(flag, value);
+ }
+ }
+
+ public bool HasFlag(string flag)
+ {
+ return m_Flags.ContainsKey(flag);
+ }
+
+ public bool IsFlag(string flag)
+ {
+ if(m_Flags.ContainsKey(flag)) return false;
+ return m_Flags[flag];
+ }
+
+ public void RemoveFlag(string flag)
+ {
+ if(HasFlag(flag))
+ {
+ m_Flags.Remove(flag);
+ }
+ }
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs.meta b/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs.meta
new file mode 100644
index 0000000..1738634
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Tools/FlagManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2451904bd85094c40a69d59807d51c5e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/GlobalEventManager.cs b/WorldlineKeepers/Assets/Scripts/Tools/GlobalEventManager.cs
index 47f3990..c9cde83 100644
--- a/WorldlineKeepers/Assets/Scripts/Tools/GlobalEventManager.cs
+++ b/WorldlineKeepers/Assets/Scripts/Tools/GlobalEventManager.cs
@@ -6,7 +6,7 @@ using UnityEngine.UIElements;
namespace WK
{
///
- /// 全局事件
+ /// 不指定发送者的全局事件
///
public class GlobalEventManager : Singleton
{
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/Notification.meta b/WorldlineKeepers/Assets/Scripts/Tools/Notification.meta
new file mode 100644
index 0000000..b20b283
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Tools/Notification.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 12f4a3b409f294746a9546c44272660c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationCenter.cs b/WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationCenter.cs
new file mode 100644
index 0000000..bb4e08e
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Tools/Notification/NotificationCenter.cs
@@ -0,0 +1,167 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK
+{
+
+ public class NotificationCenter : Singleton
+ {
+ public delegate void NotificatonHandler(params object[] args);
+
+ private Dictionary>> m_EventListeners = new Dictionary>>();
+
+ ///
+ /// 当前在调用中的回调
+ ///
+ private HashSet> m_CurInvokingCallbacks = new HashSet>();
+
+ public void AddObserver(string notificationName, NotificatonHandler handler)
+ {
+ AddObserver(null, notificationName, handler);
+ }
+
+ public void AddObserver(object sender, string notificationName, NotificatonHandler handler)
+ {
+ if (handler == null)
+ {
+ Debug.LogError("Can't add a null event handler for notification, " + notificationName);
+ return;
+ }
+ if (string.IsNullOrEmpty(notificationName))
+ {
+ Debug.LogError("Can't observe an unnamed notification");
+ return;
+ }
+ if (!m_EventListeners.ContainsKey(notificationName))
+ {
+ m_EventListeners.Add(notificationName, new Dictionary