コード例 #1
0
        public override AbstractSkill Copy()
        {
            Skill_Fireball skill = new Skill_Fireball();

            skill.Speed            = this.Speed;
            skill.DamageMultiplier = this.DamageMultiplier;
            skill.Debuff           = this.Debuff;
            CopyInto(skill);

            return(skill);
        }
コード例 #2
0
    public void Skill(NetIncomingMessage msgIn)
    {
        {
            byte   skillId  = msgIn.ReadByte();
            ushort casterId = msgIn.ReadUInt16();
            ushort targetId = msgIn.ReadUInt16();
            Entity caster   = Data.GetEntity(casterId);
            Entity target   = Data.GetEntity(targetId);

            if (target == null || caster == null)
            {
                return;
            }
            if (skillId == 0)
            {
                if (caster != null)
                {
                    caster.PlayHitVFX();
                }
            }
            else
            {
                GameObject skillObject = GameObject.Instantiate(SkillCollection.Instance.SkillObjects[skillId]);
                skillObject.transform.position = target.transform.position;

                if (caster != null && target != null)
                {
                    Skill_Fireball moveTowards = skillObject.GetComponent <Skill_Fireball>();
                    if (moveTowards != null)
                    {
                        moveTowards.transform.position = caster.transform.position;
                        moveTowards.Caster             = caster;
                        moveTowards.Target             = target;
                    }
                }
            }
        }
    }