summaryrefslogtreecommitdiff
path: root/WorldlineKeepers/Assets/Scripts/Unit
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-05-15 09:28:11 +0800
committerchai <215380520@qq.com>2023-05-15 09:28:11 +0800
commit3b036c6de871aa519a1f7fbfb52e09618945041f (patch)
treed5dc6d4f1d501e4ce3c6d69ca7a698a03634490c /WorldlineKeepers/Assets/Scripts/Unit
parent6fb204d494b897907d655b5752196983a82ceba2 (diff)
*misc
Diffstat (limited to 'WorldlineKeepers/Assets/Scripts/Unit')
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker.meta8
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs15
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs.meta11
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs18
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs.meta11
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBehaviour.cs11
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs41
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs.meta11
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterInfo.cs7
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterMetadata.cs9
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula.meta8
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs10
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs.meta11
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/PlayerController.cs33
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs3
-rw-r--r--WorldlineKeepers/Assets/Scripts/Unit/UnitManager.cs7
16 files changed, 202 insertions, 12 deletions
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker.meta
new file mode 100644
index 0000000..86a6143
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 65b7da83d18b0a045a33527f5d446de7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs
new file mode 100644
index 0000000..bdb18a2
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK
+{
+
+ public class BerserkerBehaviour : CharacterBehaviour
+ {
+
+
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs.meta
new file mode 100644
index 0000000..2718863
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBehaviour.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 28a1e81c0e2cc314085ee6e5fc2528ed
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs
new file mode 100644
index 0000000..9601783
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK
+{
+
+ public class BerserkerBuilder : CharacterBuilder
+ {
+
+ protected override PlayerController BuildPhaseController()
+ {
+ return base.BuildPhaseController();
+ }
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs.meta
new file mode 100644
index 0000000..270e5a5
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Berserker/BerserkerBuilder.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e49b90c4b84cbc54bb4ad7d14925e5db
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBehaviour.cs
index 7674523..f056056 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBehaviour.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBehaviour.cs
@@ -11,7 +11,7 @@ namespace WK
public abstract class CharacterBehaviour
{
private PlayerController m_Controller;
- public PlayerController controller { get { return m_Controller; } }
+ protected PlayerController controller { get { return m_Controller; } }
public CharacterInfo info { get { return m_Controller.info; } }
@@ -19,14 +19,19 @@ namespace WK
{
}
- public virtual void OnGlobalUpdate()
+ public virtual void OnPreUpdate()
{
}
- public virtual void OnStageUpdate()
+ public virtual void OnUpdate()
{
}
+ public virtual void OnPostUpdate()
+ {
+
+ }
+
}
} \ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs
new file mode 100644
index 0000000..c51d565
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs
@@ -0,0 +1,41 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using WK.Data;
+
+namespace WK
+{
+
+ public class CharacterBuilder
+ {
+ protected GameObject m_Root;
+ protected CharacterMetadata m_Metadata;
+
+ public GameObject Build(CharacterMetadata metadata)
+ {
+ m_Metadata = metadata;
+
+ m_Root = BuildPhaseRootGameObject();
+
+ return m_Root;
+ }
+
+ protected virtual GameObject BuildPhaseRootGameObject()
+ {
+ GameObject go = new GameObject();
+ return go;
+ }
+
+ protected virtual PlayerController BuildPhaseController()
+ {
+ return null;
+ }
+
+ protected virtual void BuildPhaseSpriteRenderer()
+ {
+
+ }
+
+ }
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs.meta
new file mode 100644
index 0000000..a859554
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterBuilder.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c4e33239fb24da54cb24d06bd2c5cc51
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterInfo.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterInfo.cs
index 62dd830..63bf35f 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterInfo.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterInfo.cs
@@ -118,7 +118,7 @@ namespace WK
}
/// <summary>
- /// 角色当前状态
+ /// 角色当前状态,包括: 属性数值、buff、perk
/// </summary>
public class CharacterInfo
{
@@ -132,6 +132,11 @@ namespace WK
public CharacterPerksCollection perks { get { return m_Perks; } }
public CharacterPerksCollection m_Perks;
+ public void OnUpdate()
+ {
+
+ }
+
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterMetadata.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterMetadata.cs
index 81b80c0..c8409da 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterMetadata.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/CharacterMetadata.cs
@@ -8,16 +8,19 @@ namespace WK.Data
public class CharacterMetadata
{
-
public string uid;
public string name_key;
- public Dictionary<string, string> stats;
+ public string stats;
public string behaviour;
- public string extra_data;
+ public string builder;
+
+ public string level_stats;
+
+ public Dictionary<string, string> extra_data;
}
}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula.meta
new file mode 100644
index 0000000..ffeee0a
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a9d6564032bf7864fbf3b2ef87aafa6d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs
new file mode 100644
index 0000000..0789b9a
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs
@@ -0,0 +1,10 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DraculaBehaviour
+{
+
+
+
+}
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs.meta b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs.meta
new file mode 100644
index 0000000..2ebde89
--- /dev/null
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Dracula/DraculaBehaviour.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9c1fd60947162c742a3ed5448c72b76b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/PlayerController.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/PlayerController.cs
index 2f19fb3..5ca87e6 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/Characters/PlayerController.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/PlayerController.cs
@@ -5,10 +5,13 @@ using UnityEngine;
namespace WK
{
- public class PlayerController
+ /// <summary>
+ /// 玩家角色根节点
+ /// </summary>
+ public sealed class PlayerController : INotification
{
/// <summary>
- /// 角色所有当前数值
+ /// 角色所有当前数值集合
/// </summary>
private CharacterInfo m_CharacterInfo;
public CharacterInfo info { get { return m_CharacterInfo; } }
@@ -19,6 +22,32 @@ namespace WK
private CharacterBehaviour m_CharacterBehaviour;
public CharacterBehaviour behaviour { get { return m_CharacterBehaviour; } }
+ /// <summary>
+ /// gameobject根节点
+ /// </summary>
+ private GameObject m_GameObject;
+ public GameObject gameObject { get { return m_GameObject;} }
+
+ public void OnCreate()
+ {
+ }
+
+ /// <summary>
+ /// 逻辑更新
+ /// </summary>
+ public void OnUpdate()
+ {
+ // preupdate
+ behaviour.OnPreUpdate();
+
+ // update
+ info.OnUpdate();
+ behaviour.OnUpdate();
+
+ // post update
+ behaviour.OnPostUpdate();
+ }
+
}
} \ No newline at end of file
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs
index 966c3d0..6e877b3 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs
@@ -4,6 +4,7 @@ using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UIElements;
+using WK.Rendering;
namespace MH
{
@@ -121,7 +122,7 @@ namespace MH
m_Moving = false;
}
- GetComponent<Animator>().speed = m_Moving ? 1 : 0;
+ GetComponent<SpriteAnimationController>().playing = m_Moving ? true : false;
if(Input.GetMouseButtonUp(0))
{
diff --git a/WorldlineKeepers/Assets/Scripts/Unit/UnitManager.cs b/WorldlineKeepers/Assets/Scripts/Unit/UnitManager.cs
index 9ec97f3..9ecb088 100644
--- a/WorldlineKeepers/Assets/Scripts/Unit/UnitManager.cs
+++ b/WorldlineKeepers/Assets/Scripts/Unit/UnitManager.cs
@@ -5,10 +5,13 @@ using UnityEngine;
namespace WK
{
- public class UnitManager
+ public class UnitManager : Singleton<UnitManager>
{
-
+ /// <summary>
+ /// 公共的标准角色构建流程
+ /// </summary>
+ public readonly CharacterBuilder standardCharacterBuilder = new CharacterBuilder();
}