public override void Exit() { if (collisionCtrl != null) { collisionCtrl.OnObstacleHit -= HandleOnObstacleHit; collisionCtrl.OnAgentHit -= HandleOnAgentHit; } if (lifeCtrl != null) { lifeCtrl.OnBossDead -= HandleOnBossDead; } if (bossPhaseCtrl != null) { bossPhaseCtrl.OnSecondPhaseStart -= HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart -= HandleOnThirdPhaseStart; } if (trailController != null && leaveTrail) { trailController.EndTrail(); } bossCtrl = null; collisionCtrl = null; bossPhaseCtrl = null; lifeCtrl = null; distanceTraveled = 0; }
public override void Exit() { if (collisionCtrl != null) { collisionCtrl.OnObstacleHit -= HandleOnObstacleHit; collisionCtrl.OnAgentHit -= HandleOnAgentHit; } if (lifeCtrl != null) { lifeCtrl.OnBossDead -= HandleOnBossDead; } if (bossPhaseCtrl != null) { bossPhaseCtrl.OnSecondPhaseStart -= HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart -= HandleOnThirdPhaseStart; } if (rb != null) { rb.useGravity = true; } bossCtrl = null; collisionCtrl = null; bossPhaseCtrl = null; lifeCtrl = null; currentStatePhase = StatePhases.Raising; distanceTraveled = 0; distanceToTravel = 0; startHeigth = 0; maxHeigth = 0; }
/// <summary> /// Funzione di Setup /// </summary> /// <param name="_lvlMng"></param> public override void Setup(LevelManager _lvlMng) { base.Setup(_lvlMng); sm = GetComponent <Boss1SMController>(); shootCtrl = GetComponent <Boss1ShootController>(); phaseCtrl = GetComponent <Boss1PhaseController>(); trailCtrl = GetComponent <Boss1TrailController>(); cubeExplosion = GetComponent <CubeExplosion>(); }
public override void Enter() { groupCtrl = context.GetLevelManager().GetGroupController(); bossCtrl = context.GetBossController(); lifeCtrl = bossCtrl.GetBossLifeController(); collisionCtrl = bossCtrl.GetBossCollisionController(); bossPhaseCtrl = bossCtrl.GetBossPhaseController(); timer = 0; waitTime = Random.Range(waitTimeRange.x, waitTimeRange.y); bossPhaseCtrl.OnSecondPhaseStart += HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart += HandleOnThirdPhaseStart; lifeCtrl.OnBossDead += HandleOnBossDead; collisionCtrl.OnAgentHit += HandleOnAgentHit; }
public override void Enter() { bossCtrl = context.GetBossController(); lifeCtrl = bossCtrl.GetBossLifeController(); collisionCtrl = bossCtrl.GetBossCollisionController(); bossPhaseCtrl = bossCtrl.GetBossPhaseController(); groupCtrl = context.GetLevelManager().GetGroupController(); Boss1ShootController shootCtrl = context.GetBossController().GetBossShootController(); //HACK: Così i designer possono partire a contare da 1 shootCtrl.Shoot(shootPointIndex - 1); bossPhaseCtrl.OnSecondPhaseStart += HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart += HandleOnThirdPhaseStart; lifeCtrl.OnBossDead += HandleOnBossDead; collisionCtrl.OnAgentHit += HandleOnAgentHit; Complete(); }
public override void Exit() { if (bossPhaseCtrl != null) { bossPhaseCtrl.OnSecondPhaseStart -= HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart -= HandleOnThirdPhaseStart; } if (lifeCtrl != null) { lifeCtrl.OnBossDead -= HandleOnBossDead; } if (collisionCtrl != null) { collisionCtrl.OnAgentHit -= HandleOnAgentHit; } bossPhaseCtrl = null; lifeCtrl = null; bossCtrl = null; }
public override void Enter() { groupCtrl = context.GetLevelManager().GetGroupController(); bossCtrl = context.GetBossController(); lifeCtrl = bossCtrl.GetBossLifeController(); collisionCtrl = bossCtrl.GetBossCollisionController(); rb = collisionCtrl.GetRigidBody(); bossPhaseCtrl = bossCtrl.GetBossPhaseController(); rb.useGravity = false; startHeigth = bossCtrl.transform.position.y; maxHeigth = startHeigth + jumpHeight; distanceTraveled = 0; distanceToTravel = 0; currentStatePhase = StatePhases.Raising; bossPhaseCtrl.OnSecondPhaseStart += HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart += HandleOnThirdPhaseStart; lifeCtrl.OnBossDead += HandleOnBossDead; collisionCtrl.OnObstacleHit += HandleOnObstacleHit; collisionCtrl.OnAgentHit += HandleOnAgentHit; }
public override void Enter() { groupCtrl = context.GetLevelManager().GetGroupController(); bossCtrl = context.GetBossController(); lifeCtrl = bossCtrl.GetBossLifeController(); collisionCtrl = bossCtrl.GetBossCollisionController(); bossPhaseCtrl = bossCtrl.GetBossPhaseController(); trailController = bossCtrl.GetBossTrailController(); distanceTraveled = 0; LookAtPosition(groupCtrl.GetGroupCenterPoint()); if (leaveTrail) { trailController.InstantiateNewTrail(); } bossPhaseCtrl.OnSecondPhaseStart += HandleOnSecondPhaseStart; bossPhaseCtrl.OnThirdPhaseStart += HandleOnThirdPhaseStart; lifeCtrl.OnBossDead += HandleOnBossDead; collisionCtrl.OnObstacleHit += HandleOnObstacleHit; collisionCtrl.OnAgentHit += HandleOnAgentHit; }