public RuleItem(RuleItemType type, string key, Counter counter = Counter.None, CounterValue counterValue = null, IEnumerable <Condition> conditions = null, string localName = null, bool isHead = false, string semanticId = null ) { Type = type; Key = key; Counter = counter; CounterValue = counterValue; if (conditions != null) { _conditions = conditions.ToList(); } LocalName = localName; IsHead = isHead; SemanticId = semanticId; }
public ItemData(int index, object item, RuleInfo 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() : ""; State = itemDict.ContainsKey("state") && bool.Parse(itemDict["state"].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() : ""; UseNum = itemDict.ContainsKey("usenum") ? int.Parse(itemDict["usenum"].ToString()) : 0; Group = itemDict.ContainsKey("group") ? int.Parse(itemDict["group"].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]; ShowType = itemDict.ContainsKey("showtype") ? int.Parse(itemDict["showtype"].ToString()) : 0; Type = itemDict.ContainsKey("type") ? (RuleItemType)Enum.Parse(typeof(RuleItemType), itemDict["type"].ToString()) : RuleItemType.none; Tip = itemDict.ContainsKey("tip") ? itemDict["tip"].ToString() : ""; if (itemDict.ContainsKey("hide")) { parent.Tabs[Id] = itemDict["hide"].ToString().Split(','); } if (Type != RuleItemType.none) { parent.CreateArgs[Id] = this; if (Type == RuleItemType.button) { var tabIndex = parent.TabDefaultIndex; if (tabIndex > -1 ? tabIndex == Index : State) { parent.CurTabItemId = Id; } } else { State = RuleInfo.GetItemState(parent.CurTabItemId, Id, 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] }; } } }
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] }; } } }