public static FreeUIUtil GetInstance() { if (_instance == null) { _instance = new FreeUIUtil(); } return(_instance); }
public void Initial(params object[] ini) { if (ini[0] is string) { var ss = (ini[0] as string).Split("_"); if (ss.Length == 2) { _colum = int.Parse(ss[0]); _row = int.Parse(ss[1]); _deltaY = _height / _row; } } else if (ini[0] is SimpleProto) { var simpleProto = (SimpleProto)ini[0]; #pragma warning disable CS0219 // The variable 'lCount' is assigned but its value is never used var lCount = 0; #pragma warning restore CS0219 // The variable 'lCount' is assigned but its value is never used for (var j = 0; j < _row; j++) { var subList = new List <IFreeComponent>(); for (var i = 0; i < simpleProto.Ks.Count - 1; i++) { var newPo = FreeUIUtil.GetInstance().GetComponent(simpleProto.Ks[i + 1]); var control = newPo.ToUI(); list.Add(newPo); control.gameObject.transform.parent = sprite.transform; subList.Add(newPo); newPo.SetPos(this, simpleProto.Fs[i * 2], simpleProto.Fs[i * 2 + 1] + _deltaY * j, simpleProto.Ins[i * 4], simpleProto.Ins[i * 4 + 1], simpleProto.Ins[i * 4 + 2], simpleProto.Ins[i * 4 + 3]); newPo.Initial(simpleProto.Ss[i * 3 + 2], simpleProto.Ss[i * 3 + 3]); newPo.EventKey = simpleProto.Ss[i * 3 + 4]; } llist.Add(subList); } } }
private SimpleFreeUI Build(SimpleProto simpleProto) { //var canvas = SceneManager.GetActiveScene().GetRootGameObjects().FirstOrDefault(x => x.name == "Canvas"); //if (canvas == null) //{ // canvas = UnityUiUtility.CreateCanvas(Screen.width, Screen.height); // FreeLayoutConverter.FullScreen(canvas.GetComponent<RectTransform>()); //} //canvas = UiCommon.UIManager.GetLayer(UIComponent.UI.UILayer.Base); //EventSystem.current = canvas.GetComponent<EventSystem>(); //var freeUI = canvas.transform.Find("FreeUI"); //if (freeUI == null) //{ // var freeUIObj = new GameObject("FreeUI"); // freeUIObj.transform.parent = canvas.transform; // var rectTransform = freeUIObj.AddComponent<RectTransform>(); // //rectTransform.anchorMin = new Vector2(0, 1); // //rectTransform.anchorMax = new Vector2(0, 1); // FreeLayoutConverter.FullScreen(rectTransform); // //rectTransform.sizeDelta = new Vector2(Screen.width, Screen.height); // freeUIObj.AddComponent<CanvasRenderer>(); // freeUI = freeUIObj.transform; //} int layer = simpleProto.Ks[0]; Transform freeUI = UiCommon.UIManager.GetLayer((UIComponent.UI.UILayer)layer).transform; var root = new GameObject(simpleProto.Ss[0]); string parent = simpleProto.Ss[1]; root.transform.SetParent(freeUI, false); GameObject parentObj = null; if (!string.IsNullOrEmpty(parent)) { parentObj = GameObject.Find(parent); if (parentObj != null) { root.transform.SetParent(parentObj.transform, false); } } //root.transform.localPosition = Vector3.zero; RectTransform rt = root.AddComponent <RectTransform>(); root.AddComponent <CanvasRenderer>(); var ui = root.AddComponent <SimpleFreeUI>(); ui.Key = simpleProto.Ss[0]; ui.Visible = simpleProto.Bs[0]; ui.AtBottom = simpleProto.Bs[1]; FreeLayoutConverter.FullScreen(rt); for (var i = 0; i < simpleProto.Ks.Count - 1; i++) { var newPo = FreeUIUtil.GetInstance().GetComponent(simpleProto.Ks[i + 1]); if (newPo == null) { Logger.ErrorFormat("Free component not exist {0}", simpleProto.Ks[i + 1]); continue; } ui.AddComponent(newPo); newPo.SetPos(ui, simpleProto.Fs[i * 2], simpleProto.Fs[i * 2 + 1], simpleProto.Ins[i * 4], simpleProto.Ins[i * 4 + 1], simpleProto.Ins[i * 4 + 2], simpleProto.Ins[i * 4 + 3]); newPo.Initial(simpleProto.Ss[i * 3 + 2], simpleProto.Ss[i * 3 + 3]); newPo.EventKey = simpleProto.Ss[i * 3 + 4]; if (newPo is FreeListComponent) { newPo.Initial(simpleProto.Ps[i]); } } ui.OrignalHeight = ui.Height; ui.OrignalWidth = ui.Width; ui.OrignalX = ui.X; ui.OrignalY = ui.Y; ui.gameObject.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); return(ui); }
public void Show(SimpleProto sp) { _showStyle = FreeUIUtil.GetInstance().GetShowStyle(sp); _totalTime = sp.Ks[2]; _currentTime = 0; }