|
@@ -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)
|