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); }
public IFireCheck CreateFireCheckLogic(FireModeLogicConfig config) { if (config is DefaultFireModeLogicConfig) { return(new FireBulletModeLogic()); } return(null); }
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()); }