public override void OnRefreshWindow()
    {
        if (_itemID > 0)
        {
            ItemsConfig cfg = ItemsConfigLoader.GetConfig(_itemID);
            _txtTitle.text = string.Format(Str.Get("UI_TAVERN_BUY_EXP"), (_count > 1 ? cfg.Name + "x" + _count : cfg.Name));
        }

        for (int i = 0; i < _listWidget.Length; ++i)
        {
            ItemWidget widget = _listWidget[i];
            if (i < _itemList.Count)
            {
                widget.gameObject.SetActive(true);
                ItemInfo itemInfo = _itemList[i];
                widget.SetInfo(itemInfo);
                _originPosition.Add(widget.transform.position);
                widget.gameObject.SetActive(false);
            }
            else
            {
                widget.gameObject.SetActive(false);
            }
        }

        StartCoroutine(PlayAnimation());
    }
Beispiel #2
0
 void HandleMenuTreeSelectionChanged(object sender, EventArgs e)
 {
     if (menuTree.SelectedRow != null)
     {
         ItemWidget w = store.GetNavigatorAt(menuTree.SelectedRow).GetValue(widgetCol);
         if (w.Type != null)
         {
             if (AllowAccess(w))
             {
                 if (w.Widget == null)
                 {
                     w.Widget = (Widget)Activator.CreateInstance(w.Type);
                 }
                 panel.Panel2.Content = w.Widget;
             }
             else
             {
                 panel.Panel2.Content = AccessDeniedLabel;
             }
         }
         else
         {
             panel.Panel2.Content = SelectItemLabel;
         }
     }
     panel.Panel2.Content.MarginLeft = 5;
 }
Beispiel #3
0
        /// <summary>
        /// Creates a widget based on the parameters
        /// and links that widget to a dasboard.
        /// </summary>
        public Widget AddWidget(WidgetType widgetType, string title, int rowNbr, int colNbr, List <PropertyTag> proptags, DateTime?timestamp = null,
                                GraphType?graphType = null, int rowspan = 1, int colspan = 1, int dashboardId = -1, List <WidgetData> datas = null, List <Item> items = null)
        {
            InitRepo();
            Widget widget;

            //Checks if a userwidget or an itemWidget needs to be created
            if (dashboardId == -1)
            {
                widget = new ItemWidget();
            }
            else
            {
                widget = new UserWidget();
            }

            //Check if timestamp was given
            if (timestamp == null)
            {
                timestamp = DateTime.Now.AddMonths(-1);
            }

            widget.WidgetType   = widgetType;
            widget.Title        = title;
            widget.RowNumber    = rowNbr;
            widget.ColumnNumber = colNbr;
            widget.RowSpan      = rowspan;
            widget.ColumnSpan   = colspan;
            widget.Timestamp    = timestamp;
            widget.Items        = items ?? new List <Item>();
            if (graphType != 0)
            {
                widget.GraphType = graphType;
            }
            widget.PropertyTags = proptags;

            //Check for adding widgetData
            if (datas == null)
            {
                widget.WidgetDatas = new List <WidgetData>();
            }
            else
            {
                widget.WidgetDatas = datas;
            }

            //Update database
            if (dashboardId != -1)
            {
                Dashboard dasboardToAddWidget = widgetRepo.ReadDashboardWithWidgets(dashboardId);
                dasboardToAddWidget.Widgets.Add((UserWidget)widget);
            }
            widgetRepo.CreateWidget(widget);
            return(widget);
        }
Beispiel #4
0
        public TreePosition AddWiget(TreePosition pos, string name, Type type, Widget widget)
        {
            var item = new ItemWidget(type)
            {
                Widget = widget
            };

            return(store.AddNode(pos)
                   .SetValue(nameCol, name)
                   //.SetValue (iconCol, Icon)
                   .SetValue(widgetCol, item)
                   .CurrentPosition);
        }
