Beispiel #1
0
 // 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!");
    }
Beispiel #5
0
    // 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;
 }
Beispiel #9
0
        // 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);
            }
        }
Beispiel #10
0
 // 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));
 }
Beispiel #23
0
        // 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;
 }
Beispiel #26
0
    // 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));
     }
 }
Beispiel #29
0
 // 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));
 }