diff options
Diffstat (limited to 'marching/Assets/Scripts/Unit')
13 files changed, 0 insertions, 532 deletions
diff --git a/marching/Assets/Scripts/Unit/Characters.meta b/marching/Assets/Scripts/Unit/Characters.meta deleted file mode 100644 index 3fdf467..0000000 --- a/marching/Assets/Scripts/Unit/Characters.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8cf6de6efdd45544187236b496a10b60 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs b/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs deleted file mode 100644 index d27d853..0000000 --- a/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class CharacterBase -{ - -} diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs.meta b/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs.meta deleted file mode 100644 index 87e3ef5..0000000 --- a/marching/Assets/Scripts/Unit/Characters/CharacterBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4997650a838b19e4a963da681b75b2d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs deleted file mode 100644 index 950b7ae..0000000 --- a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs +++ /dev/null @@ -1,94 +0,0 @@ -using JetBrains.Annotations; -using System.Collections; -using System.Collections.Generic; -using Unity.VisualScripting; -using UnityEngine; -using WK.Data; -using WK; - -namespace WK -{ - - public class CharacterStatsCollection - { - - } - - public class CharacterBuffsCollection - { - - } - - public class CharacterPerksCollection - { - - } - - /// <summary> - /// 角色当前状态 - /// </summary> - public class CharacterInfo - { - - /// <summary> - /// 角色当前所有属性 - /// </summary> - private List<CharacterStats> m_Stats; - - public CharacterStatsCollection stats { get { return m_AllStats; } } - private CharacterStatsCollection m_AllStats; - - /// <summary> - /// 角色当前所有buff - /// </summary> - private List<Buff> m_Buffs; - - /// <summary> - /// 角色当前所有被动 - /// </summary> - private List<PerkBase> m_Perks; - - public CharacterStats this[string statsUID] - { - get - { - if (m_Stats == null) - { - return null; - } - return GetStats(statsUID); - } - } - - public CharacterStats GetStats(string statsUID) - { - for (int i = 0; i < m_Stats.Count; ++i) - { - if (m_Stats[i].uid == statsUID) - { - return m_Stats[i]; - } - } - return null; - } - - public bool HasStats(string statsUID) - { - for (int i = 0; i < m_Stats.Count; ++i) - { - if (m_Stats[i].uid == statsUID) - { - return true; - } - } - return false; - } - - public bool HasBuff(string buffUID) - { - return false; - } - - } - -} diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs.meta b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs.meta deleted file mode 100644 index b3d2f04..0000000 --- a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 546d4837ddb2405438fd9a65adc9c5ec -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Characters/Samurai.meta b/marching/Assets/Scripts/Unit/Characters/Samurai.meta deleted file mode 100644 index 0900ff5..0000000 --- a/marching/Assets/Scripts/Unit/Characters/Samurai.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0a0f49eb0a90f474e8dc4f85f08e20fd -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs deleted file mode 100644 index 966c3d0..0000000 --- a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs +++ /dev/null @@ -1,216 +0,0 @@ -using JetBrains.Annotations; -using System.Collections; -using System.Collections.Generic; -using Unity.VisualScripting; -using UnityEngine; -using UnityEngine.UIElements; - -namespace MH -{ - - public class UnitManager - { - public static UnitBase hero; - } - - public class SamuraiScript : UnitBase - { - [SerializeField] private WaypointScript m_Waypoint; - [SerializeField] private float m_Speed; - [SerializeField] private BladeScript m_Blade; - [SerializeField] private GameObject m_GroundBreak; - - private SpriteRenderer m_Sprite; - private bool m_Moving; - private Camera m_Camera; - private float m_TimeSinceLastMove; - private const float kKeepMovingThreshold = 0.4f; - private bool m_IsKeepMoving = false; - private Coroutine m_CoWaypoint; - private bool m_Attacking = false; - private bool m_IsKeepAttacking = false; - - private void Awake() - { - UnitManager.hero = this; - } - - void Start() - { - m_Camera = Camera.main; - m_Moving = true; - m_Sprite = GetComponent<SpriteRenderer>(); - m_TimeSinceLastMove = float.MaxValue; - StartCoroutine(CoAttack(1f)); - StartCoroutine(CoStrike(1f)); - } - - protected override void Update() - { - base.Update(); - Move(); - LookAt(); - } - - private void LookAt() - { - Vector3 pos = transform.position; - Vector3 camPos = m_Camera.transform.position; - camPos.x = pos.x; - camPos.y = pos.y; - m_Camera.transform.position = camPos; - } - - private void Move() - { - if(Input.GetMouseButtonDown(0)) - { - float dt = Time.time - m_TimeSinceLastMove; - if(dt > 0 && dt < kKeepMovingThreshold) - { - m_IsKeepMoving = true; - } - else - { - m_IsKeepMoving = false; - } - } - - m_Attacking = true;//Input.GetMouseButton(1); - - if (Input.GetMouseButton(0) || m_IsKeepMoving) - { - m_Moving = true; - - Vector3 mousePos = Input.mousePosition; - Vector3 mousePos3D = m_Camera.ScreenToWorldPoint(mousePos); - mousePos3D.z = 0; - - Vector3 pos = transform.position; - pos.z = 0; - - Vector3 toward = mousePos3D - pos; - toward.z = 0; - - if (toward.magnitude < 0.1f) - { - return; - } - - Vector3 dir = (mousePos3D - pos).normalized; - dir.z = 0; - - //pos.x += Time.deltaTime; - transform.position += dir * Time.deltaTime * m_Speed; - - m_Sprite.flipX = dir.x <= 0; - - if(m_CoWaypoint == null) - { - m_CoWaypoint = StartCoroutine(CoShowWaypoint(0.05f)); - } - } - else - { - if(m_CoWaypoint != null) - { - StopCoroutine(m_CoWaypoint); - m_CoWaypoint = null; - } - - m_Moving = false; - } - - GetComponent<Animator>().speed = m_Moving ? 1 : 0; - - if(Input.GetMouseButtonUp(0)) - { - m_TimeSinceLastMove = Time.time; - } - } - - IEnumerator CoShowWaypoint(float dt) - { - while (true) - { - WaypointScript waypoint = Instantiate(m_Waypoint) as WaypointScript; - Vector3 mousePos = Input.mousePosition; - Vector3 mousePos3D = m_Camera.ScreenToWorldPoint(mousePos); - mousePos3D.z = 0; - waypoint.transform.position = mousePos3D; - waypoint.life = 1; - yield return new WaitForSeconds(dt); - } - } - - IEnumerator CoAttack(float interval) - { - int fac = 1; - while (true) - { - if (!m_Attacking) - { - yield return null; - } - else - { - Vector3 mousePos = Input.mousePosition; - Vector3 mousePos3D = m_Camera.ScreenToWorldPoint(mousePos); - Vector2 dir = (mousePos3D.xy() - transform.position.xy()).normalized; - BladeScript blade = Instantiate(m_Blade); - blade.life = 5f; - blade.transform.position = transform.position + new Vector3(1 * fac, 1f, 0); - blade.SetFlip(fac == -1); - blade.dir = dir; - fac *= -1; - yield return new WaitForSeconds(interval); - } - } - } - - IEnumerator CoStrike(float interval) - { - int fac = 1; - while (true) - { - if (!m_Attacking) - { - yield return null; - } - else - { - yield return new WaitForSeconds(interval); - yield return new WaitForFixedUpdate(); - Strike(); - } - } - } - - private void Strike() - { - Vector3 pos = transform.position; - - float radius = 2; - - var go = Instantiate(m_GroundBreak); - go.transform.position = pos; - go.gameObject.SetActive(true); - go.transform.localScale *= radius / 1.7f; - - var colliders = PhysicsManager.Instance.CircleCast(ColliderType.Hurtbox, new Vector3(pos.x, pos.y, radius)); - if (colliders.Count != 0) - { - for(int i = 0; i < colliders.Count; ++i) - { - go = (colliders[i] as MonoBehaviour).gameObject; - if(go != this.gameObject) - { - GameObject.Destroy(go); - } - } - } - } - - } - -} diff --git a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs.meta b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs.meta deleted file mode 100644 index 9f84435..0000000 --- a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: aebd1bb3a775f7748832acc6222117cb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Enemies.meta b/marching/Assets/Scripts/Unit/Enemies.meta deleted file mode 100644 index 0256866..0000000 --- a/marching/Assets/Scripts/Unit/Enemies.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cc665e807c1d03e43b9b106fcb1ae902 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs b/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs deleted file mode 100644 index 7ebae9c..0000000 --- a/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs +++ /dev/null @@ -1,113 +0,0 @@ -using mh; -using MH; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class SpiritScript : UnitBase -{ - public float speed = 10f; - - public Item_Coin coinPrefab; - - public int count = 0; - public float avg = 0; - - private FastCircleCollider collider; - - private static List<IQuadTreeObject> collisions = new List<IQuadTreeObject>(); - - private SpriteRenderer m_SpriteRenderer; - - private int m_CollisionCheckerCount = 0; - - private static int sCount = 0; - private static float sAvg = 0; - - protected override void Awake() - { - base.Awake(); - collider = GetComponent<FastCircleCollider>(); - m_SpriteRenderer = GetComponent<SpriteRenderer>(); - speed = 2; - TestSpirits.spirits.Add(this); - } - - protected override void Update() - { - base.Update(); - } - - public void Tick() - { - UnitBase hero = UnitManager.hero; - Vector2 pos = transform.position; - Vector2 heroPos = hero.transform.position; - Vector2 dir = (heroPos - pos).normalized; - Vector2 dist = dir * Time.deltaTime * speed; // 位移 - m_SpriteRenderer.flipX = dir.x < 0; - - collisions.Clear(); - - bool bCollide = false; - // 这个优化可能会导致穿透 - //if (m_CollisionCheckerCount == 0 && PhysicsManager.Instance.RetriveColliders(ref collisions, collider)) - if (/*m_CollisionCheckerCount == 0 &&*/ PhysicsManager.Instance.RetriveColliders(ref collisions, collider)) - { - count = collisions.Count; - sAvg = (sCount * sAvg + count) / (float)(sCount + 1); - avg = sAvg; - sCount++; - bool movable = true; - Vector2 seperate = new Vector2(); - for (int i = 0; i < collisions.Count; ++i) - { - FastCircleCollider col = collisions[i] as FastCircleCollider; - if (col == collider) - continue; - if (PhysicsManager.CircleVsCircle(col.center, col.radius, collider.center, collider.radius)) - { - bCollide = true; - movable = false; - Vector2 distance = collider.center - col.center; - seperate = distance.normalized * (col.radius + collider.radius - distance.magnitude); // - dist -= (distance.normalized * dist) * distance.normalized; // 去除这个方向的位移 - dist += seperate; - } - } - if (!movable) - { - } - } - if (bCollide) - { - m_CollisionCheckerCount = 0; - } - else - { - m_CollisionCheckerCount++; - m_CollisionCheckerCount %= 10; - } - // dist = dist.normalized * Time.deltaTime * speed; // 保持原速 - transform.position += dist.ToVector3(); - } - - private void FixedUpdate() - { - } - - public void OnDestroy() - { - TestSpirits.spirits.Remove(this); - } - - public void Die() - { - Item_Coin coin = Instantiate(coinPrefab) as Item_Coin; - coin.transform.position = this.transform.position; - - this.gameObject.SetActive(false); - Destroy(this.gameObject); - } - -} diff --git a/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs.meta b/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs.meta deleted file mode 100644 index 57d99b0..0000000 --- a/marching/Assets/Scripts/Unit/Enemies/SpiritScript.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b3f7267bb8a6746409b3dbbaf48a575b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/marching/Assets/Scripts/Unit/UnitBase.cs b/marching/Assets/Scripts/Unit/UnitBase.cs deleted file mode 100644 index 9c5f0d0..0000000 --- a/marching/Assets/Scripts/Unit/UnitBase.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class UnitBase : EntityBase -{ - protected virtual void Awake() - { - base.Awake(); - } - - protected virtual void Update() - { - base.Update(); - } - - protected virtual void LateUpdate() - { - base.LateUpdate(); - } - -} diff --git a/marching/Assets/Scripts/Unit/UnitBase.cs.meta b/marching/Assets/Scripts/Unit/UnitBase.cs.meta deleted file mode 100644 index 8552c51..0000000 --- a/marching/Assets/Scripts/Unit/UnitBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fab9edfa070295e4b832f046b18f279b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: |