/// <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); }
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; }
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; } }
/// <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; }
public PlayerSMContext(Player _player, UI_GameplayManager _uiManager, CheckpointManager _checkpointManager) { player = _player; checkpointManager = _checkpointManager; UIManager = _uiManager; }