Esempio n. 1
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;
    }
Esempio n. 2
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;
    }
Esempio n. 3
0
    /// <summary>
    /// Funzione di Setup
    /// </summary>
    /// <param name="_bossCtrl"></param>
    public void Setup(Boss1Controller _bossCtrl)
    {
        bossCtrl     = _bossCtrl;
        bossLifeCtrl = bossCtrl.GetBossLifeController();
        maxBossLife  = bossLifeCtrl.GetMaxBossLife();
        currentPhase = 1;

        bossLifeCtrl.OnBossTakeDamage += HandleOnBossTakeDamage;
    }
Esempio n. 4
0
    public override void Enter()
    {
        bossCltr = context.GetBossController();
        lifeCtrl = bossCltr.GetBossLifeController();

        lifeCtrl.SetCanTakeDamage(canTakeDirectDamage);

        Debug.Log("Phase 3 Iniziata");
        Complete();
    }
Esempio n. 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();
    }
Esempio n. 6
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;
    }
Esempio n. 7
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();
    }
Esempio n. 8
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;
    }
Esempio n. 9
0
    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;
    }
Esempio n. 10
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;
    }
Esempio n. 11
0
    private IEnumerator WavePlaying()
    {
        message.text = "";
        if (roundNumber == 1)
        {
            GameObject      redBoss         = Instantiate(boss1, Vector3.zero + Vector3.up * 2.7f, Quaternion.identity);
            Boss1Controller boss1Controller = redBoss.GetComponent <Boss1Controller>();
            while (!boss1Controller.DefeatedBoss)
            {
                yield return(null);
            }
        }
        else
        {
            Invoke("Spawn", 2f);
            while (!healthController.GameOver() && !spawnEnemies.NoEnemies())
            {
                yield return(null);
            }
            spawnEnemies.ResetWaveEnemies();
        }

        roundNumber++;
    }
Esempio n. 12
0
 public override void Enter()
 {
     bossCtrl = context.GetBossController();
     bossCtrl.KillBoss();
 }
Esempio n. 13
0
 private void Awake()
 {
     boss1Controller = gameObject.GetComponent <Boss1Controller>();
 }
Esempio n. 14
0
 /// <summary>
 /// Costruttore
 /// </summary>
 /// <param name="_bossCtrl"></param>
 /// <param name="_smController"></param>
 /// <param name="_gameMng"></param>
 public Context(Boss1Controller _bossCtrl, Boss1SMController _smController, LevelManager _lvlMng)
 {
     bossCtrl     = _bossCtrl;
     smController = _smController;
     lvlMng       = _lvlMng;
 }
Esempio n. 15
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss1Controller _bossCtrl)
 {
     bossCtrl = _bossCtrl;
 }
Esempio n. 16
0
 public MainAttack(Boss1Controller controller)
 {
     this.controller = controller;
 }
Esempio n. 17
0
 //initialise scripts into variables
 void Start()
 {
     boss1Controller  = GetComponent <Boss1Controller> ();
     boss2Controller  = GetComponent <Boss2Controller> ();
     playerController = GameObject.FindObjectOfType <PlayerController>();
 }
Esempio n. 18
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(Boss1Controller _bossCtrl)
 {
     bossCtrl          = _bossCtrl;
     bossCollisionCtrl = bossCtrl.GetBossCollisionController();
     trails            = new List <TrailController>();
 }
Esempio n. 19
0
 // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     boss1Controller = GameObject.FindGameObjectWithTag("Boss").GetComponent<Boss1Controller>();
 }