Ejemplo n.º 1
0
        public WeaponPropertyConfigItem FindByWeaponId(int id)
        {
            WeaponPropertyConfigItem item = null;

            _weaponPropertyDic.TryGetValue(id, out item);
            AssertUtility.Assert(item != null);
            return(item);
        }
Ejemplo n.º 2
0
        private WeaponPropertyConfigItem GetWeaponPartPropertyCfg(int templateId)
        {
            WeaponPropertyConfigItem item = null;

            _weaponPartPropertyDic.TryGetValue(templateId, out item);
            if (item == null)
            {
                Logger.Error("Not found id" + templateId);
            }
            return(item);
        }
Ejemplo n.º 3
0
        public WeaponPropertyConfigItem FindByWeaponId(int id)
        {
            WeaponPropertyConfigItem item = null;

            _weaponPropertyDic.TryGetValue(id, out item);
            if (item == null)
            {
                Logger.Error("Not found id" + id);
            }
            return(item);
        }
Ejemplo n.º 4
0
        public WeaponProperty GetWeaponProperty(ECategory category, int templateId)
        {
            WeaponPropertyConfigItem cfg = null;

            if (category == ECategory.Weapon)
            {
                cfg = GetWeaponPropertyCfg(templateId);
            }
            else if (category == ECategory.WeaponPart)
            {
                cfg = GetWeaponPartPropertyCfg(templateId);
            }
            if (cfg != null)
            {
                return(cfg.GetWeaponProperty());
            }
            return(default(WeaponProperty));
        }
Ejemplo n.º 5
0
        private void RefreshWeaponTips()
        {
            _viewModel.attrGroupActiveSelf = true;
            var weapongProperConfig = SingletonManager.Get <WeaponPropertyConfigManager>().FindByWeaponId(curShowTipData.TemID);
            WeaponPropertyConfigItem contrastWeaponProperConfig = null;

            if (curShowTipData.ContrastTemId > 0)
            {
                contrastWeaponProperConfig = SingletonManager.Get <WeaponPropertyConfigManager>().FindByWeaponId(curShowTipData.ContrastTemId);
            }

            var weaponConfig = SingletonManager.Get <ItemBaseConfigManager>().GetConfigById((int)ECategory.Weapon, curShowTipData.TemID, true) as WeaponResConfigItem;

            if (weaponConfig == null || weapongProperConfig == null)
            {
                return;
            }

            //刷新topGroup
            {
                _viewModel.nameText = weaponConfig.Name;
                Loader.RetriveSpriteAsync(weaponConfig.IconBundle, weaponConfig.Icon,
                                          (sprite) => { _viewModel.Icon = sprite; });

                _viewModel.infoOneActiveSelf = false;
                _viewModel.infoTwoActiveSelf = false;
                switch ((EWeaponType_Config)weaponConfig.Type)
                {
                case EWeaponType_Config.PrimeWeapon:
                {
                    _viewModel.typeText          = I2.Loc.ScriptLocalization.client_common.word21;
                    _viewModel.infoOneActiveSelf = true;
                    _viewModel.infoOneText       = GetStrByCaliber(weaponConfig.Caliber);
                }
                break;

                case EWeaponType_Config.SubWeapon:
                {
                    _viewModel.typeText          = I2.Loc.ScriptLocalization.client_common.word22;
                    _viewModel.infoOneActiveSelf = true;
                    _viewModel.infoOneText       = GetStrByCaliber(weaponConfig.Caliber);
                }
                break;

                case EWeaponType_Config.MeleeWeapon:
                {
                    _viewModel.typeText = I2.Loc.ScriptLocalization.client_common.word23;
                }
                break;

                case EWeaponType_Config.ThrowWeapon:
                {
                    _viewModel.typeText = I2.Loc.ScriptLocalization.client_common.word24;
                    if (weaponConfig.SubType == 9)            //手雷
                    {
                        if (weaponConfig.Weight > 0)
                        {
                            _viewModel.infoOneActiveSelf = true;
                            _viewModel.infoOneText       = I2.Loc.ScriptLocalization.client_common.word25 + (curShowTipData.Num * weaponConfig.Weight).ToString();
                        }
                    }
                    else
                    {
                        if (weaponConfig.Weight > 0)
                        {
                            _viewModel.infoOneActiveSelf = true;
                            _viewModel.infoOneText       = I2.Loc.ScriptLocalization.client_common.word25 + weaponConfig.Weight.ToString();
                        }
                    }
                }
                break;
                }
            }

            //刷新属性
            {
                foreach (var tran in attributeGoList)
                {
                    tran.gameObject.SetActive(false);
                }
                int usingIndex = 0;
                //威力
                float destValue = 0;
                if (weapongProperConfig.Power != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Power;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Power, destValue, I2.Loc.ScriptLocalization.client_common.word26);
                }

                //射数
                if (weapongProperConfig.Limitcycle != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Limitcycle;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Limitcycle, destValue, I2.Loc.ScriptLocalization.client_common.word27);
                }

                //精准
                if (weapongProperConfig.Accurate != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Accurate;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Accurate, destValue, I2.Loc.ScriptLocalization.client_common.word28);
                }

                //稳定
                if (weapongProperConfig.Stability != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Stability;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Stability, destValue, I2.Loc.ScriptLocalization.client_common.word29);
                }
                //穿透
                if (weapongProperConfig.Penetrate != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Penetrate;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Penetrate, destValue, I2.Loc.ScriptLocalization.client_common.word30);
                }
                //范围
                if (weapongProperConfig.Scope != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Scope;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Scope, destValue, I2.Loc.ScriptLocalization.client_common.word31);
                }
                //装弹数
                if (weapongProperConfig.Bullet != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Bullet;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Bullet, destValue, I2.Loc.ScriptLocalization.client_common.word32);
                }
            }

            //刷新描述
            _viewModel.desText = weaponConfig.Description;
        }
