コード例 #1
0
        public void OnExplode(Explode.Data explodeData)
        {
            BuildingExplosion componentInParent = base.transform.GetComponentInParent <BuildingExplosion>();

            if (componentInParent && !componentInParent.Exploding)
            {
                Scene.ActiveMB.StartCoroutine(componentInParent.OnExplode(explodeData));
            }
        }
コード例 #2
0
 public void OnExplode(Explode.Data explodeData)
 {
     if (this._owner)
     {
         BuildingExplosion component = this._owner.GetComponent <BuildingExplosion>();
         if (component)
         {
             component.OnExplodeFoundationTier(explodeData, this);
         }
     }
 }
コード例 #3
0
        public void OnExplodeFoundationTier(Explode.Data explodeData, FoundationChunkTier tier)
        {
            FoundationHealth component = base.GetComponent <FoundationHealth>();

            if (component)
            {
                component.LocalizedTierHit(new LocalizedHitData
                {
                    _damage       = explodeData.explode.damage * this.GetDamageRatio(explodeData.distance, explodeData.explode.radius),
                    _position     = explodeData.explode.transform.position,
                    _distortRatio = 2.5f
                }, tier);
            }
        }
コード例 #4
0
        public IEnumerator OnExplode(Explode.Data explodeData)
        {
            if (!this._exploding && !PlayerPreferences.NoDestruction)
            {
                this._exploding = true;
                if (!BoltNetwork.isClient)
                {
                    BuildingHealth component = base.GetComponent <BuildingHealth>();
                    if (component)
                    {
                        component.LocalizedHit(new LocalizedHitData
                        {
                            _damage       = explodeData.explode.damage * this.GetDamageRatio(explodeData.distance, explodeData.explode.radius),
                            _position     = explodeData.explode.transform.position,
                            _distortRatio = 1.35f
                        });
                    }
                }
                else
                {
                    FoundationHealth component2 = base.GetComponent <FoundationHealth>();
                    if (component2)
                    {
                        component2.Distort(new LocalizedHitData
                        {
                            _damage       = explodeData.explode.damage * this.GetDamageRatio(explodeData.distance, explodeData.explode.radius),
                            _position     = explodeData.explode.transform.position,
                            _distortRatio = 2.5f
                        });
                    }
                }
                yield return(null);

                this._exploding = false;
            }
            yield break;
        }
コード例 #5
0
 public IEnumerator OnExplode(Explode.Data explodeData)
 {
     BuildingExplosion.< OnExplode > c__Iterator14A <OnExplode> c__Iterator14A = new BuildingExplosion.< OnExplode > c__Iterator14A();