Exemple #1
0
 public IAfterFireProcess CreateFireModeUpdater(FireModeLogicConfig config)
 {
     if (config is DefaultFireModeLogicConfig)
     {
         return(new CommonFireModeUpdater());
     }
     return(null);
 }
 public IFireBulletModeLogic CreateFireReadyLogic(FireModeLogicConfig config, CommonFireConfig common)
 {
     if (config is DefaultFireModeLogicConfig)
     {
         return(new FireBulletModeLogic(config as DefaultFireModeLogicConfig, common));
     }
     return(null);
 }
Exemple #3
0
 public IFireCheck CreateFireCheckLogic(FireModeLogicConfig config)
 {
     if (config is DefaultFireModeLogicConfig)
     {
         return(new FireBulletModeLogic());
     }
     return(null);
 }
Exemple #4
0
        public IAfterFireProcess CreateAutoFireProcessor(FireModeLogicConfig config)
        {
            var modeConfig = config as DefaultFireModeLogicConfig;

            if (null != modeConfig)
            {
                foreach (var mode in modeConfig.AvaliableModes)
                {
                    if (mode == EFireMode.Burst)
                    {
                        return(new BurstFireModeUpdater());
                    }
                }
            }
            return(null);
        }
        public IAutoFireLogic CreateAutoFireLogic(FireModeLogicConfig config, CommonFireConfig common)
        {
            var modeConfig = config as DefaultFireModeLogicConfig;

            if (null != modeConfig)
            {
                foreach (var mode in modeConfig.AvaiableModes)
                {
                    if (mode == EFireMode.Burst)
                    {
                        return(new AutoFireLogic(modeConfig.BurstCount, modeConfig.BurstAttackInnerInterval, modeConfig.BurstAttackInterval));
                    }
                }
            }
            return(new DummyAutoFireLogic());
        }