サイトアイコン StudioFun

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(28)

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(27)ではエージェントに追加した LootDrop について解説を行った。今回は Tower ゲームオブジェクトに追加した、SlowAffector の継承関係にある PassiveAffector の解説を行っていく。

1.その他の効果、ビジュアライザー、挙動編 – PassiveAffector.cs

PassiveAffector.cs について稚拙ながら解説

「PassiveAffector.cs」は「Assets/Scripts/TowerDefense/Affectors/PassiveAffector.cs」の指しておりスクリプトについては以下の通り。内容としては効果範囲情報の取得を行っている。

[cce_csharp]using TowerDefense.Agents;
using TowerDefense.Targetting;
using TowerDefense.Towers;
using UnityEngine;

namespace TowerDefense.Affectors
{
    /// <summary>
    /// Abstract class that is used to apply <see cref="AgentEffect"/>s to <see cref="Agent"/>s
    /// </summary>
    [RequireComponent(typeof(Targetter))]
    public abstract class PassiveAffector : Affector, ITowerRadiusProvider
    {
        /// <summary>
        /// Color of effect radius visualization
        /// </summary>
        public  Color radiusEffectColor;

        public Targetter towerTargetter;

        /// <summary>
        /// Gets or sets the attack radius
        /// </summary>
        public float effectRadius
        {
            get { return towerTargetter.effectRadius; }
        }

        /// <summary>
        /// Gets the color used for effect radius visualisation
        /// </summary>
        public Color effectColor
        {
            get { return radiusEffectColor; }
        }

        /// <summary>
        /// Gets the targetter 
        /// </summary>
        public Targetter targetter
        {
            get { return towerTargetter; }
        }
    }
}[/cce_csharp]

12行目 : 「public abstract class PassiveAffector : Affector, ITowerRadiusProvider」は Affector と ITowerRadiusProvider の継承とインタフェースとなっていることを指している。

Affector についてはこちらを参照してほしい。

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(16)では砲弾に対して追加した HitscanAttack コンポーネントについて解説を行った。今回は LaserTower_0 に追加した AttackAffector コンポーネントの継承関係にある Affector を行っていく。1.標的設定と砲撃編 – Affector.csAffector.cs について稚拙ながら解説「Affector.cs」は「Assets/Scripts/TowerDefense/Affectors/Affector.cs」の指しておりスクリプトについては以下の通り。内容としては Affector の初期化のみを行っている。using Core.Health;us...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(17) - StudioFun

ITowerRadiusProviderについてはこちらを参照してほしい。

Unity チュートリアルのタワーディフェンステンプレートを触ってみる(17)では LaserTower_0 に追加した AttackAffector コンポーネントの継承関係にある Affector を行った。今回は LaserTower_0 に追加した AttackAffector コンポーネントのインタフェースにある ITowerRadiusProvider の解説を行っていく。1.標的設定と砲撃編 – ITowerRadiusProvider.csITowerRadiusProvider.cs について稚拙ながら解説「ITowerRadiusProvider.cs」は「Assets/Scripts/TowerDefense/Towers/ITowerRadiusProvider.cs」の指しておりスクリプトに...
Unity チュートリアルのタワーディフェンステンプレートを触ってみる(18) - StudioFun

内部の関数としては効果範囲、効果範囲の色、Targetter の取得を実装している。

モバイルバージョンを終了