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); }
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); }