protected sealed override void CreateBaseComponent()
 {
     base.CreateBaseComponent();
     //应该在构造器参数中添加武器集合信息
     _fireControlComponent  = new FireControlComponentBase(this, level);
     _healthShieldComponent = new HealthShieldComponentBase(level, this);
     _shipEventComponent    = new ShipEventComponentBase();
     AddColliderFunction();
 }
 public HealthShieldComponentBase(IShipComponentBaseContainer container, HealthShieldComponentBase clone)
 {
     _hp                    = clone._hp;
     _shieldval             = clone._shieldval;
     _maxshieldVal          = clone._maxshieldVal;
     _shieldrecoverVal      = clone._shieldrecoverVal;
     _addshieldrecoverVal   = clone._addshieldrecoverVal;
     recoveryinterval       = clone.recoveryinterval;
     reducerecoveryinterval = clone.reducerecoveryinterval;
     lastTime               = DateTime.Now.Ticks;
     level                  = clone.level;
     Actor                  = container;
 }
        public override void Dispose()
        {
            _physicalBase.OnColliderEnter -= Collider;
            _aiComponent?.Dispose();
            _aiComponent = null;

            _fireControlComponent.Dispose();
            _fireControlComponent = null;

            _healthShieldComponent = null;

            _shipEventComponent = null;

            base.Dispose();
        }