private void OnRefreshOne() { var list = GetData <List <object> >(); if (list == null) { return; } var listCount = list.Count; TabDatas = new TabData[listCount]; for (var i = 0; i < listCount; i++) { var info = list[i]; var dict = info as IDictionary; if (dict == null) { continue; } var ruleInfo = new CreateRoomRuleInfo(dict, TabDefaultIndex); var tabData = new TabData { Name = ruleInfo.Name, Data = ruleInfo, Index = i }; TabDatas[i] = tabData; } }
private void UpdateOtherOptions(IList <string> option, IDictionary <string, ItemData> cArgs, bool isSelected) { if (option == null) { return; } var count = option.Count; for (var i = 0; i < count; i++) { var dpId = option[i]; if (!cArgs.ContainsKey(dpId)) { continue; } var otherData = cArgs[dpId]; var dpView = otherData.View; if (dpView == null) { continue; } var nguiCb = (NguiCheckBox)dpView; nguiCb.Toggle.value = isSelected; CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, otherData.Id, otherData.Group, CurRuleInfo.GameKey, isSelected); } }
private static NguiCRComponent CreateValueComponent(NguiCRComponent prefab, ItemData rowItemInfo) { var view = CreateNguiCrComponent(prefab, rowItemInfo); if (view == null) { return(null); } var rowInfo = rowItemInfo.Parent; rowItemInfo.Value = CreateRoomRuleInfo.GetItemValue(rowInfo.CurTabId, rowItemInfo.Id, rowInfo.GameKey, rowItemInfo.Value); return(view); }
/// <summary> /// /// </summary> /// <returns></returns> private static NguiCRComponent CreateBoxComponent(NguiCRComponent prefab, ItemData rowItemInfo, string tabId = null) { var view = CreateNguiCrComponent(prefab, rowItemInfo); if (view == null) { rowItemInfo.State = false; return(null); } var rowInfo = rowItemInfo.Parent; rowItemInfo.State = CreateRoomRuleInfo.GetItemState(tabId, rowItemInfo.Id, rowItemInfo.Group, rowInfo.GameKey, rowItemInfo.State); return(view); }
public void ChangeValue() { var data = GetData <ItemData>(); if (data == null) { return; } var value = GetValid(data); data.Value = value; var info = data.Parent; CreateRoomRuleInfo.SaveItemValue(info.CurTabId, data.Id, info.GameKey, value); }
private void UpdataAllState(ItemData data, IDictionary <string, ItemData> cArgs) { if (data == null) { return; } var allView = (NguiCheckBox)data.View; if (allView == null) { return; } var toggle = allView.Toggle; toggle.value = false; var option = data.Dp; if (option == null) { return; } var count = option.Length; for (var i = 0; i < count; i++) { var dpId = option[i]; if (!cArgs.ContainsKey(dpId)) { continue; } var otherData = cArgs[dpId]; var dpView = otherData.View; if (dpView == null) { continue; } if (((NguiCheckBox)dpView).Toggle.value) { continue; } CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, data.Id, data.Group, CurRuleInfo.GameKey, false); return; } toggle.value = true; CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, data.Id, data.Group, CurRuleInfo.GameKey, true); }
/// <summary> /// 刷新页面 /// </summary> /// <param name="info"></param> /// <param name="itemView"></param> private void UpdateItemView(CreateRoomRuleInfo info, YxView itemView) { if (info == null) { return; } SelectedGameKey = info.GameKey; SelectedRuleId = info.Id; CurRuleInfo = info; info.Reset(); SelectedGameName = info.Name; // if (_curRuleInfo != null) // { // var cArgs = _curRuleInfo.CreateArgs; // var allCreateData = GetAllRp(cArgs); // UpdataAllState(allCreateData, cArgs); // } itemView.UpdateView(info); }
public void ChangeValue() { var data = GetData <ItemData>(); if (data == null) { return; } var value = PopList.value; var items = PopList.items; if (items == null) { return; } var index = items.IndexOf(value).ToString(); data.Value = index; var info = data.Parent; CreateRoomRuleInfo.SaveItemValue(info.CurTabId, data.Id, info.GameKey, index); }
protected void SaveValue(ItemData data,string value) { var info = data.Parent; CreateRoomRuleInfo.SaveItemValue(info.CurTabId, data.Id, info.GameKey, value); }
/// <summary> /// 选项更改 /// </summary> /// <param name="view"></param> public void OnOptionClick(NguiCheckBox view) { if (CurRuleInfo == null) { return; } var id = view.Id; var cArgs = CurRuleInfo.CreateArgs; if (!cArgs.ContainsKey(id)) { return; } var cData = cArgs[id]; if (cData == null) { return; } var type = cData.Type; var curToggle = view.Toggle; var isSelected = curToggle.value; var group = cData.Group; var curBtnId = cData.Id; if (isSelected) { switch (type) { case RuleItemType.tab: if (CurRuleInfo.CurTabId == curBtnId) { return; } CurRuleInfo.CurTabId = cData.Id; CurRuleInfo.SetButtonId(group, cData.Id); CreateRoomRuleInfo.SaveItemState(null, cData.Id, group, CurRuleInfo.GameKey, true); if (SelectTabToggle != null) { OnChangeTabWithToggle(SelectTabToggle); } return; case RuleItemType.button: curBtnId = CurRuleInfo.CurrentButtonId(group); if (curBtnId == cData.Id) { return; } CurRuleInfo.SetButtonId(group, cData.Id); CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, cData.Id, group, CurRuleInfo.GameKey, true); if (SelectTabToggle != null) { OnChangeTabWithToggle(SelectTabToggle); } return; default: CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, cData.Id, group, CurRuleInfo.GameKey, true); ExecuteWithClickType(cData, cArgs); if (!IsNotClick(cData.Key == AllField, curToggle.gameObject)) { UpdateOtherOptions(cData.Dp, cArgs, true); UpdateOtherOptions(cData.Ep, cArgs, false); } break; } } else { CreateRoomRuleInfo.SaveItemState(CurRuleInfo.CurTabId, cData.Id, group, CurRuleInfo.GameKey, false); if (!IsNotClick(cData.Key == AllField, curToggle.gameObject)) { UpdateOtherOptions(cData.Rp, cArgs, false); } } if (cData.Key == AllField) { return; } if (!IsNotClick(true, view.gameObject)) { var allCreateData = GetAllRp(cArgs); UpdataAllState(allCreateData, cArgs); } }
private void OnChangeTab(int index) { if (RoomItemParent == null) { YxWindowUtils.CreateItemParent(RoomItemParentPerfab, ref RoomItemParent, RoomItemParentPerfab.parent); } if (index >= TabDatas.Length) { return; } if (_lastIndex != index) { _lastIndex = index; if (ScrollView != null) { ScrollView.ResetPosition(); } } var tabData = TabDatas[index]; if (tabData == null) { return; } if (_curCreateRoomItemView == null) { _curCreateRoomItemView = YxWindowUtils.CreateItem(RoomItemViewPerfab, RoomItemParent); } var itemData = tabData.Data; if (itemData == null) { return; } var data1 = itemData as CreateRoomRuleInfo; if (data1 != null) { UpdateItemView(data1, _curCreateRoomItemView); return; } var dic = new Dictionary <string, object>(); if (!string.IsNullOrEmpty(FromInfo)) { dic["teaId"] = FromInfo; } RoomListController.Instance.GetCreateRoomParm(itemData.ToString(), obj => { var list = obj as List <object>; if (list == null) { return; } foreach (var itemObj in list) { if (!(itemObj is Dictionary <string, object>)) { continue; } var itemDict = itemObj as Dictionary <string, object>; var ruleInfo = new CreateRoomRuleInfo(itemDict, TabDefaultIndex); if (!_tabWithData.ContainsKey(ruleInfo.Id)) { continue; } var tbData = _tabWithData[ruleInfo.Id]; tbData.Data = ruleInfo; } itemData = tabData.Data; var data = itemData as CreateRoomRuleInfo; if (data == null) { return; } UpdateItemView(data, _curCreateRoomItemView); }, dic, CreateType); }