コード例 #1
0
 private void MapGemQualityType(SearchQueryRequest result, GemItem gemItem)
 {
     result.Query.Filters.MiscFilters.GemAlternateQuality = new OptionFilter
     {
         Option = ((int)gemItem.QualityType).ToString()
     };
 }
コード例 #2
0
    private void CostUpdataItem(UIGridItem item)
    {
        if (item == null || item.mScripts == null || item.oData == null)
        {
            return;
        }

        CompoundInfo info = item.oData as CompoundInfo;

        UISprite  color = item.mScripts[0] as UISprite;
        UITexture icon  = item.mScripts[1] as UITexture;
        UILabel   num   = item.mScripts[2] as UILabel;
        UISprite  add   = item.mScripts[3] as UISprite;

        color.spriteName = "color" + 1;
        add.transform.gameObject.SetActive(info.m_select == 0);
        item.transform.FindChild("contain").gameObject.SetActive(info.m_select == 1);

        if (info.m_gem != null)
        {
            GemItem gem = GemItemConfig.GetGemItem(int.Parse(info.m_gem.itemID));

            ItemInfo item_info = ItemManager.GetItemInfo(info.m_gem.itemID);
            num.text = "1";

            color.spriteName = "color" + item_info.color;
            LoadSprite.LoaderItem(icon, item_info.itemID, false);
        }
    }
コード例 #3
0
 private void MapGemLevel(SearchQueryRequest result, GemItem gemItem)
 {
     result.Query.Filters.MiscFilters.GemLevel = new MinMaxFilter
     {
         Min = gemItem.Level
     };
 }
コード例 #4
0
    private void SetGem()
    {
        GemItem     gem         = select_gem == null ? null : GemItemConfig.GetGemItem(int.Parse(select_gem.itemID));
        GemCompound compound    = select_gem == null ? null : GemCompoundConfig.GetGemCompound(int.Parse(select_gem.itemID));
        GemItem     compoundGem = compound == null?null: GemItemConfig.GetGemItem(compound.compoundId);


        string name = select_gem == null?TextManager.GetUIString("UI2065") : TextManager.GetItemString(select_gem.itemID);

        string prop_name   = gem == null ? " " : TextManager.GetUIString(gem.propType);
        string prop_value  = gem == null ? " " : gem.propValue.ToString();
        string prop_value1 = compoundGem == null ? " " : compoundGem.propValue.ToString();

        panel.next.gameObject.SetActive(gem != null && gem.level < 9);
        panel.compoundBtn.gameObject.SetActive(gem != null && gem.level < 9);

        panel.info.FindChild("gem_name").GetComponent <UILabel>().text   = name;
        panel.info.FindChild("prop_name").GetComponent <UILabel>().text  = prop_name;
        panel.next.FindChild("prop_name1").GetComponent <UILabel>().text = prop_name;
        panel.next.FindChild("prop_name2").GetComponent <UILabel>().text = prop_name;

        panel.info.FindChild("prop_value").GetComponent <UILabel>().text  = prop_value;
        panel.next.FindChild("prop_value1").GetComponent <UILabel>().text = prop_value;
        panel.next.FindChild("prop_value2").GetComponent <UILabel>().text = prop_value1;

        panel.info.FindChild("descTxt3").gameObject.SetActive(compound_list.Count == 0);
        panel.info.FindChild("descTxt4").gameObject.SetActive(gem != null && gem.level == 9);
    }
コード例 #5
0
    private void ChooseGrid_UpdateItem(UIGridItem item)
    {
        if (item == null || item.mScripts == null || item.oData == null)
        {
            return;
        }

        Item info = item.oData as Item;

        item.onClick = ClickGemItem;

        UILabel   name  = item.mScripts[0] as UILabel;
        UITexture icon  = item.mScripts[1] as UITexture;
        UILabel   level = item.mScripts[2] as UILabel;
        UISprite  color = item.mScripts[3] as UISprite;

        ItemInfo item_info = ItemManager.GetItemInfo(info.itemID);
        GemItem  gem       = GemItemConfig.GetGemItem(int.Parse(info.itemID));

        if (item_info == null)
        {
            return;
        }
        color.spriteName = "color" + item_info.color;

        name.text  = TextManager.GetItemString(info.itemID);
        level.text = info.amount.ToString();
        LoadSprite.LoaderItem(icon, item_info.itemID, false);
    }
