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); }
public VoidBinding(GuiNode.OnVoidFunc f, object c) { this.func = f; this.context = c; }