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