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/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 +-
54 files changed, 961 insertions(+), 273 deletions(-)
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
(limited to 'WorldlineKeepers/Assets/Scripts')
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