|  | @@ -22,7 +22,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          private static GComponent _debugLayer;
 | 
	
		
			
				|  |  |          private static GComponent _floatLayer;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        private static Dictionary<string, object[]> _goBackDatas = new Dictionary<string, object[]>();
 | 
	
		
			
				|  |  | +        private static Dictionary<string, List<object[]>> _goBackDatas = new Dictionary<string, List<object[]>>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          public static void Init()
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -147,10 +147,13 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (goBackParams != null)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    _goBackDatas[name] = goBackParams;
 | 
	
		
			
				|  |  | +                    if (!_goBackDatas.ContainsKey(name))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        _goBackDatas.Add(name, new List<object[]>());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    _goBackDatas[name].Add(goBackParams);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  Debug.Log("当前打开:" + name);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              return true;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -211,7 +214,7 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (goBackParams != null)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    _goBackDatas[name] = goBackParams;
 | 
	
		
			
				|  |  | +                    _goBackDatas[name].Add(goBackParams);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else if (resetGobackParams)
 | 
	
		
			
				|  |  |                  {
 | 
	
	
		
			
				|  | @@ -255,13 +258,14 @@ namespace GFGGame
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        public static void GoBackFrom(string viewName, bool clearGoBackDatas = false)
 | 
	
		
			
				|  |  | +        public static void GoBackFrom(string viewName)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              string name = GetName(viewName);
 | 
	
		
			
				|  |  |              ViewManager.Hide(name);
 | 
	
		
			
				|  |  | -            if (_goBackDatas.ContainsKey(name))
 | 
	
		
			
				|  |  | +            if (_goBackDatas.ContainsKey(name) && _goBackDatas[name].Count > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                object[] gobackItems = _goBackDatas[name];
 | 
	
		
			
				|  |  | +                List<object[]> goBackdatas = _goBackDatas[name];
 | 
	
		
			
				|  |  | +                object[] gobackItems = goBackdatas[goBackdatas.Count - 1];
 | 
	
		
			
				|  |  |                  string tViewName = gobackItems[0] as string;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  object tViewData = null;
 | 
	
	
		
			
				|  | @@ -269,8 +273,8 @@ namespace GFGGame
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      tViewData = gobackItems[1];
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                  ViewManager.Show(tViewName, tViewData);
 | 
	
		
			
				|  |  | +                _goBackDatas[name].RemoveAt(goBackdatas.Count - 1);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              else
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -281,8 +285,11 @@ namespace GFGGame
 | 
	
		
			
				|  |  |          public static object[] GetGoBackDatas(string viewName)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              string name = GetName(viewName);
 | 
	
		
			
				|  |  | -            object[] value;
 | 
	
		
			
				|  |  | -            _goBackDatas.TryGetValue(name, out value);
 | 
	
		
			
				|  |  | +            object[] value = null;
 | 
	
		
			
				|  |  | +            if (_goBackDatas.ContainsKey(name) && _goBackDatas[name].Count > 0)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                value = _goBackDatas[name][_goBackDatas[name].Count - 1];
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              return value;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          public static UIView GetUIView(string viewName)
 |