void LateUpdate() { #if UNITY_EDITOR if (EditorApplication.isPlaying == false) { return; } #endif if (ParticleAsset == null || ParticleAsset.IsPlaying == false) { return; } if (drawCall == null) { return; } ParticleAsset.SetRenderQueue(drawCall.renderQueue); PlaybackTime = ParticleAsset.PlaybackTime; if (play_type == eUIParticlePlay.RealTimeSinceStartup) { ParticleAsset.UpdatePlay(Time.realtimeSinceStartup); } }
private WorldParticleDetails SetupParticleSystem() { var particleDetails = new WorldParticleDetails { maxParticles = MaxParticles }; var particleRef = new AssetReference(ParticleAsset.ToString()); if (particleRef.RuntimeKeyIsValid()) { var loadRequest = particleRef.InstantiateAsync(); Entity requester = entityManager.CreateEntity(); entityManager.AddComponentData(requester, new AsyncRequestWorld { CentrePoint = CentrePoint, GridSize = GridSize, MaxParticles = MaxParticles, worldParticleDetails = particleDetails, particleGO = loadRequest }); } return(particleDetails); }
void OnDisable() { if (ParticleAsset != null) { ParticleAsset.Stop(); } }
public void Play() { gameObject.SetActive(true); if (IsInit == true) { if (ParticleAsset != null) { ParticleAsset.Stop(); if (play_type == eUIParticlePlay.DeltaTime) { ParticleAsset.Play(false, 0); } else { if (ContinueTime == false) { ParticleAsset.Delay = Time.realtimeSinceStartup; } ParticleAsset.Play(true, 0); } ParticleAsset.SetLightingMax(1f); if (IsAutoPlay == true && ContinueTime == true) { ParticleAsset.PlaybackTime = PlaybackTime; } else { PlaybackTime = 0f; } } return; } IsInit = true; if (string.IsNullOrEmpty(particle_name)) { return; } PlaybackTime = 0f; ParticleAsset = GameObject.Instantiate <HFX_ParticleSystem>(AssetManager.GetParticleSystem(particle_name)); if (ParticleAsset != null) { ParticleAsset.transform.SetParent(transform, false); ParticleAsset.gameObject.SetActive(true); if (ContinueTime == false && play_type == eUIParticlePlay.RealTimeSinceStartup) { ParticleAsset.Delay = Time.realtimeSinceStartup; } ParticleAsset.Play(play_type == eUIParticlePlay.RealTimeSinceStartup, 0); ParticleAsset.SetLightingMax(1f); } else { Debug.LogWarningFormat("particle not found : {0}", particle_name); } }
override protected void OnDisable() { base.OnDisable(); if (ParticleAsset != null) { ParticleAsset.Stop(); } }
public ParticleAssetControl(ParticleAsset asset) { InitializeComponent(); Handler = new ParticleAssetControlHandler(asset, this); Data.DataContext = asset; }
public void Stop() { if (IsInit == true) { if (ParticleAsset != null) { ParticleAsset.Stop(); } return; } }
public void Initialize(ParticleAsset asset) { ParticleName.Text = asset.AssetName; bool isPathValid = asset.EditorPath.IsPathValid(); FileName.Text = isPathValid ? Path.GetFileName(asset.EditorPath) : asset.EditorPath; if (isPathValid) { byte[] bytes = File.ReadAllBytes(asset.EditorPath); PreviewTextBox.Text = Regex.Replace(BitConverter.ToString(bytes).Replace("-", string.Empty), ".{" + (bytes.Length / 2) + "}", "$0\n").TrimEnd('\n'); } }
void LateUpdate() { if (ParticleAsset == null || ParticleAsset.IsPlaying == false) { return; } UIPanel panel = CoreUtility.GetParentComponent <UIPanel>(transform); int renderQueue = panel.startingRenderQueue; ParticleAsset.SetRenderQueue(renderQueue + depth); playback_time = ParticleAsset.PlaybackTime; if (play_type == eUIParticlePlay.RealTimeSinceStartup) { ParticleAsset.UpdatePlay(Time.realtimeSinceStartup); } }