void Start()
        {
            var playerAttack        = new PlayerAttack();
            var attackEffect        = new AttackEffect();
            var attackMotion        = new AttackMotion();
            var playerAttackManager = new PlayerAttackManager(playerAttack, attackEffect, attackMotion);

            // サブシステムの機能をカプセル化した「攻撃する」という一連の処理を行うメソッド
            playerAttackManager.Attack();

            // サブシステムの個々のメソッドもアクセスはできる
            playerAttack.Attack();
            attackEffect.ShowAttackEffect();
            attackMotion.PlayAttackMotion();
        }
Esempio n. 2
0
 /// <summary>
 /// 攻撃判定・エフェクト再生・モーション再生
 /// をカプセル化した「攻撃する」という処理を行うメソッド
 /// </summary>
 public void Attack()
 {
     _playerAttack.Attack();
     _attackEffect.ShowAttackEffect();
     _attackMotion.PlayAttackMotion();
 }