private void AddInCollection(CollectionAddEvent <Info> addEvent) { Pools.IPooled astView = m_Pool.GetObject(); astView.Bind(addEvent.Value); var pos = addEvent.Value.Positioning; pos.Position .Where(CheckExitFromZone) .Select(_ => addEvent.Value) .Subscribe(z => m_Bullets.Remove(z)); }
private void AddInCollection(CollectionAddEvent <Info> addEvent) { Pools.IPooled astView = m_Pool.GetObject(); astView.Bind(addEvent.Value); var pos = addEvent.Value.Positioning; pos.Position .Where(CheckExitFromZone) .Select(_ => addEvent.Value) .Subscribe(z => m_Enemies.Remove(z)); pos.Position .Where(_ => !pos.FarFromBorder) .Select(_ => pos) .Subscribe(CheckFarFromUpperBorder); pos.Rotation.Value = Quaternion.Euler(GetRandomAngle(), GetRandomAngle(), GetRandomAngle()); }