public DefaultFireLogic( NewWeaponConfigItem newWeaponConfig, DefaultFireLogicConfig config, IWeaponLogicComponentsFactory componentsFactory, IAttachmentManager attachmentManager, IWeaponSoundLogic soundLogic, IWeaponEffectLogic effectLogic, IBulletFireInfoProviderDispatcher bulletFireInfoProviderDispatcher) : base(config) { _attachmentManager = attachmentManager; _accuracyLogic = componentsFactory.CreateAccuracyLogic(config.AccuracyLogic, config.Basic); _spreadLogic = componentsFactory.CreateSpreadLogic(config.SpreadLogic, config.Basic); _autoFireLogic = componentsFactory.CreateAutoFireLogic(config.FireModeLogic, config.Basic); _bulletLogic = componentsFactory.CreateBulletLogic(config.Basic); _soundLogic = soundLogic; _weaponEffectLogic = effectLogic; _bulletFireInfoProvider = bulletFireInfoProviderDispatcher; _bulletFactory = componentsFactory.CreateBulletFactory(config.Bullet, config.Basic); _kickbackLogic = componentsFactory.CreateKickbackLogic(config.KickbackLogic, config.Basic); _fireBulletModeLogic = componentsFactory.CreateFireReadyLogic(config.FireModeLogic, config.Basic); _fireBulletCounter = componentsFactory.CreateContinuesShootLogic(config.FireCounter, config.Basic); _fireActionLogic = componentsFactory.CreateFireActionLogic(newWeaponConfig, config.Basic, _soundLogic); AddLogic(_accuracyLogic); AddLogic(_spreadLogic); AddLogic(_kickbackLogic); AddLogic(_autoFireLogic); AddLogic(_fireBulletModeLogic); AddLogic(_fireActionLogic); AddLogic(_fireBulletCounter); }
public FireLogicProvider(Contexts contexts, IWeaponLogicComponentsFactory weaponLogicComponentsFactory) { _contexts = contexts; _componentsFactory = weaponLogicComponentsFactory; _showFireInMap = new ShowFireInMap(contexts.ui); }
public ThrowingFireLogic( NewWeaponConfigItem newWeaponConfig, ThrowingFireLogicConfig config, IWeaponLogicComponentsFactory componentsFactory) { _config = config; _throwingFactory = componentsFactory.CreateThrowingFactory(newWeaponConfig, config.Throwing); }
public DoubleWeaponLogic(NewWeaponConfigItem newCfg, DoubleWeaponLogicConfig config, IWeaponLogicComponentsFactory componentsFactory, IWeaponSoundLogic soundLogic, IWeaponEffectLogic effectLogic, IAttachmentManager attachmentManager, IBulletFireInfoProviderDispatcher bulletFireInfoProviderDispatcher) : base(config, componentsFactory) { _leftFireLogic = componentsFactory.CreateFireLogic(newCfg, config.LeftFireLogic, soundLogic, effectLogic, bulletFireInfoProviderDispatcher); _rightFireLogic = componentsFactory.CreateFireLogic(newCfg, config.RightFireLogic, soundLogic, effectLogic, bulletFireInfoProviderDispatcher); _attachmentManager = attachmentManager; }
public ThrowingFireAction( NewWeaponConfigItem newWeaponConfig, ThrowingFireLogicConfig config, IWeaponLogicComponentsFactory componentsFactory, IAttachmentManager attachmentManager, IWeaponSoundLogic soundLogic, IWeaponEffectLogic effectLogic) : base(config) { _attachmentManager = attachmentManager; _soundLogic = soundLogic; _weaponEffectLogic = effectLogic; _throwingLogic = componentsFactory.CreateThrowingLogic(config.Basic); _throwingFactory = componentsFactory.CreateThrowingFactory(newWeaponConfig, config.Throwing); }
public WeaponLogicFactory(WeaponConfigs configs, IWeaponLogicComponentsFactory factory) { _componentsFactory = factory; _configs = configs; }
public WeaponLogicFactory(IWeaponLogicComponentsFactory factory) { _componentsFactory = factory; }
public AbstractWeaponLogic(T1 config, IWeaponLogicComponentsFactory componentsFactory) : base(config) { }