internal static void ProcessUIAlpha(UIFrame ui) { int layer = ui.GetLayer(); if (layer < 0) { layer = -layer; } LayerAlpha la; if (!layerAlphaDic.TryGetValue(layer, out la)) { la = new LayerAlpha(); la.alpha = 1; layerAlphaDic.Add(layer, la); return; } ui.SetAlpha(la.alpha); }
public static void SetLessLayerUIAlpha(int layer, float alpha) { if (alpha < 0) { return; } if (layer < 0) { layer = -layer; } if (layer < currentLayer && alpha != currentLowLayerAlpha) { return; } currentLayer = layer; currentLowLayerAlpha = alpha; LayerAlpha la; if (!layerAlphaDic.TryGetValue(layer, out la)) { la = new LayerAlpha(); la.alpha = 1; layerAlphaDic.Add(layer, la); } Dictionary <int, List <UIFrame> > .Enumerator e = layerUI.GetEnumerator(); UIFrame ui; int clayer; while (e.MoveNext()) { clayer = e.Current.Key; if (clayer < 0) { clayer = -clayer; } if (clayer < layer) { if (!layerAlphaDic.TryGetValue(clayer, out la)) { la = new LayerAlpha(); la.alpha = alpha; layerAlphaDic.Add(clayer, la); } la.alpha = alpha; for (int i = 0, count = e.Current.Value.Count; i < count; i++) { ui = e.Current.Value[i]; if (ui.IsShowing()) { ui.SetAlpha(alpha); } } } } }