void OnRefresh() { dataList = new List <GDAchievementData>(); foreach (var item in staticData.GetList <GDAchievementData>()) { //Is this already cleared?. Then ignore! var cleared = runtimeData.GetList <DBAchievementCleared>().Where(x => x.achievementID == item.id).FirstOrDefault(); if (cleared != null) { continue; } //Is this achievement not met preceding? if (item.unlockReq != null) { var preceding = runtimeData.GetList <DBAchievementCleared>().Where(x => x.achievementID == item.unlockReq.id).FirstOrDefault(); if (preceding == null) { continue; } } //This is it! dataList.Add(item); } scrollView.OnRefresh(); view.CLSetFormattedText("Window/ClearedText", runtimeData.GetList <DBAchievementCleared>().Count, staticData.GetList <GDAchievementData>().Count ); }
void OnRefresh(Filter selectedFilter) { switch (selectedFilter) { case Filter.All: itemList = (from item in staticData.GetList <GDItemData>() where item.type.IsFlagSet(GDItemDataType.NotInv) == false select item).ToList(); break; case Filter.Create: itemList = (from item in staticData.GetList <GDItemData>() where item.type.IsFlagSet(GDItemDataType.CustomerEat) == true select item).ToList(); break; case Filter.Farm: itemList = (from item in staticData.GetList <GDItemData>() where item.type.IsFlagSet(GDItemDataType.Crop) == true select item).ToList(); break; case Filter.Etc: itemList = (from item in staticData.GetList <GDItemData>() where item.type != GDItemDataType.NotInv select item).ToList(); break; } scrollView.OnRefresh(); }
void BindRecipeLogic() { view.CLOnClickAsObservable("Window/RecipeInfo/State/Show/Button_Create").Subscribe(_ => { easy.IsResourceAvailable(selectedRecipeObserv.Value.reqItemArr, () => { server.GetWithErrHandling("enc/sess/craft/insertrecipe", JObject.FromObject( new{ tableUID = runtimeTable.uid, recipeID = selectedRecipeObserv.Value.id })) .Subscribe(x => { //DoNothing.. }); }); }); recipeInfoScrollView.Init(view.CLGetGameObject("Window/RecipeInfo/State/Show/IngredientInfo/Grid"), (idx, sample) => { var staticSingle = staticData.GetByID <GDItemData>(recipeInfoDataList[idx].Item1); var curCnt = easy.GetItemCnt(staticSingle.id); sample.CLSetFormattedText("Text" , recipeInfoDataList[idx].Item2 , curCnt); runtimeData.GetAfterUpdateObserver <DBItem>() .Where(x => x.itemID == staticSingle.id) .Subscribe(_ => { curCnt = easy.GetItemCnt(staticSingle.id); sample.CLSetFormattedText("Text" , curCnt , recipeInfoDataList[idx].Item2); }).AddTo(sample); sample.CLGetComponent <Image>("Image").sprite = sprite.GetItem(staticSingle.imageName); }, () => { return(recipeInfoDataList.Count); }); selectedRecipeObserv.Subscribe(data => { if (data == null) { view.CLGetGameObject("Window/RecipeInfo/State/Waiting").SetActive(true); view.CLGetGameObject("Window/RecipeInfo/State/Show").SetActive(false); // recipeInfoDataList = data.reqItemArr.Select(x=>Tuple.Create<int,int>( x.item.id, x.cnt )).ToList(); // recipeInfoScrollView.OnRefresh(); return; } view.CLGetGameObject("Window/RecipeInfo/State/Waiting").SetActive(false); view.CLGetGameObject("Window/RecipeInfo/State/Show").SetActive(true); view.CLGetComponent <Image>("Window/RecipeInfo/State/Show/Item").sprite = sprite.GetItem(data.rewardArr[0].item.imageName); view.CLSetFormattedText("Window/RecipeInfo/State/Show/ItemName", data.rewardArr[0].item.name); view.CLSetFormattedText("Window/RecipeInfo/State/Show/IngredientInfo/Time", data.reqTime); //Update... recipeInfoDataList = data.reqItemArr.Select(x => Tuple.Create <int, int>(x.item.id, x.cnt)).ToList(); recipeInfoScrollView.OnRefresh(); }).AddTo(this.go); // recipeInfoObserv.OnNext(null); }
void OnRefresh(Filter selectedFilter) { switch (selectedFilter) { case Filter.All: itemList = (from item in runtimeData.GetList <DBItem>() where item.count > 0 && staticData.GetByID <GDItemData>(item.itemID).type.IsFlagSet(GDItemDataType.NotInv) == false select item).ToList(); break; case Filter.Create: itemList = (from item in runtimeData.GetList <DBItem>() where item.count > 0 && staticData.GetByID <GDItemData>(item.itemID).type.IsFlagSet(GDItemDataType.CustomerEat) == true select item).ToList(); break; case Filter.Farm: itemList = (from item in runtimeData.GetList <DBItem>() where item.count > 0 && staticData.GetByID <GDItemData>(item.itemID).type.IsFlagSet(GDItemDataType.Crop) == true select item).ToList(); break; case Filter.Etc: itemList = (from item in runtimeData.GetList <DBItem>() where item.count > 0 && staticData.GetByID <GDItemData>(item.itemID).type != GDItemDataType.NotInv select item).ToList(); break; } view.CLSetFormattedText("Window/TopBar/ProgressBar/Text", easy.CurrentStorageItemCnt, easy.MaxStorageItemCnt ); view.CLGetComponent <Slider>("Window/TopBar/ProgressBar/Slider").value = (float)easy.CurrentStorageItemCnt / (float)easy.MaxStorageItemCnt; itemScroll.OnRefresh(); //UpgradeCheck.. var listOfUpgrade = staticData.GetList <GDStorageUpgradeData>(); if (easy.UserInfo.storageUpgradeLv >= listOfUpgrade.Count - 1) { //FullUpgrade!... view.CLGetComponent <Button>("Window/TopBar/Button_Upgrade").interactable = false; return; } view.CLGetComponent <Button>("Window/TopBar/Button_Upgrade").interactable = true; }
void Start() { scrollView = new CLScrollView(); scrollView.Init(gameObject, (idx, go) => { go.CLOnPointerClickAsObservable().Subscribe(x => { popupManager.PushPopup <FIPopupCustomer>(customerList[idx]); }); UpdateInfo(go, idx); runtimeData.GetObserver(typeof(DBItem)) .Merge(runtimeData.GetObserver(typeof(DBCustomer))) .Subscribe(x => { UpdateInfo(go, idx); }).AddTo(go); ReactiveProperty <bool> isAvailable = new ReactiveProperty <bool>(false); isAvailable.Subscribe(x => { if (x == true) { // UpdateInfo(go,idx); go.CLGetComponent <RectTransform>("Mover").DOAnchorPosX(0, 0.1f); } else { go.CLGetComponent <RectTransform>("Mover").DOAnchorPosX(400, 0.1f); } }); this.gameObject.CLUpdateAsObservable().Subscribe(x => { // Debug.Log(string.Format("Cur={0} Cus={1}",easy.ServerTime,customerList[idx].waitStartedTime + easy.GlobalInfo.customerRegenTime)); if (customerList[idx].waitStartedTime + easy.GlobalInfo.customerRegenTime < easy.ServerTime) { isAvailable.Value = true; } else { isAvailable.Value = false; } }); }, () => { return(customerList.Count); } ); customerList = runtimeData.GetList <DBCustomer>(); scrollView.OnRefresh(); }
void OnRefresh(TabType tabType) { // dataList = new List<Tuple<TabType, int>>(); switch (tabType) { case TabType.Ingredient: { dataList = staticData.GetList <GDShopIngredient>().Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.CraftingTable: { dataList = staticData.GetList <GDShopCraftingTable>().Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.Interior: { dataList = staticData.GetList <GDShopInterior>().Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.Dia: { dataList = staticData.GetList <GDShopItem>() .Where(x => x.type == GDShopTabType.Dia) .Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.Gold: { dataList = staticData.GetList <GDShopItem>() .Where(x => x.type == GDShopTabType.Gold) .Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.Package: { dataList = staticData.GetList <GDShopItem>() .Where(x => x.type == GDShopTabType.Package) .Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; case TabType.Free: { dataList = staticData.GetList <GDShopItem>() .Where(x => x.type == GDShopTabType.Free) .Select(x => { return(Tuple.Create <TabType, int>(tabType, x.id)); }).ToList(); } break; } scrollView.OnRefresh(); }
void BindLogic() { view.CLOnClickAsObservable("Window/Button_Wait").Subscribe(_ => { // popupManager.PopPopup(); popupManager.DestroyPopup(this); }); view.CLOnThrottleClickAsObservable("Window/Button_GoAway").Subscribe(_ => { server.GetWithErrHandling("enc/sess/customer/dispose", JObject.FromObject(new{ uid = customerData.uid })) .Subscribe(x => { // this.Dispose(); popupManager.DestroyPopup(this); }); }); view.CLOnThrottleClickAsObservable("Window/Bottom/Button_Sell").Subscribe(_ => { if (easy.CanDisposeItems(reqList.ToArray()) == false) { var notice = popupManager.PushPopup <FIPopupDialog>(); notice.SetNoticePopup("재료가 부족합니다"); return; } server.GetWithErrHandling("enc/sess/customer/accept", JObject.FromObject(new{ uid = customerData.uid })) .Subscribe(x => { popupManager.DestroyPopup(this); }); }); view.CLOnClickAsObservable("Window/Bottom/Button_Content").Subscribe(_ => { }); var customerStaticData = staticData.GetByID <GDCustomerData>(customerData.customerID); view.CLSetFormattedText("Window/Name", customerStaticData.name); view.CLSetFormattedText("Window/MessageBox/Text", customerStaticData.speechArr[0]); view.CLGetComponent <Image>("Window/People").sprite = sprite.GetPeople(customerStaticData.image); reqList.Add(Tuple.Create <int, int>(customerData.itemID, customerData.itemCnt)); int totalGold = 0; int totalExp = 3; foreach (var item in reqList) { var itemData = staticData.GetByID <GDItemData>(item.Item1); // int curItemCnt = easy.GetItemCnt( item.Item1 ); totalGold += itemData.GetCustomerPrice(customerData.itemCnt); } rewardList.Add(Tuple.Create <int, int>(GDInstKey.ItemData_goldPoint, totalGold)); rewardList.Add(Tuple.Create <int, int>(GDInstKey.ItemData_userExp, totalExp)); requestScrollView.Init(view.CLGetGameObject("Window/ItemInfo/RequestGrid"), (idx, go) => { var itemData = staticData.GetByID <GDItemData>(reqList[idx].Item1); int curCnt = easy.GetItemCnt(reqList[idx].Item1); go.CLGetComponent <Image>("Item/Image").sprite = sprite.GetItem(itemData.imageName); go.CLSetFormattedText("Cnt", curCnt, reqList[idx].Item2); }, () => reqList.Count ); rewardScrollView.Init(view.CLGetGameObject("Window/ItemInfo/RewardGrid"), (idx, go) => { var itemData = staticData.GetByID <GDItemData>(rewardList[idx].Item1); go.CLGetComponent <Image>("Item/Image").sprite = sprite.GetItem(itemData.imageName); go.CLSetFormattedText("Cnt", rewardList[idx].Item2); }, () => rewardList.Count ); requestScrollView.OnRefresh(); rewardScrollView.OnRefresh(); if (easy.CanDisposeItems(reqList.ToArray()) == false) { view.CLGetComponent <Button>("Window/Bottom/Button_Sell").interactable = false; // throw new System.NotImplementedException("Need lack item popup!"); // popupManager.PushPopup<FIPopupDialog>("Not enough item!"); return; } }
void OnRefresh() { tableList = runtimeData.GetList <DBCraftingTable>().OrderBy(x => x.createdTime).ToList(); scrollView.OnRefresh(); }