Exemple #1
0
        /// <summary>
        ///  扇範囲での攻撃
        /// </summary>
        void BreathAttack()
        {
            // 扇形、画面上に向かって、メンコ何個分、角度範囲でメンコの取得
            Menko[] hitList = AttackRange.Sector(this.transform, (uint)battleData.SkillData.Values[1], (uint)battleData.SkillData.Values[2]);
            //Values[1] = 攻撃の長さ(メンコ何個分か)
            //Values[2] = 角度

            hitList.Foreach(hit => {
                // プレイヤーのメンコも含まれているためそれ以外にダメージ
                if (hit.IsPlayer() == false)
                {
                    hit.SkillDamage((uint)battleData.SkillData.Values[0], battleData.SkillData.Element);
                }
            });
        }
Exemple #2
0
        /// <summary>
        /// スキルの実行
        /// </summary>
        protected override void Execute()
        {
            // 扇形、画面上に向かって、メンコ2個分、130度角範囲でメンコの取得
            Menko[] hitList = AttackRange.Sector(this.transform, 2f, 130f);


            hitList.Foreach(hit => {
                // プレイヤーのメンコも含まれているためそれ以外にダメージ
                if (hit.IsPlayer() == false)
                {
                    hit.SkillDamage((uint)battleData.SkillData.Values[0], battleData.SkillData.Element);
                }
            });

            End();
        }
Exemple #3
0
        void OppositeAttack()
        {
            // 扇形、画面上に向かって、メンコ何個分、角度範囲でメンコの取得
            Menko[] hitList = AttackRange.Sector(this.transform, (uint)battleData.SkillData.Values[1], (uint)battleData.SkillData.Values[2]);

            hitList.Foreach(hit => {
                // プレイヤーのメンコも含まれているためそれ以外にダメージ
                if (hit.IsPlayer() == false)
                {
                    hit.SkillDamage((uint)battleData.SkillData.Values[0], battleData.SkillData.Element);

                    if (UnityEngine.Random.Range(0.0f, 1.0f) >= 0.5f)
                    {
                        hit.transform.Rotate(180, 0, 0);
                    }
                }
            });
        }