//public void CreatePlatform(GamePadState receivedInput) //{ // if (Charges > 0) // { // GameObject platform = Instantiate(ResourceUtils.Instance.refPrefabPlatform.prefabPlatformistDefault); // platform.transform.position = transform.position + transform.forward * summonDistance + Vector3.up * summonHeight; // platform.transform.rotation = transform.rotation; // platform.transform.GetComponent<AutoDestroyPlatform>().Init(platformLifetime); // Charges--; // if (receivedInput.Buttons.LeftShoulder == ButtonState.Pressed) // { // platform.GetComponent<PlatformGameplay>().isBouncy = true; // } // TrappedPlatform trappedComponent = platform.GetComponent<TrappedPlatform>(); // if (trappedComponent) // trappedComponent.owner = GetComponent<Player>(); // } //} public void CreatePlatforms() { ClearShowPattern(); if (Charges > 0) { float isGroundedOffset = 0.0f; if (!GetComponent <PlayerController>().IsGrounded) { GameObject initial = Instantiate(ResourceUtils.Instance.refPrefabPlatform.prefabPlatformistDefault); initial.transform.position = transform.position - 0.4f * Vector3.up; initial.transform.rotation = transform.rotation; initial.transform.GetComponent <AutoDestroyPlatform>().Init(platformLifetime); TrappedPlatform trappedComponent = initial.GetComponent <TrappedPlatform>(); if (trappedComponent) { trappedComponent.owner = GetComponent <Player>(); } } else { isGroundedOffset = 1.0f; } GameObject[] platforms = new GameObject[Charges]; PlatformistPattern pattern = PlatformistPatternFactory.GetPatternFromIndex(IndexPattern); for (int i = 0; i < Charges; i++) { platforms[i] = Instantiate(ResourceUtils.Instance.refPrefabPlatform.prefabPlatformistDefault); platforms[i].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); platforms[i].transform.rotation = transform.rotation; platforms[i].transform.GetComponent <AutoDestroyPlatform>().Init(platformLifetime); TrappedPlatform trappedComponent = platforms[i].GetComponent <TrappedPlatform>(); if (trappedComponent) { trappedComponent.owner = GetComponent <Player>(); } } Charges = 0; } }
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>()); } }