コード例 #6
0
ファイル: GemAgent.cs プロジェクト: Zetan9565/Project-ZT
 public void Clear()
 {
     gemstone            = null;
     icon.overrideSprite = null;
     nameText.text       = "空槽";
     effectText.text     = "可以镶嵌宝石";
 }
コード例 #7
0
 private void MapQuality(SearchQueryRequest result, GemItem gemItem)
 {
     result.Query.Filters.MiscFilters.Quality = new MinMaxFilter
     {
         Min = gemItem.Quality
     };
 }
 private FilterViewModelBase GetGemExperiencePercentFilterViewModel(GemItem gemItem, SearchQueryRequest searchQueryRequest)
 {
     return(this.CreateBindableMinMaxFilterViewModel(
                x => x.Query.Filters.MiscFilters.GemLevelProgress,
                Resources.GemExperiencePercentColumn,
                gemItem.ExperiencePercent,
                searchQueryRequest.Query.Filters.MiscFilters.GemLevelProgress));
 }
 private FilterViewModelBase GetGemLevelFilterViewModel(GemItem gemItem, SearchQueryRequest searchQueryRequest)
 {
     return(this.CreateBindableMinMaxFilterViewModel(
                x => x.Query.Filters.MiscFilters.GemLevel,
                Resources.GemLevelColumn,
                gemItem.Level,
                searchQueryRequest.Query.Filters.MiscFilters.GemLevel));
 }
コード例 #10
0
        public void ParseShouldParseCorruptedFalse()
        {
            string[] itemStringLines = this.itemStringBuilder
                                       .BuildLines();

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.IsFalse(result.IsCorrupted);
        }
コード例 #11
0
        public void ParseShouldParseGemQualityType(string qualityTypePrefix, GemQualityType expectedQualityType)
        {
            string[] itemStringLines = this.itemStringBuilder
                                       .WithName($"{qualityTypePrefix}Flameblast")
                                       .BuildLines();

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.That(result.QualityType, Is.EqualTo(expectedQualityType));
        }
コード例 #12
0
ファイル: GemAgent.cs プロジェクト: Zetan9565/Project-ZT
 public void Init(GemItem gem)
 {
     if (gem)
     {
         return;
     }
     gemstone            = gem;
     icon.overrideSprite = gemstone.Icon;
     nameText.text       = gemstone.Name;
     effectText.text     = gemstone.Powerup.ToString();
 }
コード例 #13
0
        public void ParseShouldParseZeroQualityIfItemHasNoQuality()
        {
            int expected = 0;

            string[] itemStringLines = this.itemStringBuilder
                                       .BuildLines();

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.That(result.Quality, Is.EqualTo(expected));
        }
コード例 #14
0
        public void ParseShouldParseGemExperiencePercent(string experience, int expected)
        {
            string[] itemStringLines = this.itemStringBuilder
                                       .WithName("Flameblast")
                                       .WithExperience(experience)
                                       .BuildLines();

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.That(result.ExperiencePercent, Is.EqualTo(expected));
        }
        public void CreateShouldReturnGemLevelFilterViewModel()
        {
            // arrange
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.GemLevel;
            var gemItem = new GemItem
            {
                Level = 10
            };

            // act & assert
            this.CreateShouldReturnBindableMinMaxFilterViewModel(expectedBindingExpression, gemItem, gemItem.Level, Resources.GemLevelColumn);
        }
        public void CreateShouldReturnExperiencePercentlFilterViewModel()
        {
            // arrange
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.GemLevelProgress;
            var gemItem = new GemItem
            {
                ExperiencePercent = 27
            };

            // act & assert
            this.CreateShouldReturnBindableMinMaxFilterViewModel(expectedBindingExpression, gemItem, gemItem.ExperiencePercent, Resources.GemExperiencePercentColumn);
        }
コード例 #17
0
        public void ParseShouldParseGemLevel()
        {
            int expected = 17;

            string[] itemStringLines = this.itemStringBuilder
                                       .WithGemLevel(expected)
                                       .BuildLines();

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.That(result.Level, Is.EqualTo(expected));
        }
