public void Destroy(IHexMesh mesh) { allMeshes.Remove(mesh); var concreteMesh = mesh as HexMesh; if (concreteMesh != null) { HexMeshPool.Despawn(concreteMesh); } }
Task DespawnCoroutine(int count) { int length = spawnedObject.Count; for (int i = 0; i < count; i++) { int index = length - 1 - i; pool.Despawn(spawnedObject[index]); spawnedObject.RemoveAt(index); } return(Task.CompletedTask); }
public void OnSpawned(int exponent, Vector3 position, IMemoryPool pool) { transform.position = position; _pool = pool; ViewModel.SetExponent(exponent); _particleSystem.Stop(); _particleSystem.Play(); _serialDisposable.Disposable = Observable.Timer(TimeSpan.FromSeconds(_particleSystemMain.duration)) .Subscribe(_ => _pool.Despawn(this)); }
public void OnSpawned(AudioClip clip, AudioMixerGroup mixerGroup, float pitch, float delay, IMemoryPool pool) { _pool = pool; _audioSource.clip = clip; _audioSource.pitch = pitch; _audioSource.outputAudioMixerGroup = mixerGroup; _serialDisposable.Disposable = Observable.Timer(TimeSpan.FromSeconds(delay)).Subscribe(_ => { _audioSource.Play(); _serialDisposable.Disposable = Observable.Timer(TimeSpan.FromSeconds(clip.length + 0.1f)) .Subscribe(__ => _pool.Despawn(this)); }); }
public void Clear() { if (cells == null || cells.Count == 0) { return; } CellSignals.MapBeingClearedSignal.OnNext(new UniRx.Unit()); cells.Clear(); foreach (var chunk in chunks) { MapChunkPool.Despawn(chunk); } chunks = null; castChunks = null; if (RiverSurfaceMesh != null) { HexMeshFactory.Destroy(RiverSurfaceMesh); } if (RiverBankMesh != null) { HexMeshFactory.Destroy(RiverBankMesh); } if (RiverDuckMesh != null) { HexMeshFactory.Destroy(RiverDuckMesh); } if (FarmMesh != null) { HexMeshFactory.Destroy(FarmMesh); } RiverSurfaceMesh = null; RiverBankMesh = null; RiverDuckMesh = null; FarmMesh = null; }
public virtual void Dispose() { _pool.Despawn(this); }
public void Dispose() { pool.Despawn(this); }