示例#1
0
    /// <summary>
    /// Funzione che inizializza il platform Manager
    /// </summary>
    /// <param name="_uiGameplay"></param>
    public void Init(UI_GameplayManager _uiGameplay)
    {
        if (!PlatformContainer)
        {
            return;
        }
        platforms               = new List <IPlatform>();
        launchingPlatforms      = new List <LaunchingPlatform>();
        launchingPlatformsInUse = new List <LaunchingPlatform>();
        uiGameplay              = _uiGameplay;
        for (int i = 0; i < PlatformContainer.childCount; i++)
        {
            IPlatform _current = PlatformContainer.GetChild(i).GetComponent <IPlatform>();
            if (_current != null)
            {
                _current.Init();

                if (_current is LaunchingPlatform)
                {
                    launchingPlatforms.Add(_current as LaunchingPlatform);
                }
                else
                {
                    platforms.Add(_current);
                }
            }
        }

        OnParasite    += HandleOnParasite;
        OnParasiteEnd += HandleOnParasiteEnd;

        SetCanMove(true);
    }
示例#2
0
 public EnemySMContext(IEnemy _enemy, Action _endStunCallback, Action _endDeathCallback, Action _alertCallback, Action _endAlertCallback, UI_GameplayManager _uiManager)
 {
     enemy            = _enemy;
     UIManager        = _uiManager;
     EndStunCallback  = _endStunCallback;
     EndDeathCallback = _endDeathCallback;
     AlertCallback    = _alertCallback;
     EndAlertCallback = _endAlertCallback;
 }
示例#3
0
 public override void Enter()
 {
     uiManager      = context.UIManager;
     tolleranceCtrl = context.enemy.GetToleranceCtrl();
     tolleranceCtrl.Setup();
     uiManager.GetGamePanel().SetMaxToleranceValue(tolleranceCtrl.GetMaxTolerance());
     uiManager.GetGamePanel().EnableToleranceBar(true);
     context.enemy.SetCanStun(false);
     context.enemy.SetCanTakeDamage(false);
     context.enemy.GetGraphics().ChangeTexture(TextureType.Parasite);
     context.player.OnPlayerMaxHealth += HandlePlayerMaxHealth;
     context.enemy.GetEnemyCommandsSpriteController().SetParasiteState(true);
     if (context.player.gameObject.layer == LayerMask.NameToLayer("Player"))
     {
         context.player.OnDamageableCollision += HandlePlayerDamageableCollision;
         context.player.OnEnemyCollision      += HandlePlayerEnemyCollision;
         immunity = false;
     }
     else
     {
         context.player.OnPlayerImmunityEnd += HandlePlayerImmunityEnd;
         immunity = true;
     }
 }
示例#4
0
    /// <summary>
    /// Inizializzazione elementi del livello (verrà chiamata dalla SM)
    /// </summary>
    public void Init(UI_ManagerBase _uiManager, bool _speedrunMode)
    {
        instance  = this;
        pause     = false;
        uiManager = _uiManager.GetGameplayManager();

        //Init
        poolMng = GetComponent <PoolManager>();
        if (poolMng != null)
        {
            poolMng.Init();
        }

        stickyMng = GetComponent <StickyObjectManager>();
        if (stickyMng != null)
        {
            stickyMng.Init();
        }

        enemyMng = GetComponent <EnemyManager>();
        if (enemyMng != null)
        {
            enemyMng.Init();
        }

        platformMng = GetComponent <PlatformManager>();
        if (platformMng != null)
        {
            platformMng.Init(uiManager.GetGameplayManager());
        }

        speedMng = GetComponent <SpeedrunManager>();
        if (speedMng != null)
        {
            speedMng.Init(_speedrunMode);
        }

        checkpointMng = GetComponent <CheckpointManager>();
        if (checkpointMng != null)
        {
            checkpointMng.Init(speedMng);
        }

        poopCtrl = FindObjectOfType <PoopController>();
        if (poopCtrl != null)
        {
            poopCtrl.Init();
        }

        tokenMng = GetComponent <TokenManager>();
        if (tokenMng != null)
        {
            tokenMng.Init(speedMng);
        }

        player = FindObjectOfType <Player>();
        if (player != null)
        {
            player.Init(enemyMng, platformMng, tokenMng);
        }

        tutorialMng = GetComponent <TutorialManager>();
        if (tutorialMng != null)
        {
            tutorialMng.Init(enemyMng, player);
        }

        cameraMng = GetComponent <CameraManager>();
        if (cameraMng != null)
        {
            cameraMng.Init();
        }

        doorsMng = GetComponent <DoorsButtonsManager>();
        if (doorsMng != null)
        {
            doorsMng.Init();
        }

        videoStream = FindObjectOfType <StreamVideo>();

        //Setup
        enemyMng.EnemiesSetup();

        //Iscrizione Eventi
        PlayerInputManager.OnPausePressed += HandlePlayerPauseButtonPressed;
        player.OnPlayerDeath += HandlePlayerDeath;
        OnGamePause          += GamePause;
        OnGameUnPause        += GameUnPause;
    }
示例#5
0
 public PlayerSMContext(Player _player, UI_GameplayManager _uiManager, CheckpointManager _checkpointManager)
 {
     player            = _player;
     checkpointManager = _checkpointManager;
     UIManager         = _uiManager;
 }