예제 #1
0
    /// <summary>
    /// Funzione che esegue il Setup
    /// </summary>
    /// <param name="_groupCtrl"></param>
    public void Setup(GroupController _groupCtrl)
    {
        groupCtrl      = _groupCtrl;
        groupShootCtrl = groupCtrl.GetGroupShootController();

        groupShootCtrl.OnReloadingStart += HandleOnReloadingStart;
        groupShootCtrl.OnReloadingEnd   += HandleOnReloadingEnd;
        groupCtrl.OnGroupDead           += HandleOnGroupDead;

        canChangeSize = true;
    }
예제 #2
0
    /// <summary>
    /// Override funzione che gestisce accensione/spegnimento menù
    /// </summary>
    /// <param name="_value"></param>
    public override void ToggleMenu(bool _value)
    {
        base.ToggleMenu(_value);

        if (_value)
        {
            lvlSceneCtrl   = controller.GetGameManager().GetLevelManager().GetLevelSceneController();
            groupCtrl      = controller.GetGameManager().GetLevelManager().GetGroupController();
            groupShootCtrl = groupCtrl.GetGroupShootController();

            groupShootCtrl.OnReloadingStart      += HandleOnReloadingStart;
            groupShootCtrl.OnReloadingInProgress += HandleOnReloading;
            groupShootCtrl.OnReloadingEnd        += HandleOnReloadingEnd;

            LevelBossController.OnBossFightStart += HandleOnBossFightStart;
            LevelBossController.OnBossFightEnd   += HandleOnBossFightEnd;

            LevelTutorialController.OnTutorialOpen  += HandleOnTutorialPanelOpen;
            LevelTutorialController.OnTutorialClose += HandleOnTutorialPanelClosed;

            lvlSceneCtrl.OnChangeLevelScene += HandleOnChangeLevelScene;
        }
        else
        {
            if (groupCtrl != null)
            {
                groupShootCtrl.OnReloadingStart      -= HandleOnReloadingStart;
                groupShootCtrl.OnReloadingInProgress -= HandleOnReloading;
                groupShootCtrl.OnReloadingEnd        -= HandleOnReloadingEnd;
                groupCtrl = null;
            }

            if (lvlSceneCtrl != null)
            {
                lvlSceneCtrl.OnChangeLevelScene -= HandleOnChangeLevelScene;
            }

            LevelBossController.OnBossFightStart -= HandleOnBossFightStart;
            LevelBossController.OnBossFightEnd   -= HandleOnBossFightEnd;

            LevelTutorialController.OnTutorialOpen  -= HandleOnTutorialPanelOpen;
            LevelTutorialController.OnTutorialClose -= HandleOnTutorialPanelClosed;
        }
    }
예제 #3
0
    /// <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;
    }