private void ChangeLinkState(LinkState _newState) { if (linkState == _newState) { return; } switch (_newState) { case LinkState.Broken: FeedbackManager.SendFeedback("event.LinkBroken", firstPawn, firstPawn.GetCenterPosition(), firstPawn.GetCenterPosition() - transform.position, firstPawn.GetCenterPosition() - transform.position); FeedbackManager.SendFeedback("event.LinkBroken", secondPawn, secondPawn.GetCenterPosition(), secondPawn.GetCenterPosition() - transform.position, secondPawn.GetCenterPosition() - transform.position); WarningPanel.OpenPanel(); break; case LinkState.Rebuilt: FeedbackManager.SendFeedback("event.LinkRebuilt", firstPawn, firstPawn.GetCenterPosition(), firstPawn.GetCenterPosition() - transform.position, firstPawn.GetCenterPosition() - transform.position); FeedbackManager.SendFeedback("event.LinkRebuilt", secondPawn, secondPawn.GetCenterPosition(), secondPawn.GetCenterPosition() - transform.position, secondPawn.GetCenterPosition() - transform.position); WarningPanel.ClosePanel(); break; case LinkState.Showing: break; case LinkState.Slowing: break; case LinkState.Hidden: break; } linkState = _newState; }
public static void SetWarning(string title_body_footer, AudioClip audioWarning, bool canResume, float waitingTimeIfNotResumable) { string[] warning = title_body_footer.Split('_'); if (warning.Length < 3) { Debug.LogError("mensagem de warning incompleta"); return; } // setup text and audio WarningPanel wp = instance.warningPanel.GetComponent <WarningPanel> (); wp.SetupText(warning [0], warning [1], warning [2]); wp.PlayWarningAudio(); if (canResume) { canResumeWarning = canResume; } else { instance.StartCoroutine(instance.FinishSession(waitingTimeIfNotResumable)); } // show panel instance.OpenWarningPanel(); }
public void OnPause() { WarningPanel.SetActive(false); pausePanel.SetActive(true); pauseButton.SetActive(false); Time.timeScale = 0; }
// Start is called before the first frame update void Start() { if (_instance == null) { _instance = this; } text = GetComponent <Text>(); text.text = string.Empty; }
public static WarningPanel Instance() { if (!warningPanel) { warningPanel = FindObjectOfType(typeof(WarningPanel)) as WarningPanel; if (!warningPanel) Debug.Log("There needs to be one active ModalWindow script on a GameObject in your scene."); } return warningPanel; }
public void ConvertFirst() { if (FirstPartInput.text == "40") { StartCoroutine(FirstPartCoroutine()); firstConverted = true; } else { ConverterPanel.SetActive(false); WarningPanel.SetActive(true); } }
private void Awake() { instance = this; PostProcessProfile i_postProcessVolumeProfile = Camera.main.GetComponent <PostProcessVolume>().profile; if (!i_postProcessVolumeProfile.TryGetSettings(out vignette)) { i_postProcessVolumeProfile.AddSettings <Vignette>(); } i_postProcessVolumeProfile.TryGetSettings(out vignette); vignette.color.value = vignetteColor; animator = GetComponent <Animator>(); gameObject.SetActive(false); }
public void ConvertSecond() { if (!firstConverted) { ConverterPanel.SetActive(false); OrderWarningPanel.SetActive(true); } else if (SecondPartInput.text != "5") { ConverterPanel.SetActive(false); WarningPanel.SetActive(true); } else { StartCoroutine(ConvertSecondCoroutine()); secondConverted = true; } }
private void UpdateLink() { if (linkGameObject != null) { if (firstPawn.moveState == MoveState.Dead || secondPawn.moveState == MoveState.Dead) { lineRenderer.positionCount = 0; WarningPanel.ClosePanelInstantly(); linkIsBroke = false; return; } float i_linkLength = Vector3.Distance(firstPawn.transform.position, secondPawn.transform.position); if (!linkIsBroke) { linkMaterial.SetFloat("_CurrentEnergyAmout", EnergyManager.GetEnergy()); if (i_linkLength < maxDistanceBeforeBreaking) { //Hide link lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, firstPawn.GetCenterPosition()); lineRenderer.SetPosition(1, secondPawn.GetCenterPosition()); linkMaterial.SetFloat("_BreakingLinkProgression", 0); ChangeLinkState(LinkState.Hidden); } if (i_linkLength >= maxDistanceBeforeShowing && i_linkLength < maxDistanceBeforeSlowing) { //Show link lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, firstPawn.GetCenterPosition()); lineRenderer.SetPosition(1, secondPawn.GetCenterPosition()); float lerpValue = (maxDistanceBeforeSlowing - i_linkLength) / (maxDistanceBeforeSlowing - maxDistanceBeforeShowing); lerpValue = 1f - slowCoefCurve.Evaluate(lerpValue); linkMaterial.SetFloat("_BreakingLinkProgression", 0); ChangeLinkState(LinkState.Showing); } if (i_linkLength >= maxDistanceBeforeSlowing && i_linkLength < maxDistanceBeforeBreaking) { lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, firstPawn.GetCenterPosition()); lineRenderer.SetPosition(1, secondPawn.GetCenterPosition()); float lerpValue = (maxDistanceBeforeBreaking - i_linkLength) / (maxDistanceBeforeBreaking - maxDistanceBeforeSlowing); lerpValue = 1f - slowCoefCurve.Evaluate(lerpValue); linkMaterial.SetFloat("_BreakingLinkProgression", lerpValue); float slowValue = Mathf.Lerp(1f, maxSlowCoef, lerpValue); //Slow player 1 float FcDirectionAngle = Vector3.Angle(firstPawn.transform.forward, secondPawn.transform.position - firstPawn.transform.position); float FcSlowValue = Mathf.Lerp(1f, slowValue, FcDirectionAngle / 180f); firstPawn.AddSpeedModifier(new SpeedCoef(FcSlowValue, Time.deltaTime, SpeedMultiplierReason.Link, false)); //Slow player 2 float FsDirectionAngle = Vector3.Angle(secondPawn.transform.forward, firstPawn.transform.position - secondPawn.transform.position); float FsSlowValue = Mathf.Lerp(1f, slowValue, FsDirectionAngle / 180f); secondPawn.AddSpeedModifier(new SpeedCoef(FsSlowValue, Time.deltaTime, SpeedMultiplierReason.Link, false)); ChangeLinkState(LinkState.Slowing); } if (i_linkLength >= maxDistanceBeforeBreaking) { //Break link lineRenderer.positionCount = 0; linkIsBroke = true; ChangeLinkState(LinkState.Broken); } } else { if (i_linkLength <= distanceBeforeRebuilding) { //Rebuild link linkIsBroke = false; ChangeLinkState(LinkState.Rebuilt); } else { damageCount += damagesPerSecWithoutLink * Time.deltaTime; if (damageCount >= 1) { firstPawn.Damage(Mathf.RoundToInt(damageCount)); secondPawn.Damage(Mathf.RoundToInt(damageCount)); damageCount = 0; } } } } }
public void BacktoMainMenu() { pausePanel.SetActive(false); WarningPanel.SetActive(true); }