/// <summary> /// 新版数据 /// </summary> /// <param name="rowInfo"></param> /// <param name="parent"></param> public ItemRowData(IDictionary <string, object> rowInfo, CreateRoomRuleInfo parent) { Items = new List <ItemData>(); Parent = parent; if (rowInfo == null) { Items = null; return; } Id = rowInfo.ContainsKey("id") ? rowInfo["id"].ToString() : ""; if (rowInfo.ContainsKey("x")) { float.TryParse(rowInfo["x"].ToString(), out X); } if (rowInfo.ContainsKey("y")) { float.TryParse(rowInfo["y"].ToString(), out Y); Y = -Y; } if (rowInfo.ContainsKey("spacing")) { var temp = rowInfo["spacing"]; if (temp != null) { float.TryParse(rowInfo["spacing"].ToString(), out Spacing); } } if (!rowInfo.ContainsKey("item")) { return; } var row = rowInfo["item"] as List <object>; if (row == null) { return; } var len = row.Count; for (var i = 0; i < len; i++) { var item = row[i]; var itemData = new ItemData(i, item, Parent); if (itemData.ShowType < 0) { continue; } Items.Add(itemData); } }
public GroupData(IDictionary <string, object> groupInfo, CreateRoomRuleInfo parent) { RowDatas = new List <ItemRowData>(); Id = groupInfo.ContainsKey("id") ? groupInfo["id"].ToString() : ""; Name = groupInfo.ContainsKey("name") ? groupInfo["name"].ToString() : ""; if (groupInfo.ContainsKey("cellwidth")) { float.TryParse(groupInfo["cellwidth"].ToString(), out CellWidth); } if (groupInfo.ContainsKey("cellheight")) { float.TryParse(groupInfo["cellheight"].ToString(), out CellHeight); } if (groupInfo.ContainsKey("nameX")) { float.TryParse(groupInfo["nameX"].ToString(), out NameX); } if (groupInfo.ContainsKey("nameY")) { float.TryParse(groupInfo["nameY"].ToString(), out NameY); NameY = -NameY; } if (groupInfo.ContainsKey("namewidth")) { int.TryParse(groupInfo["namewidth"].ToString(), out NameWidth); } OffY = groupInfo.ContainsKey("offy") ? -float.Parse(groupInfo["offy"].ToString()) : -10; Parent = parent; if (!groupInfo.ContainsKey("rows")) { return; } var rows = groupInfo["rows"] as List <object>; if (rows == null) { return; } foreach (var row in rows) { var rowInfo = row as Dictionary <string, object>; if (rowInfo == null) { continue; } var rowData = new ItemRowData(rowInfo, Parent); RowDatas.Add(rowData); } }
/// <summary> /// 旧数据 /// </summary> /// <param name="rowInfo"></param> /// <param name="parent"></param> public ItemRowData(IList <object> rowInfo, CreateRoomRuleInfo parent) { Items = new List <ItemData>(); Parent = parent; if (rowInfo == null) { Items = null; return; } var len = rowInfo.Count; for (var i = 0; i < len; i++) { var item = rowInfo[i]; var itemData = new ItemData(i, item, Parent); if (itemData.ShowType < 0) { continue; } Items.Add(itemData); } }
public GroupData(KeyValuePair <string, object> groups, CreateRoomRuleInfo parent) { RowDatas = new List <ItemRowData>(); Name = groups.Key; Parent = parent; var rowlist = groups.Value as List <object>; if (rowlist == null) { return; } foreach (var row in rowlist) { var rowInfo = row as List <object>; if (rowInfo == null) { continue; } var rowData = new ItemRowData(rowInfo, Parent); RowDatas.Add(rowData); } }
public ItemData(int index, object item, CreateRoomRuleInfo parent) { Parent = parent; Index = index; var itemDict = item as Dictionary <string, object>; if (itemDict == null) { Id = ""; Name = ""; Type = RuleItemType.none; Key = ""; State = false; Value = ""; Width = 0; Height = 0; UseItem = ""; UseNum = 0; Group = 0; Dp = null; Ep = null; Rp = null; Tip = ""; return; } Id = itemDict.ContainsKey("id") ? itemDict["id"].ToString() : ""; Name = itemDict.ContainsKey("name") ? itemDict["name"].ToString() : ""; Key = itemDict.ContainsKey("key") ? itemDict["key"].ToString() : ""; DefaultState = State = itemDict.ContainsKey("state") && itemDict["state"].ToString().ToLower() == "true"; NeedConvert = itemDict.ContainsKey("needConvert") && itemDict["needConvert"].ToString().ToLower() == "true"; Options = itemDict.ContainsKey("options") ? itemDict["options"].ToString() : ""; Value = itemDict.ContainsKey("value") ? itemDict["value"].ToString() : ""; Width = itemDict.ContainsKey("width") ? int.Parse(itemDict["width"].ToString()) : 0; Height = itemDict.ContainsKey("height") ? int.Parse(itemDict["height"].ToString()) : 0; UseItem = itemDict.ContainsKey("useitem") ? itemDict["useitem"].ToString() : ""; if (itemDict.ContainsKey("shownum")) { UseNum = float.Parse(itemDict["shownum"].ToString()); } else { UseNum = itemDict.ContainsKey("usenum") ? int.Parse(itemDict["usenum"].ToString()) : 0; } Group = itemDict.ContainsKey("group") ? int.Parse(itemDict["group"].ToString()) : 0; Size = itemDict.ContainsKey("fontSize") ? int.Parse(itemDict["fontSize"].ToString()) : 0; Dp = itemDict.ContainsKey("dp") ? itemDict["dp"].ToString().Split(',') : new string[0]; Ep = itemDict.ContainsKey("ep") ? itemDict["ep"].ToString().Split(',') : new string[0]; Rp = itemDict.ContainsKey("rp") ? itemDict["rp"].ToString().Split(',') : new string[0]; Range = itemDict.ContainsKey("range") ? itemDict["range"].ToString().Split(',') : null; ShowType = itemDict.ContainsKey("showtype") ? int.Parse(itemDict["showtype"].ToString()) : 0; Type = itemDict.ContainsKey("type") ? (RuleItemType)Enum.Parse(typeof(RuleItemType), itemDict["type"].ToString()) : RuleItemType.none; Validation = itemDict.ContainsKey("validation") ? (UIInput.Validation)Enum.Parse(typeof(UIInput.Validation), itemDict["validation"].ToString()) : UIInput.Validation.None; SliderType = itemDict.ContainsKey("sliderType") ? (YxECrSliderType)Enum.Parse(typeof(YxECrSliderType), itemDict["sliderType"].ToString()) : YxECrSliderType.Integer; Tip = itemDict.ContainsKey("tip") ? itemDict["tip"].ToString() : ""; FloatValidity = itemDict.ContainsKey("floatValidity") ? int.Parse(itemDict["floatValidity"].ToString()) : 2; if (itemDict.ContainsKey("hide")) { var hideIds = itemDict["hide"].ToString().Split(','); parent.AddHideIds(Id, hideIds); } switch (Type) { case RuleItemType.none: case RuleItemType.label: break; case RuleItemType.tab: // parent.CreateArgs[Id] = this;//保存数据id State = CreateRoomRuleInfo.GetItemState(null, Id, Group, parent.GameKey, State); if (State) { parent.CurTabId = Id; parent.SetButtonId(Group, Id); } break; case RuleItemType.button: // parent.CreateArgs[Id] = this; State = CreateRoomRuleInfo.GetItemState(parent.CurTabId, Id, Group, parent.GameKey, State); if (State) { parent.SetButtonId(Group, Id); } break; case RuleItemType.input: case RuleItemType.pop: case RuleItemType.slider: // parent.CreateArgs[Id] = this; Value = CreateRoomRuleInfo.GetItemValue(parent.CurTabId, Id, parent.GameKey, Value); break; default: // parent.CreateArgs[Id] = this; State = CreateRoomRuleInfo.GetItemState(parent.CurTabId, Id, Group, parent.GameKey, State); break; } // Debug.Log(string.Format("--------->:{0},{1},{2},{3}", Id,Group,Name,State)); if (itemDict.ContainsKey("clicktype")) { var info = itemDict["clicktype"].ToString(); var infos = info.Split('|'); if (infos.Length > 0) { ClickType = new ClickTypeData { Type = (ECLickType)Enum.Parse(typeof(ECLickType), infos[0]), Parm = infos.Length > 1 ? infos[1].Split(',') : new string[0] }; } } }