void OnGUI() { EditorGUILayout.BeginVertical("ShurikenEffectBg"); typeOfPlayer = (AFPC_PlayerMovement.PlayerType)EditorGUILayout.EnumPopup("Type Of Player: ", typeOfPlayer, "ExposablePopupMenu"); playerPlatform = (PlayerPlatform)EditorGUILayout.EnumPopup("Platform: ", playerPlatform, "ExposablePopupMenu"); spawnPos = EditorGUILayout.Vector3Field("Player Spawn Position: ", spawnPos); if (typeOfPlayer == AFPC_PlayerMovement.PlayerType.rigidBodyPlayer) { footstepDetection = (AFPC_PlayerMovement.FootstepsDetectionMode)EditorGUILayout.EnumPopup("Footstep Detection Mode: ", footstepDetection, "ExposablePopupMenu"); } GUILayout.Box(GUIContent.none, "horizontalSlider"); if (GUILayout.Button("Build Player!")) { BuildPlayer(); } if (player != null) { groundDistance = EditorGUILayout.FloatField("Ground Distance: ", groundDistance); if (GUILayout.Button("Place On Ground")) { if (groundDistance > 0) { PutOnGround(groundDistance); } else { Debug.LogError("Set Ground Distance To Greater Than 0."); } } } EditorGUILayout.EndVertical(); }
// Update is called once per frame void Update() { if (prevPLayerType != afpcPlayer.playerType) { ChangePlayerType(); } prevPLayerType = afpcPlayer.playerType; if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.rigidBodyPlayer) { health = Mathf.Clamp(health, minHealth, maxHealth); // Clamp health to make sure it is always in the specified range if (healthBar != null && healthBar.type == Image.Type.Filled && useBarToShowHealth) { float targetFillAmount = healthBar.GetComponent <AFPC_UIBar> ().ConvertValuesToFillAmountValue(health, minHealth, maxHealth, 0f, 1f); healthBar.fillAmount = Mathf.SmoothDamp(healthBar.fillAmount, targetFillAmount, ref fillAmountV, timeToSmoothFillAmount); } if (healthText != null && useTextToShowHealth) { healthText.text = health.ToString(); } if (health <= minHealth && spawnManager != null && !dieCallBool) { dieCallBool = true; spawnManager.Die(); } if (hasFallDamage) { ApplyFallDamage(); } UpdatePainFade(); } else if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.spectator) { if (healthMaster != null) { healthMaster.gameObject.SetActive(false); } } }
// Update is called once per frame void Update() { if (prevPlayerType != afpcPlayer.playerType) { ChangePlayerType(); } prevPlayerType = afpcPlayer.playerType; if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.rigidBodyPlayer) { if (afpcPlayer.IsSwimming) { useOxygenManager = true; } else { useOxygenManager = false; // Only enable oxygen system when player is swimming } currentOxygen = Mathf.Clamp(currentOxygen, minOxygen, maxOxygen); if (!hideOxygenBar && useOxygenManager) { oxygenMaster.rectTransform.anchoredPosition = startingPos; } if (oxygenMaster != null) { if (useOxygenManager && afpcPlayer.IsSwimming && hideOxygenBar) { oxygenMaster.rectTransform.anchoredPosition = Vector3.SmoothDamp(oxygenMaster.rectTransform.anchoredPosition, startingPos, ref oxygenMasterPositionV, timeToHideOxygenBar); } else if (!useOxygenManager && !afpcPlayer.IsSwimming && hideOxygenBar) { oxygenMaster.rectTransform.anchoredPosition = Vector3.SmoothDamp(oxygenMaster.rectTransform.anchoredPosition, hidePosition, ref oxygenMasterPositionV, timeToHideOxygenBar); } } if (oxygenBar != null && useBarToShowOxygen) { float targetFillAmount = oxygenBar.GetComponent <AFPC_UIBar> ().ConvertValuesToFillAmountValue(currentOxygen, minOxygen, maxOxygen, 0f, 1f); oxygenBar.fillAmount = Mathf.SmoothDamp(oxygenBar.fillAmount, targetFillAmount, ref fillAmountV, timeToSmoothFillAmount); } if (oxygenText != null && useTextToShowOxygen) { oxygenText.text = currentOxygen.ToString(); } if (!afpcPlayer.infiniteRunning && currentOxygen == minOxygen && useoxygenRestoreSound && oxygenRestoreSound != null && useOxygenManager && !i) { _audioSrc.PlayOneShot(oxygenRestoreSound, oxygenRestoreVolume); i = true; } } else if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.spectator) { if (oxygenMaster != null && oxygenMaster.IsActive()) { oxygenMaster.gameObject.SetActive(false); } } }
// Update is called once per frame void Update() { if (prevPlayerType != afpcPlayer.playerType) { ChangePlayerType(); } prevPlayerType = afpcPlayer.playerType; if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.rigidBodyPlayer) { if (afpcPlayer.infiniteRunning) { useStaminaManager = false; } else { useStaminaManager = true; // Only enable stamina system when infinite running is disabled } currentStamina = Mathf.Clamp(currentStamina, minStamina, maxStamina); if (!hideStaminaBar && useStaminaManager) { staminaMaster.rectTransform.anchoredPosition = startingPos; } if (staminaMaster != null) { if (useStaminaManager && afpcPlayer.IsRunning && hideStaminaBar) { staminaMaster.rectTransform.anchoredPosition = Vector3.SmoothDamp(staminaMaster.rectTransform.anchoredPosition, startingPos, ref staminaMasterPositionV, timeToHideStaminaBar); } else if (useStaminaManager && !afpcPlayer.IsRunning && hideStaminaBar) { staminaMaster.rectTransform.anchoredPosition = Vector3.SmoothDamp(staminaMaster.rectTransform.anchoredPosition, hidePosition, ref staminaMasterPositionV, timeToHideStaminaBar); } } if (staminaBar != null && useBarToShowStamina) { float targetFillAmount = staminaBar.GetComponent <AFPC_UIBar> ().ConvertValuesToFillAmountValue(currentStamina, minStamina, maxStamina, 0f, 1f); staminaBar.fillAmount = Mathf.SmoothDamp(staminaBar.fillAmount, targetFillAmount, ref fillAmountV, timeToSmoothFillAmount); } if (staminaText != null && useTextToShowStamina) { staminaText.text = currentStamina.ToString(); } if (!afpcPlayer.infiniteRunning && currentStamina <= minStamina && useGaspSound && gaspSound != null && useStaminaManager && !i) { _audioSrc.PlayOneShot(gaspSound, gaspVolume); i = true; } } else if (afpcPlayer.playerType == AFPC_PlayerMovement.PlayerType.spectator) { if (staminaMaster != null && staminaMaster.IsActive()) { staminaMaster.gameObject.SetActive(false); } } }