public static FacilityM[] CheckFilter(FacilityM[] facilities) { if (facilities == null) { return(null); } DateTime now = ServerDateTime.Now; List <FacilityM> list = new List <FacilityM>(); for (int i = 0; i < facilities.Length; i++) { DateTime value = DateTime.Parse(facilities[i].openTime); DateTime value2 = DateTime.Parse(facilities[i].closeTime); if (now.CompareTo(value) >= 0 && now.CompareTo(value2) <= 0) { bool flag; if ("0" != facilities[i].releaseId) { FacilityConditionM[] facilityCondition = FarmDataManager.GetFacilityCondition(facilities[i].releaseId); flag = FacilityShopFilter.CheckDisplayCondition(facilityCondition); } else { flag = true; } if (flag) { list.Add(facilities[i]); } } } return(list.ToArray()); }
private static bool CheckFacilityConditionFacilityNum(string facilityId, string num, string operatorType) { List <UserFacility> userFacilityList = Singleton <UserDataMng> .Instance.GetUserFacilityList(); if (userFacilityList != null) { int id = int.Parse(facilityId); int arg = userFacilityList.Count((UserFacility x) => x.facilityId == id && x.level != 0); return(FacilityShopFilter.CheckFacilityConditionOperatorType(int.Parse(num), operatorType, arg)); } return(false); }
private static bool CheckDisplayCondition(FacilityConditionM[] facilityConditions) { for (int i = 0; i < facilityConditions.Length; i++) { if (!("0" == facilityConditions[i].viewFlg)) { return(true); } if (FacilityShopFilter.CheckFacilityCondition(facilityConditions[i])) { return(true); } } return(false); }
private void InitFacilityShop(Action <int> closeEvent, float sizeX, float sizeY, float showTime) { base.PartsTitle.SetTitle(StringMaster.GetString("FacilityShopTitle")); base.MultiTab.InitMultiTab(new List <Action <int> > { new Action <int>(this.OnTouchedTabFacility), new Action <int>(this.OnTouchedTabDecoration) }, new List <string> { StringMaster.GetString("FacilityShopTitle"), StringMaster.GetString("FacilityShopDecoration") }); base.MultiTab.SetOnOffColor(new Color(0.980392158f, 0.945098042f, 0f, 1f), new Color(1f, 1f, 1f, 1f)); base.MultiTab.SetFocus((int)CMD_FacilityShop.lastFocusTab); base.MultiTab.SetActiveAlertIcon(new bool[] { this.ExistNewFacility(), this.ExistNewDecoration() }); FacilityM[] array = FarmDataManager.GetFacilityShopGoods(FacilityType.FACILITY); FacilityM[] array2 = FarmDataManager.GetFacilityShopGoods(FacilityType.DECORATION); array = FacilityShopFilter.CheckFilter(array); array2 = FacilityShopFilter.CheckFilter(array2); array = this.SortFacilityShopItemData(this.newFacilityItemList, array); array2 = this.SortFacilityShopItemData(this.newFacilityItemList, array2); this.CreateFacilityList(this.facilityList, array.Length); this.SetFacilityDetail(this.facilityList, array); this.CreateFacilityList(this.decorationList, array2.Length); this.SetFacilityDetail(this.decorationList, array2); this.facilityListOriginalItem.SetActive(false); if (CMD_FacilityShop.lastFocusTab == CMD_FacilityShop.FacilityShopTab.FACILITY) { this.viewedList.facility = true; this.decorationList.gameObject.SetActive(false); } else { this.viewedList.decoration = true; this.facilityList.gameObject.SetActive(false); } base.Show(closeEvent, sizeX, sizeY, showTime); GUIFace.instance.HideGUI(); GUIFaceIndicator.instance.HideLocator(true); this.playerInfo.SetPlayerInfo(); }
public static bool CheckFacilityCondition(FacilityConditionM condition) { switch (int.Parse(condition.conditionType)) { case 1: return(FacilityShopFilter.CheckFacilityConditionKey(condition.facilityConditionId)); case 2: return(FacilityShopFilter.CheckFacilityConditionWorldArea(condition.conditionParam)); case 3: return(FacilityShopFilter.CheckFacilityConditionFacilityNum(condition.conditionParam, condition.conditionValue, condition.operatorType)); case 4: return(FacilityShopFilter.CheckFacilityConditionFacilityLevel(condition.conditionParam, condition.conditionValue, condition.operatorType)); case 5: return(FacilityShopFilter.CheckFacilityConditionKey(condition.facilityConditionId)); default: return(false); } }
private static bool CheckFacilityConditionFacilityLevel(string facilityId, string level, string operatorType) { List <UserFacility> userFacilityList = Singleton <UserDataMng> .Instance.GetUserFacilityList(); if (userFacilityList != null) { int id = int.Parse(facilityId); int lv = int.Parse(level); return(userFacilityList.Where((UserFacility x) => x.facilityId == id).Any((UserFacility x) => FacilityShopFilter.CheckFacilityConditionOperatorType(lv, operatorType, x.level))); } return(false); }