コード例 #18
0
        public void ParseShouldParseVaalGemWithDifferentNameCorrectly()
        {
            string[] itemStringLines = Properties.Resources.VaalImpurityOfLightning.Split(Environment.NewLine);
            this.itemDataServiceMock
            .Setup(x => x.GetType("Vaal Impurity of Lightning"))
            .Returns("Vaal Impurity of Lightning");

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.IsNotNull(result);
            Assert.That(result.Name, Is.EqualTo("Vaal Impurity of Lightning"));
            Assert.That(result.Type, Is.EqualTo("Vaal Impurity of Lightning"));
            Assert.That(result.IsCorrupted);
            Assert.That(result.IsVaalVersion);
        }
        public void CreateShouldReturnGemExperiencePercentFilterViewModelWithValuesFromSearchQueryRequest()
        {
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.GemLevelProgress;
            var gemItem = new GemItem
            {
                ExperiencePercent = 52
            };

            var queryRequestFilter = new MinMaxFilter
            {
                Min = 47,
                Max = 90
            };

            this.CreateShouldReturnBindableMinMaxFilterViewModelWithValuesFromQueryRequest(expectedBindingExpression, gemItem, gemItem.ExperiencePercent, Resources.GemExperiencePercentColumn, queryRequestFilter);
        }
        public void CreateShouldReturnQualityFilterViewModelWithValuesFromSearchQueryRequest()
        {
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.Quality;
            var gemItem = new GemItem
            {
                Quality = 11
            };

            var queryRequestFilter = new MinMaxFilter
            {
                Min = 10,
                Max = 17
            };

            this.CreateShouldReturnBindableMinMaxFilterViewModelWithValuesFromQueryRequest(expectedBindingExpression, gemItem, gemItem.Quality, Resources.QualityColumn, queryRequestFilter);
        }
コード例 #21
0
        public void ParseShouldSetNameAndTypeFromItemDataService()
        {
            const string expected = "Result from ItemDataService";

            string[] itemStringLines = this.itemStringBuilder
                                       .WithName("Flameblast")
                                       .BuildLines();

            this.itemDataServiceMock.Setup(x => x.GetType(It.IsAny <string>()))
            .Returns(expected);

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.That(result.Name, Is.EqualTo(expected));
            Assert.That(result.Type, Is.EqualTo(expected));
        }
コード例 #22
0
 public void AddGemItem(GemItem item)
 {
     if (capacity >= current + item.Value && GoldItemsValue >= GemItemsValue + item.Value)
     {
         var gemItems = GetGemItems();
         if (gemItems.Any(gi => gi.Key == item.Key))
         {
             gemItems.Single(gi => gi.Key == item.Key).IncreaseValue(item.Value);
         }
         else
         {
             bag.Add(item);
         }
         current += item.Value;
     }
 }
        public void CreateShouldReturnGemLevelFilterViewModelWithValuesFromSearchQueryRequest()
        {
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.GemLevel;
            var gemItem = new GemItem
            {
                Level = 11
            };

            var queryRequestFilter = new MinMaxFilter
            {
                Min = 5,
                Max = 20
            };

            this.CreateShouldReturnBindableMinMaxFilterViewModelWithValuesFromQueryRequest(expectedBindingExpression, gemItem, gemItem.Level, Resources.GemLevelColumn, queryRequestFilter);
        }
コード例 #24
0
 private static void InsertItem(string key, long value, Bag bag)
 {
     if (key.Length == 3)
     {
         CashItem cash = new CashItem(key, value);
         bag.AddCashItem(cash);
     }
     else if (key.Length >= 4 && key.ToLower().EndsWith("gem"))
     {
         GemItem gem = new GemItem(key, value);
         bag.AddGemItem(gem);
     }
     else if (key.ToLower().Equals("gold"))
     {
         GoldItem gold = new GoldItem(key, value);
         bag.AddGoldItem(gold);
     }
 }
コード例 #25
0
        public void ParseShouldParseVaalGem()
        {
            string[] itemStringLines = Properties.Resources.AnomalousVaalFlameblast.Split(Environment.NewLine);
            this.itemDataServiceMock
            .Setup(x => x.GetType("Anomalous Vaal Flameblast"))
            .Returns("Vaal Flameblast");

            GemItem result = this.ItemParser.Parse(itemStringLines) as GemItem;

            Assert.IsNotNull(result);
            Assert.That(result.Name, Is.EqualTo("Vaal Flameblast"));
            Assert.That(result.Type, Is.EqualTo("Vaal Flameblast"));
            Assert.That(result.IsCorrupted);
            Assert.That(result.IsVaalVersion);
            Assert.That(result.Level, Is.EqualTo(20));
            Assert.That(result.Quality, Is.EqualTo(20));
            Assert.That(result.QualityType, Is.EqualTo(GemQualityType.Anomalous));
        }
