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 の取得を実装している。