Esempio n. 1
0
    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
                                );
    }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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();
    }
Esempio n. 6
0
    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();
    }
Esempio n. 7
0
    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;
        }
    }
Esempio n. 8
0
 void OnRefresh()
 {
     tableList = runtimeData.GetList <DBCraftingTable>().OrderBy(x => x.createdTime).ToList();
     scrollView.OnRefresh();
 }