private void RebuildPlanetEvent(Planet planet) { GalaxyViewController galaxyViewController = Service.Get <GalaxyViewController>(); MiscElementsManager miscElementsManager = Service.Get <UXController>().MiscElementsManager; this.UpdateEventEffectStatus(planet); AssetManager assetManager = Service.Get <AssetManager>(); if (planet.ParticleFXHandle != AssetHandle.Invalid) { assetManager.Unload(planet.ParticleFXHandle); planet.ParticleFXHandle = AssetHandle.Invalid; } planet.DestroyParticles(); int arg_52_0 = 0; int b = this.planetParticleCount - 1; this.planetParticleCount = b; this.planetParticleCount = Mathf.Max(arg_52_0, b); if (planet.Tournament == null) { if (this.planetsWithActiveEvents.Contains(planet)) { this.planetsWithActiveEvents.Remove(planet); } if (this.planetsWithEvent.Contains(planet)) { this.planetsWithEvent.Remove(planet); } galaxyViewController.HideBackgroundPlanetUI(planet); } else { AssetHandle particleFXHandle = AssetHandle.Invalid; TimedEventState tournamentState = planet.TournamentState; if (tournamentState != TimedEventState.Upcoming) { if (tournamentState == TimedEventState.Live) { if (!this.planetsWithEvent.Contains(planet)) { this.planetsWithEvent.Add(planet); } if (!this.planetsWithActiveEvents.Contains(planet)) { this.planetsWithActiveEvents.Add(planet); } assetManager.Load(ref particleFXHandle, "fx_planet_Conflict", new AssetSuccessDelegate(this.OnEventParticleFXLoaded), null, planet); } else { if (this.planetsWithEvent.Contains(planet)) { this.planetsWithEvent.Remove(planet); } if (this.planetsWithActiveEvents.Contains(planet)) { this.planetsWithActiveEvents.Remove(planet); } } } else { if (!this.planetsWithEvent.Contains(planet)) { this.planetsWithEvent.Add(planet); } assetManager.Load(ref particleFXHandle, "fx_planet_Imminent", new AssetSuccessDelegate(this.OnEventParticleFXLoaded), null, planet); } planet.ParticleFXHandle = particleFXHandle; miscElementsManager.DestroyPlanetBackgroundUI(planet); miscElementsManager.CreatePlanetBackgroundUI(planet); } miscElementsManager.UpdateFrontPlanetEventTimer(); }