private void OnTriggerStay(Collider other) { PlayerController playerComponent = other.GetComponent <PlayerController>(); if (!isActive) { return; } if (playerComponent != null) { // TODO: rename bool array if (!playerComponent.Player.costAreaTutoShown && !MinigameManager.IsAMiniGameScene()) { playerComponent.Player.costAreaTutoShown = true; Utils.PopTutoText("Press B to buy the reward", playerComponent.Player); } if (playerComponent.PrevState.Buttons.B == ButtonState.Pressed && playerComponent.State.Buttons.B == ButtonState.Released) { if (Utils.IsAnEvolutionCollectable(rewardType)) { if (playerComponent.Player.EvolutionCheck(rewardType, false) == false) { return; } } if (Pay(playerComponent)) { isActive = false; costText.text = "x 0"; costText.color = Color.grey; currencyLogo.color = Color.grey; rewardPreview.gameObject.SetActive(false); ParticleSystem.MainModule main = halo.GetComponent <ParticleSystem>().main; main.startColor = Color.white; currentTimerBeforeReactivation = timeBeforeReactivation; GiveReward(playerComponent); } else { // Feedback visuel/sonore GameManager.Instance.PlayerUI.HandleFeedbackNotEnoughPoints(playerComponent.Player, true); if (AudioManager.Instance != null && AudioManager.Instance.cantPayFx != null) { AudioManager.Instance.PlayOneShot(AudioManager.Instance.cantPayFx); } } } } }
public void SpawnPlayers() { CheckNumberOfActivePlayers(); for (int i = 0; i < activePlayersAtStart; i++) { GameObject go = Instantiate(playerPrefab); Transform playerSpawn = playerStart[i]; go.transform.position = playerSpawn.position; go.transform.rotation = playerSpawn.rotation; Player currentPlayer = go.GetComponent <Player>(); currentPlayer.respawnPoint = playerSpawn; PlayerController playerController = go.GetComponent <PlayerController>(); playerController.PlayerIndex = (PlayerIndex)i; playerController.IsUsingAController = true; playerController.PlayerIndexSet = true; if (i > 0) { go.transform.GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material.SetColor("_Color", colorPlayer[i - 1]); go.transform.GetChild(0).GetChild(0).GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material.SetColor("_Color", colorPlayer[i - 1]); go.transform.GetChild(0).GetChild(0).GetChild(0).GetChild(1).GetComponent <MeshRenderer>().material.SetColor("_Color", colorPlayer[i - 1]); go.transform.GetChild(0).GetChild(0).GetChild(1).GetChild(0).GetComponent <MeshRenderer>().material.SetColor("_Color", colorPlayer[i - 1]); go.transform.GetChild(0).GetChild(0).GetChild(1).GetChild(1).GetComponent <MeshRenderer>().material.SetColor("_Color", colorPlayer[i - 1]); } PlayersReference.Add(go); } if (GameManager.Instance.playerCollectables == null) { GameManager.Instance.playerCollectables = new int[activePlayersAtStart][]; GameManager.Instance.playerEvolutionTutoShown = new bool[activePlayersAtStart][]; GameManager.Instance.playerCostAreaTutoShown = new bool[activePlayersAtStart]; } else { if (MinigameManager.IsAMiniGameScene()) { return; } for (int i = 0; i < activePlayersAtStart; i++) { Player currentPlayer = PlayersReference[i].GetComponent <Player>(); currentPlayer.Collectables = GameManager.Instance.playerCollectables[i]; currentPlayer.evolutionTutoShown = GameManager.Instance.playerEvolutionTutoShown[i]; currentPlayer.costAreaTutoShown = GameManager.Instance.playerCostAreaTutoShown[i]; } } }
public override void Start() { base.Start(); SetPower(Powers.Strength); playerController.stats.AddBuff(new StatBuff(Stats.StatType.GROUND_SPEED, 0.85f, -1)); Player playerComponent = GetComponent <Player>(); if (!playerComponent.evolutionTutoShown[(int)Powers.Strength] && !MinigameManager.IsAMiniGameScene()) { playerComponent.evolutionTutoShown[(int)Powers.Strength] = true; Utils.PopTutoText("Press Y in the air", playerComponent); } }
public override void Start() { base.Start(); SetPower(Powers.Ghost); gameObject.layer = LayerMask.NameToLayer("GhostPlayer"); Player playerComponent = GetComponent <Player>(); if (!playerComponent.evolutionTutoShown[(int)Powers.Ghost] && !MinigameManager.IsAMiniGameScene()) { playerComponent.evolutionTutoShown[(int)Powers.Ghost] = true; Utils.PopTutoText("Hold LT to leave a trail behind", playerComponent); } }
public override void Start() { base.Start(); SetPower(Powers.Platformist); Player playerComponent = GetComponent <Player>(); if (!playerComponent.evolutionTutoShown[(int)Powers.Platformist] && !MinigameManager.IsAMiniGameScene()) { playerComponent.evolutionTutoShown[(int)Powers.Platformist] = true; Utils.PopTutoText("Hold RT to create platforms", playerComponent); } else { hasPlayedSecondTuto = true; } }
void ShowPattern() { ClearShowPattern(); showPattern = new List <GameObject>(); if (Charges > 0) { float isGroundedOffset = 0.0f; PlatformistPattern pattern = PlatformistPatternFactory.GetPatternFromIndex(IndexPattern); if (!GetComponent <PlayerController>().IsGrounded) { GameObject platform = Instantiate(ResourceUtils.Instance.refPrefabPlatform.prefabPlatformistShowPattern); platform.transform.position = transform.position - 0.4f * Vector3.up; platform.transform.rotation = transform.rotation; showPattern.Add(platform); } else { isGroundedOffset = 1.0f; } for (int i = 0; i < Charges; i++) { GameObject platform = Instantiate(ResourceUtils.Instance.refPrefabPlatform.prefabPlatformistShowPattern); platform.transform.position = transform.position - 0.4f * Vector3.up + transform.forward * pattern.summonDistance * (pattern.distanceStep * (i + 1)) + Vector3.up * (pattern.summonHeight * (pattern.heightStep * (i + 1)) + isGroundedOffset); platform.transform.rotation = transform.rotation; showPattern.Add(platform); } } if (!hasPlayedSecondTuto && !MinigameManager.IsAMiniGameScene()) { hasPlayedSecondTuto = true; Utils.PopTutoText("Press RB to change platforms' pattern", GetComponent <Player>()); } }