示例#1
0
 private void Kaboom()
 {
     if (!BuildOption.Instance.Props.useUskMuzzleEff || !base.ApplyUsk)
     {
         if (explosion != null)
         {
             Object.Instantiate((Object)explosion, base.transform.position, Quaternion.Euler(0f, 0f, 0f));
         }
     }
     else if (GlobalVars.Instance.explosionUsk != null)
     {
         Object.Instantiate((Object)GlobalVars.Instance.explosionUsk, base.transform.position, Quaternion.Euler(0f, 0f, 0f));
     }
     if (smoke != null)
     {
         GameObject gameObject = Object.Instantiate((Object)smoke, colPoint, Quaternion.Euler(0f, 0f, 0f)) as GameObject;
         Smokee     component  = gameObject.GetComponent <Smokee>();
         if (component != null)
         {
             component.Mine();
         }
     }
     P2PManager.Instance.SendPEER_PROJECTILE_KABOOM(MyInfoManager.Instance.Seq, base.Index);
     if (null != projectileAlert)
     {
         projectileAlert.RemoveMine(base.Index);
     }
     CheckMyself();
     CheckBoxmen();
     CheckMonster();
     CheckDestructibles();
     Object.Destroy(base.transform.gameObject);
 }
 private void Update()
 {
     if (BrickManager.Instance.IsLoaded)
     {
         NoCheat.Instance.KillCheater(NoCheat.WATCH_DOG.SPECIAL_AMMO, base.CurAmmo);
         ammoTime += Time.deltaTime;
         if (ammoTime > 1f)
         {
             ammoTime = 0f;
             if (!MyInfoManager.Instance.IsSpectator)
             {
                 P2PManager.Instance.SendPEER_ENABLE_HANDBOMB(MyInfoManager.Instance.Seq, base.CurAmmo > 0);
             }
         }
         VerifyCamera();
         VerifyLocalController();
         UpdateCrossEffect();
         if (CanThrow())
         {
             if (!(bool)detonating && custom_inputs.Instance.GetButtonDown("K_FIRE1"))
             {
                 RemoveSafetyClip();
             }
             if ((bool)detonating && custom_inputs.Instance.GetButtonUp("K_FIRE1"))
             {
                 localCtrl.DoThrowAnimation(throwAnimation);
                 P2PManager.Instance.SendPEER_THROW();
             }
         }
         if ((bool)detonating)
         {
             detonatorTime += Time.deltaTime;
             if (detonatorTime > explosionTime)
             {
                 UseAmmo();
                 if (!BuildOption.Instance.Props.useUskMuzzleEff || !base.ApplyUsk)
                 {
                     if (explosion != null)
                     {
                         Object.Instantiate((Object)explosion, base.transform.position, Quaternion.Euler(0f, 0f, 0f));
                     }
                 }
                 else if (GlobalVars.Instance.explosionUsk != null)
                 {
                     Object.Instantiate((Object)GlobalVars.Instance.explosionUsk, base.transform.position, Quaternion.Euler(0f, 0f, 0f));
                 }
                 if (selfExpolsion != null)
                 {
                     GameObject gameObject = Object.Instantiate((Object)selfExpolsion, base.transform.position, Quaternion.Euler(0f, 0f, 0f)) as GameObject;
                     Smokee     component  = gameObject.GetComponent <Smokee>();
                     if (component != null)
                     {
                         component.Mine();
                     }
                 }
                 P2PManager.Instance.SendPEER_PROJECTILE_KABOOM(MyInfoManager.Instance.Seq, -1);
                 if (localCtrl.IsUserDamaged())
                 {
                     localCtrl.GetHit(MyInfoManager.Instance.Seq, 1000, 1f, -10, -1, autoHealPossible: true, checkZombie: false);
                 }
                 else
                 {
                     localCtrl.GetHit(MyInfoManager.Instance.Seq, 1000, 1f, (int)weaponBy, -1, autoHealPossible: true, checkZombie: false);
                 }
                 CheckBoxmen();
                 CheckMonster();
                 CheckDestructibles();
                 Restart();
             }
         }
     }
 }