Beispiel #5
0
        protected override void OnInit(Point2D position, object[] args)
        {
            int i = 3;

            var resId      = (int)args[0];
            var q          = (int)args[1];
            var dragOffset = (int)args[2] != 0 ? (Point2D?)args[i++] : null;
            var tooltip    = args.Length > i ? (string)args[i++] : null;
            var num        = args.Length > i ? (int)args[i] : -1;

            var itemMold = Session.Resources.Get <ItemProto>(resId);
            var item     = new Item(itemMold);

            item.Quality = q;
            item.Amount  = num;
            if (!string.IsNullOrEmpty(tooltip))
            {
                item.Tooltip = tooltip;
            }

            widget           = new ItemWidget(Parent.Widget, dragOffset);
            widget.Take     += (p) => SendMessage("take", p);
            widget.Transfer += (p) => SendMessage("transfer", p);
            widget.Drop     += (p) => SendMessage("drop", p);
            widget.Act      += (p) => SendMessage("iact", p);
            widget.Interact += (mods) => SendMessage("itemact", ServerInput.ToServerModifiers(mods));
            widget.Item      = item;

            if (dragOffset.HasValue)
            {
                widget.Move(Session.Screen.MousePosition.Sub(dragOffset.Value));
            }
            else
            {
                widget.Move(position);
            }
        }
    private IEnumerator PlayAnimation()
    {
        const float TIME = 0.2f;

        for (int i = 0; i < Mathf.Min(_itemList.Count, _listWidget.Length); ++i)
        {
            ItemWidget widget = _listWidget[i];
            widget.gameObject.SetActive(true);
            widget.transform.position   = _startPosition.transform.position;
            widget.transform.localScale = Vector3.one * 0.1f;
            widget.transform.Rotate(0, 0, -270);

            Sequence seq = DOTween.Sequence();
            seq.Join(widget.transform.DOMove(_originPosition[i], TIME));
            seq.Join(widget.transform.DOScale(Vector3.one, TIME));
            seq.Join(widget.transform.DORotate(Vector3.zero, TIME));
            seq.Play();

            if (widget._info.IsCard())
            {
                ItemsConfig itemCfg = ItemsConfigLoader.GetConfig(widget._info.ConfigID);
                HeroConfig  heroCfg = HeroConfigLoader.GetConfig(itemCfg.MatchHero);
                // 创建模型
                GameObject prefab = Resources.Load <GameObject>("Effect/UI/Eff_chouka");
                GameObject go     = Instantiate(prefab);
                go.transform.position = Vector3.zero;
                // 等待动画播放完出现底座才显示模型
                yield return(new WaitForSeconds(2));

                CreateHeroModel(heroCfg, go);
                yield return(new WaitForSeconds(3));

                Destroy(go);
            }
            yield return(new WaitForSeconds(TIME));
        }
    }
Beispiel #7
0
 public virtual bool AllowAccess(ItemWidget widget)
 {
     return true;
 }
Beispiel #8
0
 public TreePosition AddWiget(TreePosition pos, string name, Type type, Widget widget)
 {
     var item = new ItemWidget (type) { Widget = widget };
     return store.AddNode (pos)
         .SetValue (nameCol, name)
     //.SetValue (iconCol, Icon)
         .SetValue (widgetCol, item)
         .CurrentPosition;
 }
        /// <summary>
        /// Generates widgets for displaying the activities that happen on the website
        /// </summary>
        private void GenerateActivityWidgets(BarometerDbContext ctx)
        {
            List <PropertyTag> tags1 = new List <PropertyTag>();
            PropertyTag        tag1  = new PropertyTag()
            {
                Name = "activity login"
            };

            tags1.Add(tag1);

            Widget loginWidget = new ItemWidget()
            {
                Title        = "Login activities",
                RowNumber    = 1,
                ColumnNumber = 1,
                RowSpan      = 12,
                ColumnSpan   = 6,
                WidgetDatas  = new List <WidgetData>(),
                WidgetType   = WidgetType.GraphType,
                GraphType    = GraphType.LineChart,
                PropertyTags = tags1
            };

            ctx.Widgets.Add(loginWidget);

            List <PropertyTag> tags2 = new List <PropertyTag>();
            PropertyTag        tag2  = new PropertyTag()
            {
                Name = "activity register"
            };

            tags2.Add(tag2);

            Widget registerWidget = new ItemWidget()
            {
                Title        = "Register activities",
                RowNumber    = 1,
                ColumnNumber = 1,
                RowSpan      = 12,
                ColumnSpan   = 6,
                WidgetDatas  = new List <WidgetData>(),
                WidgetType   = WidgetType.GraphType,
                GraphType    = GraphType.LineChart,
                PropertyTags = tags2
            };

            ctx.Widgets.Add(registerWidget);

            List <PropertyTag> tags3 = new List <PropertyTag>();
            PropertyTag        tag3  = new PropertyTag()
            {
                Name = "activity visit"
            };

            tags3.Add(tag3);

            Widget visitWidget = new ItemWidget()
            {
                Title        = "Visit activities",
                RowNumber    = 1,
                ColumnNumber = 1,
                RowSpan      = 12,
                ColumnSpan   = 6,
                WidgetDatas  = new List <WidgetData>(),
                WidgetType   = WidgetType.GraphType,
                GraphType    = GraphType.LineChart,
                PropertyTags = tags3
            };

            ctx.Widgets.Add(visitWidget);

            ctx.SaveChanges();
        }
