示例#1
0
        List <GuiContentData> MakeItemList(IExprContext ctx, VariableInfoData info)
        {
            List <GuiContentData> list = new List <GuiContentData>();
            List <VariableInfoData.RealValueData> allData = info.GetAllData(ctx);

            GuiNode.OnVoidFunc f = new GuiNode.OnVoidFunc(this.ClickedItem);
            for (int i = 0; i < allData.Count; i++)
            {
                GuiContentData guiContentData = new GuiContentData();
                VariableInfoData.RealValueData realValueData = allData[i];
                if (realValueData != null && realValueData.icon != null)
                {
                    guiContentData.SetValue("itemPic", realValueData.icon);
                    guiContentData.SetValue("hasCount", realValueData.hasCount);
                    guiContentData.SetValue("itemCount", realValueData.count);
                }
                else
                {
                    guiContentData.SetValue("itemPic", false);
                    realValueData = null;
                }
                guiContentData.SetValue("itemTag", realValueData);
                guiContentData.SetValue("itemEvent", new GuiNode.VoidBinding(f, realValueData));
                guiContentData.SetValue("itemEnabled", realValueData != null && realValueData.icon != null);
                list.Add(guiContentData);
            }
            return(list);
        }
示例#2
0
        void ClickedItem(object ctx)
        {
            GuiContentData guiContentData = new GuiContentData();

            VariableInfoData.RealValueData realValueData = ctx as VariableInfoData.RealValueData;
            if (realValueData != null)
            {
                guiContentData.SetValue("currItemPic", realValueData.icon);
                guiContentData.SetValue("currItemName", realValueData.name);
                guiContentData.SetValue("currItemDesc", realValueData.desc);
                guiContentData.SetValue("hasItem", true);
                guiContentData.SetValue("currItemHasCount", realValueData.hasCount);
                guiContentData.SetValue("currItemCount", realValueData.count);
            }
            else
            {
                guiContentData.SetValue("hasItem", false);
            }
            base.Root.ApplyContent(guiContentData, true);
        }