private void PopScreen(Option <IScreenArguments> newArguments, bool resetArguments) { if (this._argumentsStack.Count < 2) { #if PANELS_DEBUG_ON Debug.LogError("[PopScreen] nothing to pop from screens stack"); #endif return; } this._argumentsStack.RemoveAt(this._argumentsStack.Count - 1); ArgumentsStackItem <IScreenArguments> args = this._argumentsStack[this._argumentsStack.Count - 1]; this._argumentsStack.RemoveAt(this._argumentsStack.Count - 1); if (resetArguments) { args.Arguments = newArguments; } this.PushScreen(args.ScreenName, args.Arguments); } // PopScreen
} // Init private void PushArgumentsInStack(ArgumentsStackItem <IScreenArguments> arguments) { _argumentsStack.Add(arguments); }