コード例 #26
0
        protected override Item ParseItem(string[] itemStringLines)
        {
            var vaalName = Array.FindLast(itemStringLines, l => l.Contains(Resources.VaalKeyword));
            var name     = this.itemDataService.GetType(vaalName ?? itemStringLines[NameLineIndex]);

            var gemItem = new GemItem
            {
                Name              = name,
                Type              = name,
                IsCorrupted       = this.IsCorrupted(itemStringLines),
                Quality           = this.GetIntegerFromFirstStringContaining(itemStringLines, Resources.QualityDescriptor),
                Level             = this.GetIntegerFromFirstStringContaining(itemStringLines, Resources.LevelDescriptor),
                ExperiencePercent = GetExperiencePercent(itemStringLines),
                IsVaalVersion     = !string.IsNullOrEmpty(vaalName),
                QualityType       = GetQualityType(itemStringLines)
            };

            return(gemItem);
        }
コード例 #27
0
ファイル: gemchoosepanel.cs プロジェクト: liuyongsz/bmobdemo
    /// <summary>
    /// 是否已经安装
    /// </summary>
    /// <param name="gem_id"></param>
    /// <returns></returns>
    private bool IsHasEquiped(int gem_id)
    {
        List <HoldInfo> list     = EquipInsetMediator.equipInsetMediator.m_holdInfo_list;
        GemItem         gem_info = GemItemConfig.GetGemItem(gem_id);

        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].m_gem_id <= 0)
            {
                continue;
            }
            GemItem info = GemItemConfig.GetGemItem(list[i].m_gem_id);
            if (info.propType == gem_info.propType)
            {
                return(true);
            }
        }
        return(false);
    }
コード例 #28
0
    /// <summary>
    /// 点击
    /// </summary>
    /// <param name="data"></param>
    /// <param name="go"></param>
    private void ClickGemItem(UIGridItem data)
    {
        Item gem = data.oData as Item;

        if (select_gem != null && gem.uuid == select_gem.uuid)
        {
            return;
        }
        else
        {
            select_gem = gem;
        }

        if (select_gem == null)
        {
            panel.chooseGrid.OldSelectedItem.Selected = false;
        }

        mCurGem = select_gem == null ? null : GemItemConfig.GetGemItem(int.Parse(select_gem.itemID));

        panel.costGrid.AddCustomDataList(CostListGrid());
        SetGem();
    }
コード例 #29
0
        public async Task CreateShouldReturnGemItemListingViewModelForGemItem()
        {
            decimal experience = 0.25m;
            string  gemLevel   = "15";
            string  quality    = "+13%";

            string propertiesJson           = $@"[{{""name"":""Level"",""values"":[[""{gemLevel}"",0]],""displayMode"":0,""type"":5}},{{""name"":""Quality"",""values"":[[""{quality}"",1]],""displayMode"":0,""type"":6}}]";
            string additionalPropertiesJson = @"[{""name"":""Experience"",""values"":[[""1/15249"",0]],""displayMode"":2,""progress"":0.25,""type"":20}]";

            ListingResult listingResult = GetListingResult();

            listingResult.Item.Properties           = GetPropertiesList(propertiesJson);
            listingResult.Item.AdditionalProperties = GetPropertiesList(additionalPropertiesJson);

            Item item = new GemItem();

            GemItemListingViewModel result = await this.listingViewModelFactory.CreateAsync(listingResult, item) as GemItemListingViewModel;

            Assert.NotNull(result);
            AssertSimpleListingViewModelProperties(result, listingResult);
            Assert.That(result.GemExperiencePercent, Is.EqualTo(experience * 100));
            Assert.That(result.Level, Is.EqualTo(gemLevel));
            Assert.That(result.Quality, Is.EqualTo(quality));
        }
コード例 #30
0
 private void PushGem(GemItem gem)
 {
     elementsCount++;
 }