// Token: 0x060009BB RID: 2491 RVA: 0x0003E72C File Offset: 0x0003C92C private void DrawMeleeWeapon() { this.ProgressBar(new Rect(20f, 120f, 200f, 12f), this._damage.Title, this._damage.Percent, ColorScheme.ProgressBar, string.Empty); this.ProgressBar(new Rect(20f, 135f, 200f, 12f), this._fireRate.Title, 1f - this._fireRate.Percent, ColorScheme.ProgressBar, string.Empty); if (Singleton <DragAndDrop> .Instance.IsDragging && ShopUtils.IsMeleeWeapon(Singleton <DragAndDrop> .Instance.DraggedItem.Item)) { UberStrikeItemWeaponView view = Singleton <DragAndDrop> .Instance.DraggedItem.Item.View as UberStrikeItemWeaponView; this.ComparisonOverlay(new Rect(20f, 120f, 200f, 12f), this._damage.Percent, WeaponConfigurationHelper.GetDamageNormalized(view)); this.ComparisonOverlay(new Rect(20f, 135f, 200f, 12f), 1f - this._fireRate.Percent, 1f - WeaponConfigurationHelper.GetRateOfFireNormalized(view)); } }
// Token: 0x06001FAD RID: 8109 RVA: 0x00097F80 File Offset: 0x00096180 public static Vector3 ApplyDispersion(Vector3 shootingRay, UberStrikeItemWeaponView view, bool ironSight) { float num = WeaponConfigurationHelper.GetAccuracySpread(view); if (WeaponFeedbackManager.Instance && WeaponFeedbackManager.Instance.IsIronSighted && ironSight) { num *= 0.5f; } Vector2 vector = UnityEngine.Random.insideUnitCircle * num * 0.5f; return(Quaternion.AngleAxis(vector.x, GameState.Current.Player.WeaponCamera.transform.right) * Quaternion.AngleAxis(vector.y, GameState.Current.Player.WeaponCamera.transform.up) * shootingRay); }
// Token: 0x06001EF8 RID: 7928 RVA: 0x00095E44 File Offset: 0x00094044 public DefaultWeaponInputHandler(IWeaponLogic logic, bool isLocal, UberStrikeItemWeaponView view, IWeaponFireHandler secondaryFireHandler = null) : base(logic, isLocal) { if (view.HasAutomaticFire) { base.FireHandler = new FullAutoFireHandler(logic.Decorator, WeaponConfigurationHelper.GetRateOfFire(view)); } else { base.FireHandler = new SemiAutoFireHandler(logic.Decorator, WeaponConfigurationHelper.GetRateOfFire(view)); } this._secondaryFireHandler = secondaryFireHandler; }
// Token: 0x0600206A RID: 8298 RVA: 0x0009ABFC File Offset: 0x00098DFC private void CreateWeaponLogic(UberStrikeItemWeaponView view, IWeaponController controller) { switch (view.ItemClass) { case UberstrikeItemClass.WeaponMelee: this.Decorator = this.InstantiateWeaponDecorator(view.ID); this.Item = this.Decorator.GetComponent <WeaponItem>(); this.Logic = new MeleeWeapon(this.Item, this.Decorator as MeleeWeaponDecorator, controller); return; case UberstrikeItemClass.WeaponMachinegun: this.Decorator = this.InstantiateWeaponDecorator(view.ID); this.Item = this.Decorator.GetComponent <WeaponItem>(); if (view.ProjectilesPerShot > 1) { this.Logic = new InstantMultiHitWeapon(this.Item, this.Decorator, view.ProjectilesPerShot, controller, view); } else { this.Logic = new InstantHitWeapon(this.Item, this.Decorator, controller, view); } return; case UberstrikeItemClass.WeaponShotgun: this.Decorator = this.InstantiateWeaponDecorator(view.ID); this.Item = this.Decorator.GetComponent <WeaponItem>(); this.Logic = new InstantMultiHitWeapon(this.Item, this.Decorator, view.ProjectilesPerShot, controller, view); return; case UberstrikeItemClass.WeaponSniperRifle: this.Decorator = this.InstantiateWeaponDecorator(view.ID); this.Item = this.Decorator.GetComponent <WeaponItem>(); this.Logic = new InstantHitWeapon(this.Item, this.Decorator, controller, view); return; case UberstrikeItemClass.WeaponCannon: case UberstrikeItemClass.WeaponSplattergun: case UberstrikeItemClass.WeaponLauncher: { ProjectileWeaponDecorator projectileWeaponDecorator = this.CreateProjectileWeaponDecorator(view.ID, view.MissileTimeToDetonate); this.Item = projectileWeaponDecorator.GetComponent <WeaponItem>(); this.Logic = new ProjectileWeapon(this.Item, projectileWeaponDecorator, controller, view); this.Decorator = projectileWeaponDecorator; return; } } throw new Exception("Failed to create weapon logic!"); }
// Token: 0x060009BA RID: 2490 RVA: 0x0003E504 File Offset: 0x0003C704 private void DrawInstantHitWeapon() { bool flag = Singleton <DragAndDrop> .Instance.IsDragging && ShopUtils.IsInstantHitWeapon(Singleton <DragAndDrop> .Instance.DraggedItem.Item) && Singleton <DragAndDrop> .Instance.DraggedItem.Item.View.ItemClass == this._item.View.ItemClass; this.ProgressBar(new Rect(20f, 120f, 200f, 12f), this._damage.Title, this._damage.Percent, ColorScheme.ProgressBar, string.Empty); this.ProgressBar(new Rect(20f, 135f, 200f, 12f), this._fireRate.Title, 1f - this._fireRate.Percent, ColorScheme.ProgressBar, string.Empty); this.ProgressBar(new Rect(20f, 150f, 200f, 12f), this._accuracy.Title, this._accuracy.Percent, ColorScheme.ProgressBar, string.Empty); this.ProgressBar(new Rect(20f, 165f, 200f, 12f), this._ammo.Title, this._ammo.Percent, ColorScheme.ProgressBar, string.Empty); //this.ProgressBar(new Rect(20f, 180f, 200f, 12f), this._armorPierced.Title, this._armorPierced.Percent, ColorScheme.ProgressBar, string.Empty); if (flag) { UberStrikeItemWeaponView view = Singleton <DragAndDrop> .Instance.DraggedItem.Item.View as UberStrikeItemWeaponView; this.ComparisonOverlay(new Rect(20f, 120f, 200f, 12f), this._damage.Percent, WeaponConfigurationHelper.GetDamageNormalized(view)); this.ComparisonOverlay(new Rect(20f, 135f, 200f, 12f), 1f - this._fireRate.Percent, 1f - WeaponConfigurationHelper.GetRateOfFireNormalized(view)); this.ComparisonOverlay(new Rect(20f, 150f, 200f, 12f), this._accuracy.Percent, 1f - WeaponConfigurationHelper.GetAccuracySpreadNormalized(view)); } }
// Token: 0x06001DE6 RID: 7654 RVA: 0x00013E41 File Offset: 0x00012041 public static float GetAccuracySpread(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)WeaponConfigurationHelper.GetSecureSpread(view.ID) / 10f)); }
// Token: 0x06001DE5 RID: 7653 RVA: 0x00013E22 File Offset: 0x00012022 public static float GetCriticalStrikeBonus(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.CriticalStrikeBonus / 100f)); }
// Token: 0x06000E42 RID: 3650 RVA: 0x0000A699 File Offset: 0x00008899 public WeaponItemDetailGUI(UberStrikeItemWeaponView item) { this._item = item; }
// Token: 0x060010FF RID: 4351 RVA: 0x00019D34 File Offset: 0x00017F34 public static void Serialize(Stream stream, UberStrikeItemWeaponView instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { Int32Proxy.Serialize(memoryStream, instance.AccuracySpread); //Int32Proxy.Serialize(memoryStream, instance.ArmorPierced); Int32Proxy.Serialize(memoryStream, instance.CombatRange); Int32Proxy.Serialize(memoryStream, instance.CriticalStrikeBonus); if (instance.CustomProperties != null) { DictionaryProxy <string, string> .Serialize(memoryStream, instance.CustomProperties, new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize), new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize)); } else { num |= 1; } Int32Proxy.Serialize(memoryStream, instance.DamageKnockback); Int32Proxy.Serialize(memoryStream, instance.DamagePerProjectile); Int32Proxy.Serialize(memoryStream, instance.DefaultZoomMultiplier); if (instance.Description != null) { StringProxy.Serialize(memoryStream, instance.Description); } else { num |= 2; } BooleanProxy.Serialize(memoryStream, instance.HasAutomaticFire); Int32Proxy.Serialize(memoryStream, instance.ID); BooleanProxy.Serialize(memoryStream, instance.IsConsumable); EnumProxy <UberstrikeItemClass> .Serialize(memoryStream, instance.ItemClass); if (instance.ItemProperties != null) { DictionaryProxy <ItemPropertyType, int> .Serialize(memoryStream, instance.ItemProperties, new DictionaryProxy <ItemPropertyType, int> .Serializer <ItemPropertyType>(EnumProxy <ItemPropertyType> .Serialize), new DictionaryProxy <ItemPropertyType, int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 4; } Int32Proxy.Serialize(memoryStream, instance.LevelLock); Int32Proxy.Serialize(memoryStream, instance.MaxAmmo); Int32Proxy.Serialize(memoryStream, instance.MaxDurationDays); Int32Proxy.Serialize(memoryStream, instance.MaxZoomMultiplier); Int32Proxy.Serialize(memoryStream, instance.MinZoomMultiplier); Int32Proxy.Serialize(memoryStream, instance.MissileBounciness); Int32Proxy.Serialize(memoryStream, instance.MissileForceImpulse); Int32Proxy.Serialize(memoryStream, instance.MissileTimeToDetonate); if (instance.Name != null) { StringProxy.Serialize(memoryStream, instance.Name); } else { num |= 8; } if (instance.PrefabName != null) { StringProxy.Serialize(memoryStream, instance.PrefabName); } else { num |= 16; } if (instance.Prices != null) { ListProxy <ItemPrice> .Serialize(memoryStream, instance.Prices, new ListProxy <ItemPrice> .Serializer <ItemPrice>(ItemPriceProxy.Serialize)); } else { num |= 32; } Int32Proxy.Serialize(memoryStream, instance.ProjectileSpeed); Int32Proxy.Serialize(memoryStream, instance.ProjectilesPerShot); Int32Proxy.Serialize(memoryStream, instance.RateOfFire); Int32Proxy.Serialize(memoryStream, instance.RecoilKickback); Int32Proxy.Serialize(memoryStream, instance.RecoilMovement); Int32Proxy.Serialize(memoryStream, instance.SecondaryActionReticle); EnumProxy <ItemShopHighlightType> .Serialize(memoryStream, instance.ShopHighlightType); Int32Proxy.Serialize(memoryStream, instance.SplashRadius); Int32Proxy.Serialize(memoryStream, instance.StartAmmo); Int32Proxy.Serialize(memoryStream, instance.Tier); Int32Proxy.Serialize(memoryStream, instance.WeaponSecondaryAction); Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }
// Token: 0x06002007 RID: 8199 RVA: 0x000151C0 File Offset: 0x000133C0 public InstantHitWeapon(WeaponItem item, BaseWeaponDecorator decorator, IWeaponController controller, UberStrikeItemWeaponView view) : base(item, controller) { this._view = view; this._decorator = decorator; this._supportIronSight = (view.WeaponSecondaryAction == 2); }
// Token: 0x06001DE9 RID: 7657 RVA: 0x00013EA3 File Offset: 0x000120A3 public static float GetSplashRadius(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)WeaponConfigurationHelper.GetSecureSplashRadius(view.ID) / 100f)); }
// Token: 0x06001DDF RID: 7647 RVA: 0x00013D79 File Offset: 0x00011F79 public static float GetRecoilKickbackNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.RecoilKickback / WeaponConfigurationHelper.MaxRecoilKickback)); }
// Token: 0x06001DDE RID: 7646 RVA: 0x00013D54 File Offset: 0x00011F54 public static float GetRateOfFireNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.RateOfFire / 1000f / WeaponConfigurationHelper.MaxRateOfFire)); }
/*public static float GetArmorPiercedNormalized(UberStrikeItemWeaponView view) * { * return (view == null) ? 0f : ((float)view.ArmorPierced / 10f / WeaponConfigurationHelper.MaxArmorPierced); * }*/ // Token: 0x06001DDD RID: 7645 RVA: 0x00013D35 File Offset: 0x00011F35 public static float GetProjectileSpeedNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.ProjectileSpeed / WeaponConfigurationHelper.MaxProjectileSpeed)); }
// Token: 0x06001DDC RID: 7644 RVA: 0x00013D10 File Offset: 0x00011F10 public static float GetAccuracySpreadNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.AccuracySpread / 10f / WeaponConfigurationHelper.MaxAccuracySpread)); }
// Token: 0x06001DDB RID: 7643 RVA: 0x00013CEA File Offset: 0x00011EEA public static float GetDamageNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)(view.DamagePerProjectile * view.ProjectilesPerShot) / WeaponConfigurationHelper.MaxDamage)); }
// Token: 0x06001DDA RID: 7642 RVA: 0x00013CCB File Offset: 0x00011ECB public static float GetAmmoNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.MaxAmmo / WeaponConfigurationHelper.MaxAmmo)); }
// Token: 0x06001DE7 RID: 7655 RVA: 0x00013E65 File Offset: 0x00012065 public static float GetRateOfFire(UberStrikeItemWeaponView view) { return((view == null) ? 1f : ((float)WeaponConfigurationHelper.GetSecureRateOfFire(view.ID) / 1000f)); }
// Token: 0x06001DE8 RID: 7656 RVA: 0x00013E89 File Offset: 0x00012089 public static float GetProjectileSpeed(UberStrikeItemWeaponView view) { return((float)((view == null) ? 1 : WeaponConfigurationHelper.GetSecureProjectileSpeed(view.ID))); }
// Token: 0x06001DE0 RID: 7648 RVA: 0x00013D98 File Offset: 0x00011F98 public static float GetSplashRadiusNormalized(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.SplashRadius / 100f / WeaponConfigurationHelper.MaxSplashRadius)); }
// Token: 0x06002031 RID: 8241 RVA: 0x00099E58 File Offset: 0x00098058 public ProjectileWeapon(WeaponItem item, ProjectileWeaponDecorator decorator, IWeaponController controller, UberStrikeItemWeaponView view) : base(item, controller) { this._view = view; this._decorator = decorator; this.MaxConcurrentProjectiles = item.Configuration.MaxConcurrentProjectiles; this.MinProjectileDistance = item.Configuration.MinProjectileDistance; this.ExplosionType = item.Configuration.ParticleEffect; }
// Token: 0x06001DE1 RID: 7649 RVA: 0x00013DBD File Offset: 0x00011FBD public static float GetAmmo(UberStrikeItemWeaponView view) { return((float)((view == null) ? 0 : view.MaxAmmo)); }
// Token: 0x06001100 RID: 4352 RVA: 0x00019FE0 File Offset: 0x000181E0 public static UberStrikeItemWeaponView Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); UberStrikeItemWeaponView uberStrikeItemWeaponView = new UberStrikeItemWeaponView(); uberStrikeItemWeaponView.AccuracySpread = Int32Proxy.Deserialize(bytes); //uberStrikeItemWeaponView.ArmorPierced = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.CombatRange = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.CriticalStrikeBonus = Int32Proxy.Deserialize(bytes); if ((num & 1) != 0) { uberStrikeItemWeaponView.CustomProperties = DictionaryProxy <string, string> .Deserialize(bytes, new DictionaryProxy <string, string> .Deserializer <string>(StringProxy.Deserialize), new DictionaryProxy <string, string> .Deserializer <string>(StringProxy.Deserialize)); } uberStrikeItemWeaponView.DamageKnockback = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.DamagePerProjectile = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.DefaultZoomMultiplier = Int32Proxy.Deserialize(bytes); if ((num & 2) != 0) { uberStrikeItemWeaponView.Description = StringProxy.Deserialize(bytes); } uberStrikeItemWeaponView.HasAutomaticFire = BooleanProxy.Deserialize(bytes); uberStrikeItemWeaponView.ID = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.IsConsumable = BooleanProxy.Deserialize(bytes); uberStrikeItemWeaponView.ItemClass = EnumProxy <UberstrikeItemClass> .Deserialize(bytes); if ((num & 4) != 0) { uberStrikeItemWeaponView.ItemProperties = DictionaryProxy <ItemPropertyType, int> .Deserialize(bytes, new DictionaryProxy <ItemPropertyType, int> .Deserializer <ItemPropertyType>(EnumProxy <ItemPropertyType> .Deserialize), new DictionaryProxy <ItemPropertyType, int> .Deserializer <int>(Int32Proxy.Deserialize)); } uberStrikeItemWeaponView.LevelLock = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MaxAmmo = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MaxDurationDays = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MaxZoomMultiplier = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MinZoomMultiplier = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MissileBounciness = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MissileForceImpulse = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.MissileTimeToDetonate = Int32Proxy.Deserialize(bytes); if ((num & 8) != 0) { uberStrikeItemWeaponView.Name = StringProxy.Deserialize(bytes); } if ((num & 16) != 0) { uberStrikeItemWeaponView.PrefabName = StringProxy.Deserialize(bytes); } if ((num & 32) != 0) { uberStrikeItemWeaponView.Prices = ListProxy <ItemPrice> .Deserialize(bytes, new ListProxy <ItemPrice> .Deserializer <ItemPrice>(ItemPriceProxy.Deserialize)); } uberStrikeItemWeaponView.ProjectileSpeed = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.ProjectilesPerShot = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.RateOfFire = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.RecoilKickback = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.RecoilMovement = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.SecondaryActionReticle = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.ShopHighlightType = EnumProxy <ItemShopHighlightType> .Deserialize(bytes); uberStrikeItemWeaponView.SplashRadius = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.StartAmmo = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.Tier = Int32Proxy.Deserialize(bytes); uberStrikeItemWeaponView.WeaponSecondaryAction = Int32Proxy.Deserialize(bytes); return(uberStrikeItemWeaponView); }
/*public static float GetArmorPierced(UberStrikeItemWeaponView view) * { * return (float)((view == null) ? 0 : view.ArmorPierced); * }*/ // Token: 0x06001DE2 RID: 7650 RVA: 0x00013DD2 File Offset: 0x00011FD2 public static float GetDamage(UberStrikeItemWeaponView view) { return((float)((view == null) ? 0 : (view.DamagePerProjectile * view.ProjectilesPerShot))); }
// Token: 0x0600200A RID: 8202 RVA: 0x000151FB File Offset: 0x000133FB public InstantMultiHitWeapon(WeaponItem item, BaseWeaponDecorator decorator, int shotGauge, IWeaponController controller, UberStrikeItemWeaponView view) : base(item, controller) { this.ShotgunGauge = shotGauge; this._view = view; this._decorator = decorator; }
// Token: 0x060009B5 RID: 2485 RVA: 0x0003D888 File Offset: 0x0003BA88 public void SetItem(IUnityItem item, Rect bounds, PopupViewSide side, int daysLeft = -1, BuyingDurationType duration = BuyingDurationType.None) { if (Event.current.type != EventType.Repaint || item == null || Singleton <ItemManager> .Instance.IsDefaultGearItem(item.View.PrefabName) || (item.View.LevelLock > PlayerDataManager.PlayerLevel && !Singleton <InventoryManager> .Instance.Contains(item.View.ID))) { return; } bool flag = this._alpha < Time.time + 0.1f; this._alpha = Mathf.Lerp(this._alpha, Time.time + 1.1f, Time.deltaTime * 12f); if (this._item != item || this._cacheRect != bounds || !this.IsEnabled) { this._cacheRect = bounds; bounds = GUITools.ToGlobal(bounds); this.IsEnabled = true; this._item = item; this._level = ((item.View == null) ? 0 : item.View.LevelLock); this._description = ((item.View == null) ? string.Empty : item.View.Description); this._daysLeft = daysLeft; this._criticalHit = 0; this._duration = duration; switch (side) { case PopupViewSide.Left: { float tipPosition = bounds.y - 10f + bounds.height * 0.5f; Rect rect = new Rect(bounds.x - this.Size.x - 9f, bounds.y - this.Size.y * 0.5f, this.Size.x, this.Size.y); Rect rect2 = new Rect(rect.xMax - 1f, tipPosition, 12f, 21f); if (rect.y <= (float)GlobalUIRibbon.Instance.Height()) { rect.y += (float)GlobalUIRibbon.Instance.Height() - rect.y; } if (rect.yMax >= (float)Screen.height) { rect.y -= rect.yMax - (float)Screen.height; } if (rect2.y < this._finalRect.y || rect2.yMax > this._finalRect.yMax || this._finalRect.x != rect.x) { this._finalRect = rect; if (flag) { this._rect = rect; } } this.OnDrawTip = delegate() { GUI.DrawTexture(new Rect(this._rect.xMax - 1f, tipPosition, 12f, 21f), ConsumableHudTextures.TooltipRight); }; break; } case PopupViewSide.Top: { float tipPosition = bounds.x - 10f + bounds.width * 0.5f; Rect rect3 = new Rect(bounds.x + (bounds.width - this.Size.x) * 0.5f, bounds.y - this.Size.y - 9f, this.Size.x, this.Size.y); Rect rect4 = new Rect(tipPosition, rect3.yMax - 1f, 21f, 12f); if (rect3.xMin <= 10f) { rect3.x = 10f; } if (rect3.xMax >= (float)(Screen.width - 10)) { rect3.x -= rect3.xMax - (float)Screen.width + 10f; } if (rect4.x < this._finalRect.x || rect4.xMax > this._finalRect.xMax || this._finalRect.y != rect3.y) { this._finalRect = rect3; if (flag) { this._rect = rect3; } } this.OnDrawTip = delegate() { GUI.DrawTexture(new Rect(tipPosition, this._rect.yMax - 1f, 21f, 12f), ConsumableHudTextures.TooltipDown); }; break; } } switch (item.View.ItemClass) { case UberstrikeItemClass.WeaponMelee: { this.OnDrawItemDetails = new Action(this.DrawMeleeWeapon); UberStrikeItemWeaponView uberStrikeItemWeaponView = item.View as UberStrikeItemWeaponView; if (uberStrikeItemWeaponView != null) { this._damage.Value = WeaponConfigurationHelper.GetDamage(uberStrikeItemWeaponView); this._damage.Max = WeaponConfigurationHelper.MaxDamage; this._fireRate.Value = WeaponConfigurationHelper.GetRateOfFire(uberStrikeItemWeaponView); this._fireRate.Max = WeaponConfigurationHelper.MaxRateOfFire; } return; } case UberstrikeItemClass.WeaponMachinegun: case UberstrikeItemClass.WeaponShotgun: case UberstrikeItemClass.WeaponSniperRifle: { this.OnDrawItemDetails = new Action(this.DrawInstantHitWeapon); UberStrikeItemWeaponView uberStrikeItemWeaponView2 = item.View as UberStrikeItemWeaponView; if (uberStrikeItemWeaponView2 != null) { this._ammo.Value = WeaponConfigurationHelper.GetAmmo(uberStrikeItemWeaponView2); this._ammo.Max = WeaponConfigurationHelper.MaxAmmo; this._damage.Value = WeaponConfigurationHelper.GetDamage(uberStrikeItemWeaponView2); this._damage.Max = WeaponConfigurationHelper.MaxDamage; this._fireRate.Value = WeaponConfigurationHelper.GetRateOfFire(uberStrikeItemWeaponView2); this._fireRate.Max = WeaponConfigurationHelper.MaxRateOfFire; this._accuracy.Value = WeaponConfigurationHelper.MaxAccuracySpread - WeaponConfigurationHelper.GetAccuracySpread(uberStrikeItemWeaponView2); this._accuracy.Max = WeaponConfigurationHelper.MaxAccuracySpread; //_armorPierced.Value = WeaponConfigurationHelper.GetArmorPierced(uberStrikeItemWeaponView2); //_armorPierced.Max = WeaponConfigurationHelper.MaxArmorPierced; if (item.View.ItemProperties.ContainsKey(ItemPropertyType.CritDamageBonus)) { this._criticalHit = item.View.ItemProperties[ItemPropertyType.CritDamageBonus]; } else { this._criticalHit = 0; } } return; } case UberstrikeItemClass.WeaponCannon: case UberstrikeItemClass.WeaponSplattergun: case UberstrikeItemClass.WeaponLauncher: { this.OnDrawItemDetails = new Action(this.DrawProjectileWeapon); UberStrikeItemWeaponView uberStrikeItemWeaponView3 = item.View as UberStrikeItemWeaponView; if (uberStrikeItemWeaponView3 != null) { this._ammo.Value = WeaponConfigurationHelper.GetAmmo(uberStrikeItemWeaponView3); this._ammo.Max = WeaponConfigurationHelper.MaxAmmo; this._damage.Value = WeaponConfigurationHelper.GetDamage(uberStrikeItemWeaponView3); this._damage.Max = WeaponConfigurationHelper.MaxDamage; this._fireRate.Value = WeaponConfigurationHelper.GetRateOfFire(uberStrikeItemWeaponView3); this._fireRate.Max = WeaponConfigurationHelper.MaxRateOfFire; this._velocity.Value = WeaponConfigurationHelper.GetProjectileSpeed(uberStrikeItemWeaponView3); this._velocity.Max = WeaponConfigurationHelper.MaxProjectileSpeed; this._damageRadius.Value = WeaponConfigurationHelper.GetSplashRadius(uberStrikeItemWeaponView3); this._damageRadius.Max = WeaponConfigurationHelper.MaxSplashRadius; } return; } case UberstrikeItemClass.GearBoots: case UberstrikeItemClass.GearHead: case UberstrikeItemClass.GearFace: case UberstrikeItemClass.GearUpperBody: case UberstrikeItemClass.GearLowerBody: case UberstrikeItemClass.GearGloves: case UberstrikeItemClass.GearHolo: this.OnDrawItemDetails = new Action(this.DrawGear); this._armorCarried.Value = (float)((UberStrikeItemGearView)item.View).ArmorPoints; this._armorCarried.Max = 200f; return; case UberstrikeItemClass.QuickUseGeneral: case UberstrikeItemClass.QuickUseGrenade: case UberstrikeItemClass.QuickUseMine: this.OnDrawItemDetails = new Action(this.DrawQuickItem); return; } this.OnDrawItemDetails = null; } }
// Token: 0x06001DE3 RID: 7651 RVA: 0x00013DEE File Offset: 0x00011FEE public static float GetRecoilKickback(UberStrikeItemWeaponView view) { return((float)((view == null) ? 0 : view.RecoilKickback)); }
// Token: 0x06001F11 RID: 7953 RVA: 0x00095EA0 File Offset: 0x000940A0 public SniperRifleInputHandler(IWeaponLogic logic, bool isLocal, ZoomInfo zoomInfo, UberStrikeItemWeaponView view) : base(logic, isLocal) { this._zoomInfo = zoomInfo; if (view.HasAutomaticFire) { base.FireHandler = new FullAutoFireHandler(logic.Decorator, WeaponConfigurationHelper.GetRateOfFire(view)); } else { base.FireHandler = new SemiAutoFireHandler(logic.Decorator, WeaponConfigurationHelper.GetRateOfFire(view)); } }
// Token: 0x06001F09 RID: 7945 RVA: 0x000147D9 File Offset: 0x000129D9 public MinigunInputHandler(IWeaponLogic logic, bool isLocal, MinigunWeaponDecorator weapon, UberStrikeItemWeaponView view) : base(logic, isLocal) { this._weapon = weapon; base.FireHandler = new FullAutoFireHandler(weapon, WeaponConfigurationHelper.GetRateOfFire(view)); }
// Token: 0x06001DE4 RID: 7652 RVA: 0x00013E03 File Offset: 0x00012003 public static float GetRecoilMovement(UberStrikeItemWeaponView view) { return((view == null) ? 0f : ((float)view.RecoilMovement / 100f)); }