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); } } }
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); }