Exemplo n.º 1
0
        private Window createWindow <Window>(Window prefab
                                             , string name
                                             , TezLayer layer
                                             , TezWidgetLife life) where Window : TezWindow, ITezSinglePrefab
        {
            TezWindow window = null;

            switch (life)
            {
            case TezWidgetLife.Normal:
                window = Instantiate(prefab, layer.transform, false);
                break;

            case TezWidgetLife.TypeOnly:
                TezBaseWidget widget = null;
                var           type   = typeof(Window);
                if (m_WidgetWithType.TryGetValue(type, out widget))
                {
                    widget.reset();
                    return((Window)widget);
                }
                else
                {
                    window = Instantiate(prefab, layer.transform, false);
                    m_WidgetWithType.Add(type, window);
                }
                break;

            default:
                break;
            }

            int id = this.giveID();

            window.windowID   = id;
            window.windowName = name;
            window.layer      = layer;
            window.life       = life;

            m_WindowList[id] = window;
            return((Window)window);
        }
Exemplo n.º 2
0
 public void removeWindow(TezWindow window)
 {
     m_FreeWindowID.Enqueue(window.windowID);
     m_WindowList[window.windowID] = null;
 }
Exemplo n.º 3
0
 public TezWindow createWindow(TezWindow prefab, TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal)
 {
     return(this.createWindow(prefab, prefab.GetType().Name, layer, life));
 }