public virtual void OnMMEvent(TopDownEngineEvent tdEvent) { switch (tdEvent.EventType) { case TopDownEngineEventTypes.PlayerDeath: if (tdEvent.OriginCharacter.PlayerID == PlayerID) { DeadMask.gameObject.SetActive(true); DeadMask.alpha = 0f; StartCoroutine(MMFade.FadeCanvasGroup(DeadMask, 0.5f, 0.8f, true)); } break; case TopDownEngineEventTypes.Repaint: foreach (GrasslandsMultiplayerLevelManager.GrasslandPoints points in (LevelManager.Instance as GrasslandsMultiplayerLevelManager).Points) { if (points.PlayerID == PlayerID) { CoinCounter.text = points.Points.ToString(); } } break; case TopDownEngineEventTypes.GameOver: if (PlayerID == (LevelManager.Instance as GrasslandsMultiplayerLevelManager).WinnerID) { WinnerScreen.gameObject.SetActive(true); WinnerScreen.alpha = 0f; StartCoroutine(MMFade.FadeCanvasGroup(WinnerScreen, 0.5f, 0.8f, true)); } break; } }
/// <summary> /// Starts the display coroutine or the panel's fade depending on whether or not the current slot is empty /// </summary> /// <param name="item">Item.</param> public virtual void DisplayDetails(InventoryItem item) { if (InventoryItem.IsNull(item)) { if (HideOnEmptySlot && !Hidden) { StartCoroutine(MMFade.FadeCanvasGroup(_canvasGroup, _fadeDelay, 0f)); Hidden = true; } if (!HideOnEmptySlot) { StartCoroutine(FillDetailFieldsWithDefaults(0)); } } else { StartCoroutine(FillDetailFields(item, 0f)); if (HideOnEmptySlot && Hidden) { StartCoroutine(MMFade.FadeCanvasGroup(_canvasGroup, _fadeDelay, 1f)); Hidden = false; } } }
/// <summary> /// Triggered when the actual loading is done, replaces the progress bar with the complete animation /// </summary> protected virtual void LoadingComplete() { LoadingCompleteAnimation.gameObject.SetActive(true); StartCoroutine(MMFade.FadeCanvasGroup(LoadingProgressBar, 0.1f, 0f)); StartCoroutine(MMFade.FadeCanvasGroup(LoadingAnimation, 0.1f, 0f)); StartCoroutine(MMFade.FadeCanvasGroup(LoadingCompleteAnimation, 0.1f, 1f)); }
protected virtual IEnumerator HideCo() { ContainerCanvasGroup.alpha = 1f; StartCoroutine(MMFade.FadeCanvasGroup(ContainerCanvasGroup, FadeOutDuration, 0f, true)); yield return(new WaitForSeconds(FadeOutDuration)); this.gameObject.SetActive(false); }
/// <summary> /// Fades the dialogue box out. /// </summary> /// <param name="duration">Duration.</param> public virtual void FadeOut(float duration) { Color newBackgroundColor = new Color(_backgroundColor.r, _backgroundColor.g, _backgroundColor.b, 0); Color newTextColor = new Color(_textColor.r, _textColor.g, _textColor.b, 0); StartCoroutine(MMFade.FadeCanvasGroup(TextPanelCanvasGroup, duration, 0f)); StartCoroutine(MMFade.FadeText(DialogueText, duration, newTextColor)); StartCoroutine(MMFade.FadeCanvasGroup(Prompt, duration, 0f)); }
/// <summary> /// Fades the fader to the alpha set as parameter /// </summary> /// <param name="newColor">The color to fade to.</param> /// <param name="duration">Duration.</param> public virtual void FaderTo(float newOpacity, float duration) { if (Fader == null) { return; } Fader.gameObject.SetActive(true); StartCoroutine(MMFade.FadeCanvasGroup(Fader, duration, newOpacity)); }
/// <summary> /// A coroutine used to hide the instructions after a while /// </summary> /// <returns></returns> protected virtual IEnumerator DisappearCo() { yield return(MMCoroutine.WaitFor(DisappearDelay)); StartCoroutine(MMFade.FadeCanvasGroup(_canvasGroup, DisappearDuration, 0f, true)); yield return(MMCoroutine.WaitFor(DisappearDuration + 0.1f)); this.gameObject.SetActive(false); }
protected virtual IEnumerator HideCo() { StartCoroutine(MMFade.FadeSprite(Border, FadeOutDuration, _alphaZero)); StartCoroutine(MMFade.FadeSprite(Background, FadeOutDuration, _alphaZero)); StartCoroutine(MMFade.FadeCanvasGroup(TextCanvasGroup, FadeOutDuration, 0f, true)); yield return(new WaitForSeconds(0.3f)); this.gameObject.SetActive(false); }
public virtual void Show() { this.gameObject.SetActive(true); if (_hideCoroutine != null) { StopCoroutine(_hideCoroutine); } ContainerCanvasGroup.alpha = 0f; StartCoroutine(MMFade.FadeCanvasGroup(ContainerCanvasGroup, FadeInDuration, 1f, true)); }
/// <summary> /// On game over we display our winner screen if needed /// </summary> /// <param name="tdEvent"></param> public virtual void OnMMEvent(TopDownEngineEvent tdEvent) { switch (tdEvent.EventType) { case TopDownEngineEventTypes.GameOver: if (PlayerID == (LevelManager.Instance as ExplodudesMultiplayerLevelManager).WinnerID) { WinnerScreen.gameObject.SetActive(true); WinnerScreen.alpha = 0f; StartCoroutine(MMFade.FadeCanvasGroup(WinnerScreen, 0.5f, 0.8f, true)); } break; } }
/// <summary> /// Fades the dialogue box in. /// </summary> /// <param name="duration">Duration.</param> public virtual void FadeIn(float duration) { if (TextPanelCanvasGroup != null) { StartCoroutine(MMFade.FadeCanvasGroup(TextPanelCanvasGroup, duration, 1f)); } if (DialogueText != null) { StartCoroutine(MMFade.FadeText(DialogueText, duration, _textColor)); } if (Prompt != null) { StartCoroutine(MMFade.FadeCanvasGroup(Prompt, duration, 1f)); } }
/// <summary> /// Closes the inventory panel /// </summary> public virtual void CloseInventory() { // we unpause the game _pause = false; if (_canvasGroup != null) { _canvasGroup.blocksRaycasts = false; } // we close our inventory MMEventManager.TriggerEvent(new MMInventoryEvent(MMInventoryEventType.InventoryCloses, null, TargetInventoryDisplay.TargetInventoryName, null, 0, 0)); MMEventManager.TriggerEvent(new MMGameEvent("inventoryCloses")); InventoryOpen = false; StartCoroutine(MMFade.FadeCanvasGroup(TargetInventoryContainer, 0.2f, 0f)); StartCoroutine(MMFade.FadeCanvasGroup(Overlay, 0.2f, 0f)); }
/// <summary> /// Fades the fader in or out depending on the state /// </summary> /// <param name="state">If set to <c>true</c> fades the fader in, otherwise out if <c>false</c>.</param> public virtual void FaderOn(bool state, float duration) { if (Fader == null) { return; } Fader.gameObject.SetActive(true); if (state) { StartCoroutine(MMFade.FadeCanvasGroup(Fader, duration, 1f)); } else { StartCoroutine(MMFade.FadeCanvasGroup(Fader, duration, 0f)); } }
/// <summary> /// Opens the inventory panel /// </summary> public virtual void OpenInventory() { // we set the game to pause _pause = true; if (_canvasGroup != null) { _canvasGroup.blocksRaycasts = true; } // we open our inventory MMEventManager.TriggerEvent(new MMInventoryEvent(MMInventoryEventType.InventoryOpens, null, TargetInventoryDisplay.TargetInventoryName, TargetInventoryDisplay.TargetInventory.Content[0], 0, 0)); MMEventManager.TriggerEvent(new MMGameEvent("inventoryOpens")); InventoryOpen = true; StartCoroutine(MMFade.FadeCanvasGroup(TargetInventoryContainer, 0.2f, 1f)); StartCoroutine(MMFade.FadeCanvasGroup(Overlay, 0.2f, 0.85f)); }
public virtual void FaderOn(bool state, float duration, bool unscaled = true) { if (Fader == null) { return; } Fader.gameObject.SetActive(true); if (state) { Fader.alpha = 0f; StartCoroutine(MMFade.FadeCanvasGroup(Fader, duration, 1f, unscaled)); } else { Fader.alpha = 1f; StartCoroutine(MMFade.FadeCanvasGroup(Fader, duration, 0f, unscaled)); StartCoroutine(TurnFaderOff(duration)); } }
public virtual void Show() { StartCoroutine(MMFade.FadeSprite(Border, FadeInDuration, _alphaOne)); StartCoroutine(MMFade.FadeSprite(Background, FadeInDuration, _alphaOne)); StartCoroutine(MMFade.FadeCanvasGroup(TextCanvasGroup, FadeInDuration, 1f, true)); }