From 7eace863c732053c455daaed7689a5d669c8351d Mon Sep 17 00:00:00 2001 From: zxl Date: Wed, 12 Feb 2025 17:53:59 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=B7=BB=E5=8A=A0=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E7=9A=84=E8=A7=92=E8=89=B2=E3=80=81=E8=A3=85=E5=A4=87?= =?UTF-8?q?=E3=80=81buff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Buff.meta | 3 + Assets/Scripts/Buff/Buff.cs | 43 +++++++++ Assets/Scripts/Buff/Buff.cs.meta | 3 + Assets/Scripts/Character.meta | 8 ++ Assets/Scripts/Character/ICharacter.cs | 12 +++ Assets/Scripts/Character/ICharacter.cs.meta | 3 + Assets/Scripts/Config.meta | 3 + Assets/Scripts/Config/BuffConfig.cs | 54 +++++++++++ Assets/Scripts/Config/BuffConfig.cs.meta | 3 + Assets/Scripts/Config/CharacterConfig.cs | 90 +++++++++++++++++++ Assets/Scripts/Config/CharacterConfig.cs.meta | 3 + Assets/Scripts/Config/EquipmentConfig.cs | 68 ++++++++++++++ Assets/Scripts/Config/EquipmentConfig.cs.meta | 3 + Assets/Scripts/Equipment.meta | 3 + Assets/Scripts/Equipment/IEquipment.cs | 23 +++++ Assets/Scripts/Equipment/IEquipment.cs.meta | 3 + Assets/Scripts/Grid/GridCellView.cs | 2 +- Assets/Scripts/Grid/GridManager.cs | 2 +- Assets/Scripts/Grid/IGrid.cs | 2 +- 19 files changed, 328 insertions(+), 3 deletions(-) create mode 100644 Assets/Scripts/Buff.meta create mode 100644 Assets/Scripts/Buff/Buff.cs create mode 100644 Assets/Scripts/Buff/Buff.cs.meta create mode 100644 Assets/Scripts/Character.meta create mode 100644 Assets/Scripts/Character/ICharacter.cs create mode 100644 Assets/Scripts/Character/ICharacter.cs.meta create mode 100644 Assets/Scripts/Config.meta create mode 100644 Assets/Scripts/Config/BuffConfig.cs create mode 100644 Assets/Scripts/Config/BuffConfig.cs.meta create mode 100644 Assets/Scripts/Config/CharacterConfig.cs create mode 100644 Assets/Scripts/Config/CharacterConfig.cs.meta create mode 100644 Assets/Scripts/Config/EquipmentConfig.cs create mode 100644 Assets/Scripts/Config/EquipmentConfig.cs.meta create mode 100644 Assets/Scripts/Equipment.meta create mode 100644 Assets/Scripts/Equipment/IEquipment.cs create mode 100644 Assets/Scripts/Equipment/IEquipment.cs.meta diff --git a/Assets/Scripts/Buff.meta b/Assets/Scripts/Buff.meta new file mode 100644 index 0000000..28614ca --- /dev/null +++ b/Assets/Scripts/Buff.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b2b24013a50f4b40a164996d624dc0c7 +timeCreated: 1739349795 \ No newline at end of file diff --git a/Assets/Scripts/Buff/Buff.cs b/Assets/Scripts/Buff/Buff.cs new file mode 100644 index 0000000..e1e0449 --- /dev/null +++ b/Assets/Scripts/Buff/Buff.cs @@ -0,0 +1,43 @@ + +using UnityEngine; + +namespace Game +{ + public abstract class Buff + { + // 血量、蓝量、攻击力、防御力、攻击速度、回蓝速度、回血速度、 + public string BuffName; + public float BuffDuration; // Buff 持续时间(秒) + public float TimeRemaining; // 剩余时间 + public Character ApplyCharacter; + + protected Buff(string buffName, float buffDuration) + { + BuffName = buffName; + BuffDuration = buffDuration; + } + + // Buff 更新,减少剩余时间 + public void Update(float deltaTime) + { + TimeRemaining -= deltaTime; + if (TimeRemaining <= 0) + { + OnBuffExpire(); + } + } // Buff 过期时调用 + + protected virtual void OnBuffExpire() + { + Debug.Log($"{BuffName} expired!"); + } + + // Buff 应用效果 + public abstract void ApplyEffect(Character character); + + // Buff 移除效果 + public abstract void RemoveEffect(Character character); + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Buff/Buff.cs.meta b/Assets/Scripts/Buff/Buff.cs.meta new file mode 100644 index 0000000..be64110 --- /dev/null +++ b/Assets/Scripts/Buff/Buff.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d22c7eb21d24e93bc65a3c9c056e41b +timeCreated: 1739351664 \ No newline at end of file diff --git a/Assets/Scripts/Character.meta b/Assets/Scripts/Character.meta new file mode 100644 index 0000000..5bf165c --- /dev/null +++ b/Assets/Scripts/Character.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a2b2459c45520e34b8e78302dfab3e68 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Character/ICharacter.cs b/Assets/Scripts/Character/ICharacter.cs new file mode 100644 index 0000000..74ca6f4 --- /dev/null +++ b/Assets/Scripts/Character/ICharacter.cs @@ -0,0 +1,12 @@ +namespace Game +{ + public interface ICharacter + { + + } + + public class Character : ICharacter + { + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Character/ICharacter.cs.meta b/Assets/Scripts/Character/ICharacter.cs.meta new file mode 100644 index 0000000..8755c60 --- /dev/null +++ b/Assets/Scripts/Character/ICharacter.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d1a909b724440269892ef788c3d897d +timeCreated: 1739345661 \ No newline at end of file diff --git a/Assets/Scripts/Config.meta b/Assets/Scripts/Config.meta new file mode 100644 index 0000000..7e75196 --- /dev/null +++ b/Assets/Scripts/Config.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1e01ba4f1da043b3a8b63a01ede13114 +timeCreated: 1739341587 \ No newline at end of file diff --git a/Assets/Scripts/Config/BuffConfig.cs b/Assets/Scripts/Config/BuffConfig.cs new file mode 100644 index 0000000..9e5803a --- /dev/null +++ b/Assets/Scripts/Config/BuffConfig.cs @@ -0,0 +1,54 @@ +namespace Game +{ + public enum BuffType + { + Buff, + DeBuff, + // None, + // 加血, + // 加蓝, + // 加攻击力, + // 加防御力, + // 加攻击速度, + // 加回蓝速度, + // 加回血速度, + } + + public class BuffConfig + { + /// + /// Buff ID + /// + public int BuffId; + + /// + /// Buff名字 + /// + public string BuffName; + + /// + /// Buff类型 + /// + public BuffType BuffType; + + /// + /// 持续时间 + /// + public float Duration; + + /// + /// 每次Tick造成5点伤害 + /// + public float DamagePerTick = 5; + + /// + /// 每1秒Tick一次 + /// + public float TickInterval = 1; + + /// + /// 最大层数 + /// + public int MaxLayerNumber = 1; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Config/BuffConfig.cs.meta b/Assets/Scripts/Config/BuffConfig.cs.meta new file mode 100644 index 0000000..909c8e8 --- /dev/null +++ b/Assets/Scripts/Config/BuffConfig.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 275425062831452b84de25faf1677ee7 +timeCreated: 1739351951 \ No newline at end of file diff --git a/Assets/Scripts/Config/CharacterConfig.cs b/Assets/Scripts/Config/CharacterConfig.cs new file mode 100644 index 0000000..3e3086a --- /dev/null +++ b/Assets/Scripts/Config/CharacterConfig.cs @@ -0,0 +1,90 @@ +using UnityEngine; + +namespace Game +{ + /// + /// 角色配置 + /// + public class CharacterConfig + { + /// + /// 角色ID + /// + public int ID; + + /// + /// 名字 + /// + public string Name; + + /// + /// 描述 + /// + public string Description; + + /// + /// 稀有度 + /// + public int Rarity; + + /// + /// 星级 + /// + public int StarLevel; + + /// + /// 最大等级,目前最大为3级 + /// + public int MaxLevel; + + /// + /// 血量 + /// + public int Hp; + + /// + /// 最大血量 + /// + public int MaxHp; + + /// + /// 蓝量 + /// + public int Mp; + + /// + /// 最大蓝量 + /// + public int MaxMp; + + /// + /// 攻击力 + /// + public float Attack; + + /// + /// 防御力 + /// + public float Defense; + + /// + /// 移动速度 + /// + public float MoveSpeed; + + /// + /// 攻击速度 + /// + public float AttackSpeed; + + /// + /// 回蓝速度 + /// + public float BluingBackSpeed; + + /// + /// 回血速度 + /// + public float RevitalizeSpeed; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Config/CharacterConfig.cs.meta b/Assets/Scripts/Config/CharacterConfig.cs.meta new file mode 100644 index 0000000..eb6bf33 --- /dev/null +++ b/Assets/Scripts/Config/CharacterConfig.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4397ae39049342d9a96af9a35f4ba466 +timeCreated: 1739340665 \ No newline at end of file diff --git a/Assets/Scripts/Config/EquipmentConfig.cs b/Assets/Scripts/Config/EquipmentConfig.cs new file mode 100644 index 0000000..5af14c7 --- /dev/null +++ b/Assets/Scripts/Config/EquipmentConfig.cs @@ -0,0 +1,68 @@ +using System.Collections.Generic; + +namespace Game +{ + /// + /// 装备配置 + /// + public class EquipmentConfig + { + /// + /// ID + /// + public int ID; + + /// + /// 名字 + /// + public string Name; + + /// + /// 描述 + /// + public string Description; + + /// + /// 血量 + /// + public int Hp; + + /// + /// 蓝量 + /// + public int Mp; + + /// + /// 攻击力 + /// + public float Attack; + + /// + /// 防御力 + /// + public float Defense; + + /// + /// 移动速度 + /// + public float MoveSpeed; + + /// + /// 攻击速度 + /// + public float AttackSpeed; + + /// + /// 回蓝速度 + /// + public float BluingBackSpeed; + + /// + /// 回血速度 + /// + public float RevitalizeSpeed; + + public List Buffs; + } + +} \ No newline at end of file diff --git a/Assets/Scripts/Config/EquipmentConfig.cs.meta b/Assets/Scripts/Config/EquipmentConfig.cs.meta new file mode 100644 index 0000000..dd9fa36 --- /dev/null +++ b/Assets/Scripts/Config/EquipmentConfig.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 47a7d9b0ed9e47da9853f87dab16a22d +timeCreated: 1739341647 \ No newline at end of file diff --git a/Assets/Scripts/Equipment.meta b/Assets/Scripts/Equipment.meta new file mode 100644 index 0000000..ea4cb7f --- /dev/null +++ b/Assets/Scripts/Equipment.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3ab4297d58314734b5b7c065c6389429 +timeCreated: 1739341138 \ No newline at end of file diff --git a/Assets/Scripts/Equipment/IEquipment.cs b/Assets/Scripts/Equipment/IEquipment.cs new file mode 100644 index 0000000..efaad2d --- /dev/null +++ b/Assets/Scripts/Equipment/IEquipment.cs @@ -0,0 +1,23 @@ + + +namespace Game +{ + public interface IEquipment + { + public EquipmentConfig Config { get; } + } + + public class Equipment: IEquipment + { + private readonly EquipmentConfig _config; + + public EquipmentConfig Config => _config; + + public Equipment(EquipmentConfig config) + { + _config = config; + } + + + } +} \ No newline at end of file diff --git a/Assets/Scripts/Equipment/IEquipment.cs.meta b/Assets/Scripts/Equipment/IEquipment.cs.meta new file mode 100644 index 0000000..e03e108 --- /dev/null +++ b/Assets/Scripts/Equipment/IEquipment.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9d49492e3d874d77bcfd8d0c6f8c9cdf +timeCreated: 1739341157 \ No newline at end of file diff --git a/Assets/Scripts/Grid/GridCellView.cs b/Assets/Scripts/Grid/GridCellView.cs index 9b84bce..60ca083 100644 --- a/Assets/Scripts/Grid/GridCellView.cs +++ b/Assets/Scripts/Grid/GridCellView.cs @@ -1,7 +1,7 @@ using UnityEditor; using UnityEngine; -namespace DefaultNamespace +namespace Game { public class GridCellView : MonoBehaviour { diff --git a/Assets/Scripts/Grid/GridManager.cs b/Assets/Scripts/Grid/GridManager.cs index 826cf2f..09c4fb4 100644 --- a/Assets/Scripts/Grid/GridManager.cs +++ b/Assets/Scripts/Grid/GridManager.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace DefaultNamespace +namespace Game { public interface IGridManager { diff --git a/Assets/Scripts/Grid/IGrid.cs b/Assets/Scripts/Grid/IGrid.cs index 6ddd876..e195692 100644 --- a/Assets/Scripts/Grid/IGrid.cs +++ b/Assets/Scripts/Grid/IGrid.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace DefaultNamespace +namespace Game { public interface IGridCell {