/// <summary> /// Show this screen with the specified properties. /// </summary> /// <param name="props">The data for the screen.</param> public void Show(IScreenProperties props = null) { if (props != null) { if (props is TProps) { SetProperties((TProps)props); } else { Debug.LogError("Properties passed have wrong type! (" + props.GetType() + " instead of " + typeof(TProps) + ")"); return; } } HierarchyFixOnShow(); OnPropertiesSet(); if (!gameObject.activeSelf) { DoAnimation(animIn, OnTransitionInFinished, true); } else { if (InTransitionFinished != null) { InTransitionFinished(this); } } }