UIPanel warning
Posted: Fri Mar 17, 2023 7:46 pm
Hello!
I am using Runic Standard Dialogue UI. The Dialogue Panel under the Runic Standard Dialogue UI gameobject logs a warning when starting or ending a conversation. The warning is
The function that logs the warning is
The issue is that hideAnimationTrigger is blank when myAnimator.ResetTrigger(hideAnimationTrigger) is called. Should this line also check that hideAnimationTrigger is not blank before calling? Something like
I am using Runic Standard Dialogue UI. The Dialogue Panel under the Runic Standard Dialogue UI gameobject logs a warning when starting or ending a conversation. The warning is
Code: Select all
Parameter '' does not exist.
UnityEngine.Animator:ResetTrigger (string)
PixelCrushers.UIPanel:Open () (at Assets/Plugins/Pixel Crushers/Common/Scripts/UI/UIPanel.cs:230)
PixelCrushers.DialogueSystem.StandardUIDialogueControls:ShowPanel () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI/Standard/Dialogue/StandardUIDialogueControls.cs:92)
PixelCrushers.DialogueSystem.AbstractDialogueUI:Open () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI/Abstract/Dialogue/AbstractDialogueUI.cs:104)
PixelCrushers.DialogueSystem.StandardDialogueUI:Open () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI/Standard/Dialogue/StandardDialogueUI.cs:104)
PixelCrushers.DialogueSystem.ConversationView:Initialize (PixelCrushers.DialogueSystem.IDialogueUI,PixelCrushers.DialogueSystem.Sequencer,PixelCrushers.DialogueSystem.DisplaySettings,PixelCrushers.DialogueSystem.DialogueEntrySpokenDelegate) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:98)
PixelCrushers.DialogueSystem.DialogueSystemController:WarmUpConversationController () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Manager/DialogueSystemController.cs:819)
PixelCrushers.DialogueSystem.DialogueSystemController:Start () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Manager/DialogueSystemController.cs:523)
Code: Select all
public virtual void Open()
{
if (panelState == PanelState.Open || panelState == PanelState.Opening) return;
if (panelState == PanelState.Closing) animatorMonitor.CancelCurrentAnimation();
m_frameLastOpened = Time.frameCount;
panelState = PanelState.Opening;
gameObject.SetActive(true);
onOpen.Invoke();
if (myAnimator != null && myAnimator.isInitialized) myAnimator.ResetTrigger(hideAnimationTrigger);
animatorMonitor.SetTrigger(showAnimationTrigger, OnVisible, waitForShowAnimation);
// With quick panel changes, panel may not reach OnEnable/OnDisable before being reused.
// Update panelStack here also to handle this case:
PushToPanelStack();
}
Code: Select all
if (myAnimator != null && myAnimator.isInitialized && !string.IsNullOrEmpty(hideAnimationTrigger)) myAnimator.ResetTrigger(hideAnimationTrigger);