Example #1
0
        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;
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
        }
Example #4
0
        /// <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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        /// <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);
        }
Example #8
0
        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);
        }
Example #9
0
 protected void SaveValue(ItemData data,string value)
 {
     var info = data.Parent;
     CreateRoomRuleInfo.SaveItemValue(info.CurTabId, data.Id, info.GameKey, value);
 }
Example #10
0
        /// <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);
            }
        }
Example #11
0
        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);
        }