protected override void OnDisable() { this.postEffect.Destroy(); this.postEffect = null; if (instance == this) { instance = null; } }
public static void Refresh() { var character = ClientCurrentCharacterHelper.Character; var intensity = Math.Max( character.SharedGetStatusEffectIntensity <StatusEffectDrunk>(), character.SharedGetStatusEffectIntensity <StatusEffectNausea>()); intensity = MathHelper.Clamp(intensity, min: 0, max: 1); if (targetIntensity == intensity) { return; } targetIntensity = intensity; if (targetIntensity > 0 && instance is null) { // ensure instance exist instance = Client.Scene.CreateSceneObject("Drunk visualizer") .AddComponent <ClientComponentStatusEffectNauseaManager>(); } }