예제 #1
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>();
 }
예제 #2
0
 void Start()
 {
     mbc             = GetComponent <Boss2Controller>();
     StartSetting[0] = mbc.shotTime; StartSetting[1] = mbc.bonusTime;
     StartSetting[2] = mbc.angle; StartSetting[3] = mbc.bulletNum; StartSetting[4] = mbc.atk;
     StartCoroutine(ChangeForm(changeTime));
 }
예제 #3
0
    /// <summary>
    /// Funzione di Setup
    /// </summary>
    /// <param name="_bossCtrl"></param>
    public void Setup(Boss2Controller _bossCtrl)
    {
        bossCtrl     = _bossCtrl;
        bossLifeCtrl = bossCtrl.GetBossLifeController();
        maxBossLife  = bossLifeCtrl.GetMaxBossLife();
        thirdPhase   = false;

        bossLifeCtrl.OnBossTakeDamage += HandleOnBossTakeDamage;
    }
예제 #4
0
    public override void Enter()
    {
        bossCtrl         = context.GetBossController();
        bossTourretsCtrl = bossCtrl.GetTourretsController();
        lifeCtrl         = bossCtrl.GetBossLifeController();

        lifeCtrl.SetCanTakeDamage(canTakeDirectDamage);
        bossTourretsCtrl.SetCanAim(false);

        Debug.Log("Phase 2 Iniziata");
        Complete();
    }
예제 #5
0
    /// <summary>
    /// Override della funzione di Setup del BulletControllerBase
    /// </summary>
    public override void Setup()
    {
        if (ownerObject != null)
        {
            Boss2Controller bossCtrl = ownerObject.GetComponent <Boss2Controller>();
            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()
    {
        bossCtrl         = context.GetBossController();
        bossTourretsCtrl = bossCtrl.GetTourretsController();
        coverBlockCtrl   = bossCtrl.GetCoverBlocksController();
        lifeCtrl         = bossCtrl.GetBossLifeController();

        lifeCtrl.SetCanTakeDamage(canTakeDirectDamage);
        coverBlockCtrl.EnableCoverBlocks(true);
        bossTourretsCtrl.TourretsSetup();
        bossTourretsCtrl.SetCanAim(true);

        Debug.Log("Phase 1 Iniziata");
        Complete();
    }
예제 #9
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);
    }
예제 #10
0
    public override void Enter()
    {
        groupCtrl     = context.GetLevelManager().GetGroupController();
        bossCtrl      = context.GetBossController();
        lifeCtrl      = bossCtrl.GetBossLifeController();
        collisionCtrl = bossCtrl.GetBossCollisionController();
        tourretsCtrl  = bossCtrl.GetTourretsController();
        phaseCtrl     = bossCtrl.GetPhaseController();

        timer    = 0;
        waitTime = Random.Range(waitTimeRange.x, waitTimeRange.y);

        lifeCtrl.OnBossDead            += HandleOnBossDead;
        collisionCtrl.OnAgentHit       += HandleOnAgentHit;
        tourretsCtrl.OnTourretDead     += HandleOnTourretDead;
        tourretsCtrl.OnAllTourretsDead += HandleOnAllTourretDead;
        phaseCtrl.OnThirdPhaseStart    += HandleOnThirdPhaseStart;
    }
예제 #11
0
 /// <summary>
 /// Costruttore
 /// </summary>
 /// <param name="_bossCtrl"></param>
 /// <param name="_smController"></param>
 /// <param name="_gameMng"></param>
 public Context(Boss2Controller _bossCtrl, Boss2SMController _smController, LevelManager _lvlMng)
 {
     bossCtrl     = _bossCtrl;
     smController = _smController;
     lvlMng       = _lvlMng;
 }
예제 #12
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss2Controller _bossCtrl)
 {
     bossCtrl      = _bossCtrl;
     collisionCtrl = bossCtrl.GetBossCollisionController();
     laserCtrl.Setup(maxLaserRange, laserRadius);
 }
예제 #13
0
 public override void Enter()
 {
     bossCtrl = context.GetBossController();
     bossCtrl.KillBoss();
 }
예제 #14
0
 //initialise scripts into variables
 void Start()
 {
     boss1Controller  = GetComponent <Boss1Controller> ();
     boss2Controller  = GetComponent <Boss2Controller> ();
     playerController = GameObject.FindObjectOfType <PlayerController>();
 }