Ejemplo n.º 6
0
        private void RefreshWeaponProperty()
        {
            var weapongProperConfig = SingletonManager.Get <WeaponPropertyConfigManager>().FindByWeaponId(curShowTipData.TemID);
            WeaponPropertyConfigItem contrastWeaponProperConfig = null;

            if (curShowTipData.ContrastTemId > 0)
            {
                contrastWeaponProperConfig = SingletonManager.Get <WeaponPropertyConfigManager>().FindByWeaponId(curShowTipData.ContrastTemId);
            }
            if (weapongProperConfig == null)
            {
                return;
            }
            _viewModel.attrGroupActiveSelf = true;
            //刷新属性
            {
                foreach (var tran in attributeGoList)
                {
                    tran.gameObject.SetActive(false);
                }
                int usingIndex = 0;
                //威力
                float destValue = 0;
                if (weapongProperConfig.Power != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Power;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Power, destValue, I2.Loc.ScriptLocalization.client_common.word26);
                }

                //射数
                if (weapongProperConfig.Limitcycle != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Limitcycle;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Limitcycle, destValue, I2.Loc.ScriptLocalization.client_common.word27);
                }

                //精准
                if (weapongProperConfig.Accurate != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Accurate;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Accurate, destValue, I2.Loc.ScriptLocalization.client_common.word28);
                }

                //稳定
                if (weapongProperConfig.Stability != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Stability;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Stability, destValue, I2.Loc.ScriptLocalization.client_common.word29);
                }
                //穿透
                if (weapongProperConfig.Penetrate != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Penetrate;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Penetrate, destValue, I2.Loc.ScriptLocalization.client_common.word30);
                }
                //范围
                if (weapongProperConfig.Scope != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Scope;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Scope, destValue, I2.Loc.ScriptLocalization.client_common.word31);
                }
                //装弹数
                if (weapongProperConfig.Bullet != 0 && usingIndex < attributeGoList.Count)
                {
                    if (contrastWeaponProperConfig != null)
                    {
                        destValue = contrastWeaponProperConfig.Bullet;
                    }
                    RefreshAttributeItem(attributeGoList[usingIndex++], weapongProperConfig.Bullet, destValue, I2.Loc.ScriptLocalization.client_common.word32);
                }
            }
        }