Example #1
0
        private string GetRewardListSpriteName(SupplyCrateTag tag)
        {
            CrateSupplyVO crateSupply = tag.CrateSupply;
            string        result      = null;

            switch (crateSupply.Type)
            {
            case SupplyType.Currency:
                result = GameUtils.GetCurrencyIconName(crateSupply.RewardUid);
                break;

            case SupplyType.Shard:
            case SupplyType.ShardTroop:
            case SupplyType.ShardSpecialAttack:
            {
                ShardQuality shardQuailty = tag.ShardQuailty;
                result = string.Format("icoDataFragQ{0}", (int)shardQuailty);
                break;
            }

            case SupplyType.Troop:
            case SupplyType.Hero:
            case SupplyType.SpecialAttack:
                result = "icoTroopSample";
                break;

            default:
                Service.Logger.Error("Unsupported supply type in GetRewardListSpriteName " + crateSupply.Type.ToString());
                break;
            }
            return(result);
        }
Example #2
0
        public static string GetShardQuality(ShardQuality quality)
        {
            Lang   lang = Service.Lang;
            string id;

            if (quality != ShardQuality.Advanced)
            {
                if (quality != ShardQuality.Elite)
                {
                    if (quality != ShardQuality.Unit)
                    {
                        id = "EQUIPMENT_QUALITY_BASIC";
                    }
                    else
                    {
                        id = "EQUIPMENT_QUALITY_UNIT";
                    }
                }
                else
                {
                    id = "EQUIPMENT_QUALITY_ELITE";
                }
            }
            else
            {
                id = "EQUIPMENT_QUALITY_ADVANCED";
            }
            return(lang.Get(id, new object[0]));
        }
Example #3
0
        private void SetupShardQualityDisplay(GameObject rootReward, SupplyCrateTag crateTag)
        {
            Transform  transform   = this.assetMeshDataMonoBehavior.OtherGameObjects[7].transform;
            GameObject gameObject  = transform.Find("rarity_star_01").gameObject;
            GameObject gameObject2 = transform.Find("rarity_star_02").gameObject;
            GameObject gameObject3 = transform.Find("rarity_star_03").gameObject;
            GameObject gameObject4 = transform.Find("rarity_star_10").gameObject;

            gameObject.SetActive(false);
            gameObject2.SetActive(false);
            gameObject3.SetActive(false);
            gameObject4.SetActive(false);
            GameObject gameObject5 = this.assetMeshDataMonoBehavior.OtherGameObjects[3];
            GameObject gameObject6 = this.assetMeshDataMonoBehavior.OtherGameObjects[4];
            GameObject gameObject7 = this.assetMeshDataMonoBehavior.OtherGameObjects[5];
            GameObject gameObject8 = this.assetMeshDataMonoBehavior.OtherGameObjects[6];

            gameObject5.SetActive(false);
            gameObject6.SetActive(false);
            gameObject7.SetActive(false);
            gameObject8.SetActive(false);
            ShardQuality shardQuailty = crateTag.ShardQuailty;

            switch (shardQuailty)
            {
            case ShardQuality.Basic:
                gameObject.SetActive(true);
                gameObject5.SetActive(true);
                break;

            case ShardQuality.Advanced:
                gameObject2.SetActive(true);
                gameObject6.SetActive(true);
                break;

            case ShardQuality.Elite:
                gameObject3.SetActive(true);
                gameObject7.SetActive(true);
                break;

            default:
                if (shardQuailty == ShardQuality.Unit)
                {
                    gameObject4.SetActive(true);
                    gameObject8.SetActive(true);
                }
                break;
            }
            this.ChangeCrateRayColor();
        }
Example #4
0
        public static void TrySetupItemQualityView(CrateSupplyVO supplyData, UXElement unitElement, UXElement basicElement, UXElement advancedElement, UXElement eliteElement, UXElement defaultElement)
        {
            if (supplyData == null)
            {
                return;
            }
            unitElement.Visible     = false;
            basicElement.Visible    = false;
            advancedElement.Visible = false;
            eliteElement.Visible    = false;
            bool         flag         = false;
            ShardQuality shardQuality = ShardQuality.Basic;

            if (supplyData.Type == SupplyType.ShardTroop || supplyData.Type == SupplyType.ShardSpecialAttack)
            {
                ShardVO optional = Service.StaticDataController.GetOptional <ShardVO>(supplyData.RewardUid);
                shardQuality = optional.Quality;
                flag         = true;
            }
            else if (supplyData.Type == SupplyType.Shard)
            {
                EquipmentVO currentEquipmentDataByID = ArmoryUtils.GetCurrentEquipmentDataByID(supplyData.RewardUid);
                shardQuality = currentEquipmentDataByID.Quality;
                flag         = true;
            }
            if (flag)
            {
                unitElement.Visible     = (shardQuality == ShardQuality.Unit);
                basicElement.Visible    = (shardQuality == ShardQuality.Basic);
                advancedElement.Visible = (shardQuality == ShardQuality.Advanced);
                eliteElement.Visible    = (shardQuality == ShardQuality.Elite);
            }
            if (defaultElement != null)
            {
                defaultElement.Visible = !flag;
            }
        }