Beispiel #10
0
 public virtual bool AllowAccess(ItemWidget widget)
 {
     return(true);
 }
Beispiel #11
0
 private void RebuildItemWidget(ItemWidget itemWidget, Item item)
 {
     itemWidget.SetData(item);
 }
        /// <summary>
        /// Generates dafault widgets based on the itemid
        /// </summary>
        public void GenerateDefaultItemWidgets(string name, int itemId)
        {
            uowManager = new UnitOfWorkManager();
            InitRepo();

            WidgetManager      widgetManager = new WidgetManager(uowManager);
            List <Widget>      itemWidgets   = new List <Widget>();
            List <int>         widgetIds     = new List <int>();
            List <PropertyTag> proptags;

            //Get item
            Item item = GetItemWithAllWidgets(itemId);

            //1st widget
            proptags = new List <PropertyTag>();
            proptags.Add(new PropertyTag()
            {
                Name = "Mentions"
            });
            ItemWidget widget1 = (ItemWidget)widgetManager.AddWidget(WidgetType.GraphType, name + " popularity", 1, 1, proptags: proptags, graphType: GraphType.LineChart, rowspan: 12, colspan: 6);

            itemWidgets.Add(widget1);
            widgetIds.Add(widget1.WidgetId);

            //If item is from type theme or person then
            //more items shall be added
            if (item is Theme || item is Person)
            {
                //2nd widget
                proptags = new List <PropertyTag>();
                proptags.Add(new PropertyTag()
                {
                    Name = "Gender"
                });
                ItemWidget widget2 = (ItemWidget)widgetManager.AddWidget(WidgetType.GraphType, name + " gender comparison ", 1, 1, proptags: proptags, graphType: GraphType.PieChart, rowspan: 6, colspan: 6);
                itemWidgets.Add(widget2);
                widgetIds.Add(widget2.WidgetId);

                //3rd widget
                proptags = new List <PropertyTag>();
                proptags.Add(new PropertyTag()
                {
                    Name = "Age"
                });
                ItemWidget widget3 = (ItemWidget)widgetManager.AddWidget(WidgetType.GraphType, name + " age comparison", 1, 1, proptags: proptags, graphType: GraphType.DonutChart, rowspan: 6, colspan: 6);
                itemWidgets.Add(widget3);
                widgetIds.Add(widget3.WidgetId);

                //4th widget
                proptags = new List <PropertyTag>();
                proptags.Add(new PropertyTag()
                {
                    Name = "Education"
                });
                ItemWidget widget4 = (ItemWidget)widgetManager.AddWidget(WidgetType.GraphType, name + " education comparison", 1, 1, proptags: proptags, graphType: GraphType.DonutChart, rowspan: 6, colspan: 6);
                itemWidgets.Add(widget4);
                widgetIds.Add(widget4.WidgetId);

                //5th widget
                proptags = new List <PropertyTag>();
                proptags.Add(new PropertyTag()
                {
                    Name = "Personality"
                });
                ItemWidget widget5 = (ItemWidget)widgetManager.AddWidget(WidgetType.GraphType, name + " personality comparison", 1, 1, proptags: proptags, graphType: GraphType.PieChart, rowspan: 6, colspan: 6);
                itemWidgets.Add(widget5);
                widgetIds.Add(widget5.WidgetId);
            }

            //Link widgets to item & save changes to database
            item.ItemWidgets = itemWidgets;
            itemRepo.UpdateItem(item);
            uowManager.Save();
            uowManager = null;
        }