/// <summary> /// Funzione che esegue il Setup /// </summary> /// <param name="_groupCtrl"></param> public void Setup(GroupController _groupCtrl) { groupCtrl = _groupCtrl; groupMovementCtrl = groupCtrl.GetGroupMovementController(); groupSizeCtrl = groupCtrl.GetGroupSizeController(); playerInput = groupCtrl.GetPlayerInput(); aimFeedback = groupCtrl.GetGroupFeedbackController().GetAimArrow(); groupCtrl.OnGroupDead += EndReloading; canShoot = true; }
public override void Enter() { groupCtrl = context.GetLevelManager().GetGroupController(); groupMovementCtrl = groupCtrl.GetGroupMovementController(); bossCtrl = context.GetBossController(); lifeCtrl = bossCtrl.GetBossLifeController(); collisionCtrl = bossCtrl.GetBossCollisionController(); phaseCtrl = bossCtrl.GetPhaseController(); lifeCtrl.OnBossDead += HandleOnBossDead; collisionCtrl.OnAgentHit += HandleOnAgentHit; phaseCtrl.OnThirdPhaseStart += HandleOnThirdPhaseStart; suckTimer = suckDuration; }
/// <summary> /// Funzione che esegue il setup /// </summary> public void Setup() { groupMovementCtrl = GetComponent <GroupMovementController>(); groupSizeCtrl = GetComponent <GroupSizeController>(); shootCtrl = GetComponent <GroupShootController>(); groupFeedbackCtrl = GetComponent <GroupFeedbackController>(); playerInput = GetComponent <PlayerInput>(); //Feedback setup prima di tutti perchè deve gestire eventi di spawn degli agent groupFeedbackCtrl.Setup(this); AgentsSetup(); groupMovementCtrl.Setup(this); groupSizeCtrl.Setup(this); shootCtrl.Setup(this); isSetupped = true; isEnabled = false; }