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(); }
/// <summary> /// 攻撃判定・エフェクト再生・モーション再生 /// をカプセル化した「攻撃する」という処理を行うメソッド /// </summary> public void Attack() { _playerAttack.Attack(); _attackEffect.ShowAttackEffect(); _attackMotion.PlayAttackMotion(); }