unity开发 游戏角色技能系统

下面展示 游戏角色技能系统

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace MR_LBS.Client.Unity3D
{
    
    
    public enum SkillType : int
    {
    
    
        Unknown,
        Attack,
        Defense
    }

    public class Skill
    {
    
    
        string name;
        int damage;
        int level;
        float coldTime;
        double skillTime;
        float coldPassedTime;
        Inventory inventory;
        int judgeCode;//施法目标(敌人,自身)
        string judgeInfo;
        int typeCode;//作用范围、攻击目标(地面军队、建筑等)
        string typeInfo;
        string info;//技能描述(必中、预判等)
        double shootRange;//攻击距离
        int times;//单位个数(如黑龙A技能,单位为3)
        double effectScope;//伤害范围
        float actTime;//动画播放时间
        List<JsonClass.BuffBean> buffBean;
        List<JsonClass.AttackTargetBean> attackTarget;
        /// <summary>
        /// 默认构造函数要将伤害变为0
        /// 9.10 老段新加
        /// </summary>
        public Skill()
        {
    
    
            damage = 0;
            level = 0;
        }

        public Skill(Skill skill)
        {
    
    
            Name = skill.Name;
            ActTime = skill.ActTime;
            SkillTime = skill.SkillTime;
            ShootRange = skill.ShootRange;
            Damage = skill.Damage;
            Level = skill.Level;
            TypeCode = skill.TypeCode;
            EffectScope = skill.EffectScope;
        }


        public string Name
        {
    
    
            get
            {
    
    
                return name;
            }
            set
            {
    
    
                name = value;
            }
        }

        public float ColdPassedTime
        {
    
    
            get
            {
    
    
                return coldPassedTime;
            }
            set
            {
    
    
                coldPassedTime = value;
            }
        }

        /// <summary>
        /// 技能的释放者
        /// </summary>
        public GameObject Owner;

        public Inventory Inventory
        {
    
    
            get
            {
    
    
                return inventory;
            }
            set
            {
    
    
                inventory = value;
            }
        }


        public float ColdTime
        {
    
    
            get
            {
    
    
                return coldTime;
            }
            set
            {
    
    
                coldTime = value;
            }
        }

        /// <summary>
        /// 是否会被反弹
        /// </summary>
        public bool bounce = true;


        public int Level
        {
    
    
            get
            {
    
    
                return level;
            }
            set
            {
    
    
                level = value;
            }
        }

        public int Damage
        {
    
    
            get
            {
    
    
                return damage;
            }
            set
            {
    
    
                damage = value;
            }
        }


        public int JudgeCode {
    
     get => judgeCode; set => judgeCode = value; }
        public string JudgeInfo {
    
     get => judgeInfo; set => judgeInfo = value; }
        public int TypeCode {
    
     get => typeCode; set => typeCode = value; }
        public string TypeInfo {
    
     get => typeInfo; set => typeInfo = value; }
        public string Info {
    
     get => info; set => info = value; }
        public double ShootRange {
    
     get => shootRange; set => shootRange = value; }
        public int Times {
    
     get => times; set => times = value; }
        public double EffectScope {
    
     get => effectScope; set => effectScope = value; }
        public List<JsonClass.BuffBean> BuffBean {
    
     get => buffBean; set => buffBean = value; }
        public float ActTime {
    
     get => actTime; set => actTime = value; }
        public double SkillTime {
    
     get => skillTime; set => skillTime = value; }
        public List<JsonClass.AttackTargetBean> AttackTarget {
    
     get => attackTarget; set => attackTarget = value; }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43505432/article/details/110801299
今日推荐