Example #5
0
        private UXElement FetchEquipmentCardGridItem(CurrentPlayer player, EquipmentVO equipmentVO, EquipmentUpgradeCatalog catalog)
        {
            UXElement    result    = this.equipmentGrid.CloneTemplateItem(equipmentVO.Uid);
            string       uid       = equipmentVO.Uid;
            EquipmentVO  nextLevel = catalog.GetNextLevel(equipmentVO);
            ShardQuality quality   = equipmentVO.Quality;

            UXUtils.SetCardQuality(this, this.equipmentGrid, uid, (int)quality, "EquipmentItemCardQ{0}");
            UXLabel subElement = this.equipmentGrid.GetSubElement <UXLabel>(uid, "LabelEquipmentName");

            subElement.Text = this.lang.Get(equipmentVO.EquipmentName, new object[0]);
            UXLabel subElement2 = this.equipmentGrid.GetSubElement <UXLabel>(uid, "LabelEquipmentLevel");

            subElement2.Text = LangUtils.GetLevelText(equipmentVO.Lvl);
            UXButton subElement3 = this.equipmentGrid.GetSubElement <UXButton>(uid, "BtnEquipmentItemCard");

            subElement3.Tag       = equipmentVO;
            subElement3.OnClicked = new UXButtonClickedDelegate(this.OnEquipmentButtonClicked);
            this.troopGrid.GetSubElement <UXSlider>(uid, "pBarUpgradeTimeEquipment").Visible     = false;
            this.troopGrid.GetSubElement <UXLabel>(uid, "LabelpBarUpgradeTimeEquipment").Visible = false;
            UXSprite subElement4 = this.equipmentGrid.GetSubElement <UXSprite>(uid, "SpriteFragmentEquip");

            UXUtils.SetupFragmentIconSprite(subElement4, (int)quality);
            UXSprite        subElement5 = this.equipmentGrid.GetSubElement <UXSprite>(uid, "SpriteEquipmentItemImage");
            ProjectorConfig config      = ProjectorUtils.GenerateEquipmentConfig(equipmentVO, subElement5, true);

            ProjectorUtils.GenerateProjector(config);
            UXLabel  subElement6 = this.equipmentGrid.GetSubElement <UXLabel>(uid, "LabelEquipmentNumber");
            UXSlider subElement7 = this.equipmentGrid.GetSubElement <UXSlider>(uid, "pBarFrag");
            UXSprite subElement8 = this.equipmentGrid.GetSubElement <UXSprite>(uid, "SpritepBarFrag");

            subElement8.Color = UXUtils.COLOR_SHARD_INPROGRESS;
            UXLabel   subElement9  = this.equipmentGrid.GetSubElement <UXLabel>(uid, "LabelEquipmentRequirement");
            UXSprite  subElement10 = this.equipmentGrid.GetSubElement <UXSprite>(uid, "SpriteDim");
            UXSprite  subElement11 = this.equipmentGrid.GetSubElement <UXSprite>(uid, "SpriteIconLockedEquip");
            UXElement subElement12 = this.equipmentGrid.GetSubElement <UXElement>(uid, "IconUpgrade");

            if (!player.UnlockedLevels.Equipment.Has(equipmentVO))
            {
                subElement9.Text     = LangUtils.GetShardLockedEquipmentString(equipmentVO);
                subElement10.Visible = true;
                subElement11.Visible = true;
                subElement2.Visible  = false;
                int shards = player.GetShards(equipmentVO.EquipmentID);
                subElement6.Text = this.lang.Get("OBJECTIVE_PROGRESS", new object[]
                {
                    shards,
                    equipmentVO.UpgradeShards
                });
                subElement7.Value    = this.CalculateProgress(shards, equipmentVO);
                subElement12.Visible = false;
            }
            else if (nextLevel == null)
            {
                subElement6.Visible  = false;
                subElement10.Visible = true;
                subElement11.Visible = false;
                subElement6.Visible  = false;
                subElement9.Text     = this.lang.Get("MAX_LEVEL", new object[0]);
                subElement7.Visible  = false;
                subElement12.Visible = false;
            }
            else
            {
                int shards2 = player.GetShards(equipmentVO.EquipmentID);
                subElement6.Text = this.lang.Get("OBJECTIVE_PROGRESS", new object[]
                {
                    shards2,
                    nextLevel.UpgradeShards
                });
                subElement7.Value    = this.CalculateProgress(shards2, nextLevel);
                subElement12.Visible = (shards2 >= nextLevel.UpgradeShards);
                if (subElement12.Visible)
                {
                    subElement8.Color = UXUtils.COLOR_SHARD_COMPLETE;
                }
                if (ArmoryUtils.IsBuildingRequirementMet(nextLevel))
                {
                    subElement9.Visible  = false;
                    subElement10.Visible = false;
                    subElement11.Visible = false;
                }
                else
                {
                    BuildingTypeVO buildingInfo = this.dataController.Get <BuildingTypeVO>(nextLevel.BuildingRequirement);
                    subElement9.Text = this.lang.Get("BUILDING_REQUIREMENT", new object[]
                    {
                        nextLevel.Lvl,
                        LangUtils.GetBuildingDisplayName(buildingInfo)
                    });
                    subElement10.Visible = true;
                    subElement11.Visible = true;
                }
            }
            return(result);
        }