Ejemplo n.º 1
0
        public void Init(object data)
        {
            ModuleTooltipData data2 = data as ModuleTooltipData;

            this.title.text       = data2.name;
            this.description.text = data2.desc;
            this.UpgradeLevel     = data2.upgradeLevel + 1;
            ModulesPropertiesUIComponent component = base.GetComponent <ModulesPropertiesUIComponent>();

            if ((data2.upgradeLevel != -1) && (data2.upgradeLevel != data2.maxLevel))
            {
                this.CurrentLevel = data2.upgradeLevel + 1;
                this.NextLevel    = data2.upgradeLevel + 2;
            }
            else
            {
                int num = -1;
                this.NextLevel    = num;
                this.CurrentLevel = num;
            }
            for (int i = 0; i < data2.properties.Count; i++)
            {
                ModuleVisualProperty property = data2.properties[i];
                if (property.Upgradable && ((data2.upgradeLevel != data2.maxLevel) && (data2.upgradeLevel != -1)))
                {
                    float minValue = 0f;
                    float maxValue = property.CalculateModuleEffectPropertyValue(data2.maxLevel, data2.maxLevel);
                    component.AddProperty(property.Name, property.Unit, minValue, maxValue, (data2.upgradeLevel == -1) ? 0f : property.CalculateModuleEffectPropertyValue(data2.upgradeLevel, data2.maxLevel), property.CalculateModuleEffectPropertyValue(data2.upgradeLevel + 1, data2.maxLevel), property.Format);
                }
                else if (data2.upgradeLevel == -1)
                {
                    float currentValue = property.CalculateModuleEffectPropertyValue(0, data2.maxLevel);
                    component.AddProperty(property.Name, property.Unit, currentValue, property.Format);
                }
                else
                {
                    float currentValue = property.CalculateModuleEffectPropertyValue(data2.upgradeLevel, data2.maxLevel);
                    component.AddProperty(property.Name, property.Unit, currentValue, property.Format);
                }
            }
        }
Ejemplo n.º 2
0
        public void UpdateView(ModuleItem moduleItem, List <List <int> > level2PowerByTier, TankPartItem tank, TankPartItem weapon)
        {
            IEnumerator enumerator = this.upgrade.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    Transform current = (Transform)enumerator.Current;
                    Destroy(current.gameObject);
                }
            }
            finally
            {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            if (moduleItem == null)
            {
                this.moduleName.text = null;
            }
            else
            {
                long level    = moduleItem.Level;
                int  maxLevel = moduleItem.MaxLevel;
                this.moduleName.text = (moduleItem.UserItem != null) ? $"{moduleItem.Name} <color=#838383FF>({this.localizeLVL.Value} {(moduleItem.Level + 1L)})" : $"{moduleItem.Name}";
                this.ShowDamageBonus(moduleItem, (long)maxLevel, level, level2PowerByTier, tank, weapon);
                for (int i = 0; i < moduleItem.properties.Count; i++)
                {
                    GameObject obj2 = Instantiate <GameObject>(this.property, this.upgrade);
                    obj2.SetActive(true);
                    ModulePropertyView   component = obj2.GetComponent <ModulePropertyView>();
                    ModuleVisualProperty property  = moduleItem.properties[i];
                    component.SpriteUid    = property.SpriteUID;
                    component.PropertyName = property.Name;
                    component.Units        = property.Unit;
                    component.Format       = property.Format;
                    if (property.MaxAndMin)
                    {
                        if (moduleItem.UserItem == null)
                        {
                            component.CurrentParamString = property.MaxAndMinString[(int)((IntPtr)level)];
                        }
                        else if (level == maxLevel)
                        {
                            component.CurrentParamString = property.MaxAndMinString[(int)((IntPtr)level)];
                        }
                        else
                        {
                            component.CurrentParamString = property.MaxAndMinString[(int)((IntPtr)level)];
                            component.NextParamString    = property.MaxAndMinString[(int)((IntPtr)(level + 1L))];
                        }
                    }
                    else if (moduleItem.UserItem == null)
                    {
                        component.CurrentParam = property.CalculateModuleEffectPropertyValue(0, maxLevel);
                        component.MaxParam     = property.CalculateModuleEffectPropertyValue(maxLevel, maxLevel);
                    }
                    else if (level == maxLevel)
                    {
                        float num6 = property.CalculateModuleEffectPropertyValue(maxLevel, maxLevel);
                        component.CurrentParam = num6;
                        component.MaxParam     = num6;
                    }
                    else
                    {
                        float num7 = property.CalculateModuleEffectPropertyValue(maxLevel, maxLevel);
                        component.CurrentParam = (level == -1L) ? 0f : property.CalculateModuleEffectPropertyValue((int)level, maxLevel);
                        component.NextParam    = property.CalculateModuleEffectPropertyValue(((int)level) + 1, maxLevel);
                        component.MaxParam     = num7;
                    }
                    component.ProgressBar = moduleItem.properties[i].ProgressBar;
                }
            }
            this.ShowButton(moduleItem);
        }