Пример #1
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 public virtual void Setup(LevelManager _lvlMng)
 {
     lvlMng        = _lvlMng;
     lifeCtrl      = GetComponent <BossLifeController>();
     collisionCtrl = GetComponent <BossCollisionController>();
     isSetupped    = true;
 }
Пример #2
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss2Controller _bossCtrl)
 {
     bossCtrl      = _bossCtrl;
     groupCtrl     = bossCtrl.GetLevelManager().GetGroupController();
     collisionCtrl = bossCtrl.GetBossCollisionController();
     aliveTouretts = new List <TourretController>();
 }
Пример #3
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 (trailController != null && leaveTrail)
        {
            trailController.EndTrail();
        }

        bossCtrl         = null;
        collisionCtrl    = null;
        bossPhaseCtrl    = null;
        lifeCtrl         = null;
        distanceTraveled = 0;
    }
Пример #4
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;
    }
Пример #5
0
    /// <summary>
    /// Override della funzione di Setup del BulletControllerBase
    /// </summary>
    public override void Setup()
    {
        if (ownerObject != null)
        {
            Boss1Controller bossCtrl = ownerObject.GetComponent <Boss1Controller>();
            if (bossCtrl != null)
            {
                bossCollisionCtrl = bossCtrl.GetBossCollisionController();
            }
        }

        base.Setup();
    }
Пример #6
0
    public override void Enter()
    {
        groupCtrl     = context.GetLevelManager().GetGroupController();
        bossCtrl      = context.GetBossController();
        laserCtrl     = bossCtrl.GetLaserController();
        lifeCtrl      = bossCtrl.GetBossLifeController();
        collisionCtrl = bossCtrl.GetBossCollisionController();

        lifeCtrl.OnBossDead      += HandleOnBossDead;
        collisionCtrl.OnAgentHit += HandleOnAgentHit;

        laserTimer = laserDuration;
        laserCtrl.StartLaser();
    }
Пример #7
0
    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;
    }
Пример #8
0
    public override void Enter()
    {
        groupCtrl     = context.GetLevelManager().GetGroupController();
        bossCtrl      = context.GetBossController();
        tourretsCtrl  = bossCtrl.GetTourretsController();
        collisionCtrl = bossCtrl.GetBossCollisionController();
        lifeCtrl      = bossCtrl.GetBossLifeController();

        tourretsCtrl.OnTourretDead     += HandleOnTourretDead;
        tourretsCtrl.OnAllTourretsDead += HandleOnAllTourretsDead;
        collisionCtrl.OnAgentHit       += HandleOnAgentHit;
        lifeCtrl.OnBossDead            += HandleOnBossDead;

        tourretsShootRoutine = TourretsShootCoroutine();
        tourretsCtrl.StartCoroutine(tourretsShootRoutine);
    }
Пример #9
0
    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;
    }
Пример #10
0
    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();
    }
Пример #11
0
    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;
    }
Пример #12
0
    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;
    }
Пример #13
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss1Controller _bossCtrl)
 {
     bossCtrl          = _bossCtrl;
     bossCollisionCtrl = bossCtrl.GetBossCollisionController();
     trails            = new List <TrailController>();
 }
Пример #14
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss2Controller _bossCtrl)
 {
     bossCtrl      = _bossCtrl;
     collisionCtrl = bossCtrl.GetBossCollisionController();
     laserCtrl.Setup(maxLaserRange, laserRadius);
 }