Пример #1
0
        public void DoDamage(float damage, Common.ObjectBuilders.Definitions.MyDamageType damageType, bool sync, MyHitInfo?hitInfo, long attackerId)
        {
            if (Sync.IsServer)
            {
                MyDamageInformation info = new MyDamageInformation(false, damage, damageType, attackerId);
                if (UseDamageSystem)
                {
                    MyDamageSystem.Static.RaiseBeforeDamageApplied(this, ref info);
                }

                m_hitPoints -= info.Amount;

                if (UseDamageSystem)
                {
                    MyDamageSystem.Static.RaiseAfterDamageApplied(this, info);
                }

                if (m_hitPoints <= 0)
                {
                    MyFracturedPiecesManager.Static.RemoveFracturePiece(this, 2);

                    if (UseDamageSystem)
                    {
                        MyDamageSystem.Static.RaiseDestroyed(this, info);
                    }
                }
            }
        }
Пример #2
0
 public void DoDamage(float damage, Common.ObjectBuilders.Definitions.MyDamageType damageType, bool sync)
 {
     if (Sync.IsServer)
     {
         m_hitPoints -= damage;
         if (m_hitPoints <= 0)
         {
             MyFracturedPiecesManager.Static.RemoveFracturePiece(this, 2);
         }
     }
 }