public ChrTile( int tileIndex, int paletteIndex, LayerPriority layerPriority, TileFlip tileFlip) { value = (ushort)(tileIndex & TileIndexMask); Value |= (paletteIndex & PaletteMask) << PaletteOffset; Value |= ((int)layerPriority & PriorityMask) << PriorityOffset; Value |= ((int)tileFlip & FlipMask) << FlipOffset; }
public RectTransform ShowWindow(string window, object data=null) { int index = m_Stack.FindIndex(x => x.name==window); UIView view = null; if (index >= 0) { view = m_Stack[index]; m_Stack.RemoveAt(index); } else { Object obj = ResourceManager.Instance.LoadAsset("UI/"+window); GameObject panel = Instantiate(obj as GameObject); panel.name = window; LuaBehaviour lua = panel.GetComponent<LuaBehaviour>(); if (lua == null) panel.AddComponent<LuaBehaviour>(); RectTransform rt = panel.GetComponent<RectTransform>(); rt.SetParent(Root); rt.sizeDelta = new Vector2(0, 0); rt.localScale = Vector3.one; rt.localPosition = new Vector3(0, 0, 0); view = new UIView{name=window,rt=rt}; } // set layer LayerPriority layer = LayerPriority.Normal; if (m_PanelLayerMap.ContainsKey(window)) layer = m_PanelLayerMap[window]; if (m_Stack.Count > 0) { int idx = 0; for (; idx < m_Stack.Count; idx ++) { LayerPriority layer2 = LayerPriority.Normal; if (m_PanelLayerMap.ContainsKey(m_Stack[idx].name)) layer2 = m_PanelLayerMap[m_Stack[idx].name]; if (layer2 > layer) { break; } } if (idx == m_Stack.Count) { view.rt.SetAsLastSibling(); m_Stack.Add(view); } else { int siblingIndex = m_Stack[idx].rt.GetSiblingIndex(); for (int i = m_Stack.Count -1; i >= idx; i --) {// move back m_Stack[i].rt.SetSiblingIndex(m_Stack[i].rt.GetSiblingIndex() + 1); } view.rt.SetSiblingIndex(siblingIndex); m_Stack.Insert(idx, view); } } else { view.rt.SetSiblingIndex(Root.childCount-1); m_Stack.Add(view); } return view.rt; }